| <!-- | |
| Licensed to the Apache Software Foundation (ASF) under one | |
| or more contributor license agreements. See the NOTICE file | |
| distributed with this work for additional information | |
| regarding copyright ownership. The ASF licenses this file | |
| to you under the Apache License, Version 2.0 (the | |
| "License"); you may not use this file except in compliance | |
| with the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, | |
| software distributed under the License is distributed on an | |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| KIND, either express or implied. See the License for the | |
| specific language governing permissions and limitations | |
| under the License. | |
| --> | |
| <securitygroups> | |
| <!-- | |
| STEPS/TEST CASES COVERED: | |
| 2. Create a User and its Account | |
| 2. Register User Keys | |
| 3. Deploy a VM in the account | |
| 4. Acquire an IP Address | |
| 5. Release the IP Address | |
| 6. Reboot the VM | |
| 7. Stop the VM | |
| 8. Start the VM | |
| 9. List Routers | |
| 10. Stop Router | |
| 11. List Router | |
| 12. Start Router | |
| 13. Destroy VM | |
| 14. Verify that vm is destroyed | |
| 15. Recover virtual machine | |
| 16. Verify that vm is destroyed | |
| 17. Delete Account | |
| --> | |
| <command> | |
| <name>createUser</name> | |
| <testcase>Create User and Account</testcase> | |
| <parameters> | |
| <item random="true"> | |
| <name>username</name> | |
| </item> | |
| <item> | |
| <name>password</name> | |
| <value>apiuser</value> | |
| </item> | |
| <item> | |
| <name>firstname</name> | |
| <value>apiuser</value> | |
| </item> | |
| <item> | |
| <name>lastname</name> | |
| <value>apiuser</value> | |
| </item> | |
| <item> | |
| <name>email</name> | |
| <value>apiuser@gmail.com</value> | |
| </item> | |
| <item> | |
| <name>accounttype</name> | |
| <value>0</value> | |
| </item> | |
| </parameters> | |
| <returnvalue> | |
| <item setparam="true"> | |
| <name>id</name> | |
| <param>userid</param> | |
| </item> | |
| <item setparam="true"> | |
| <name>account</name> | |
| <param>accountname</param> | |
| </item> | |
| </returnvalue> | |
| </command> | |
| <command> | |
| <name>registerUserKeys</name> | |
| <testcase>Registering the User</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>id</name> | |
| <param>userid</param> | |
| </item> | |
| </parameters> | |
| <returnvalue> | |
| <item setparam="true"> | |
| <name>apikey</name> | |
| <param>apikey</param> | |
| </item> | |
| <item setparam="true"> | |
| <name>secretkey</name> | |
| <param>secretkey</param> | |
| </item> | |
| </returnvalue> | |
| </command> | |
| <command> | |
| <name>createNetworkGroup</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Create a Network Group</testcase> | |
| <parameters> | |
| <item setparam="true" random="true"> | |
| <name>name</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| </parameters> | |
| </command> | |
| <!-- FIRST INGRESS RULE --> | |
| <command> | |
| <name>authorizeNetworkGroupIngress</name> | |
| <testcase>Add the First Ingress Rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>networkgroupname</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item> | |
| <name>cidrlist</name> | |
| <value>192.168.131.171/32</value> <!-- CHANGE IF REQUIRED --> | |
| </item> | |
| <item> | |
| <name>endport</name> | |
| <value>22</value> | |
| </item> | |
| <item> | |
| <name>startport</name> | |
| <value>22</value> | |
| </item> | |
| <item> | |
| <name>protocol</name> | |
| <value>tcp</value> | |
| </item> | |
| <item getparam="true"> | |
| <name>account</name> | |
| <param>accountname</param> | |
| </item> | |
| <item> | |
| <name>domainid</name> | |
| <value>1</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>deployVirtualMachine</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Deploy a VM with the Network Group Assigned</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>zoneid</name> | |
| <param>globalzoneid</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>serviceofferingid</name> | |
| <param>flatnetworkserviceofferingid</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>networkgrouplist</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>templateid</name> | |
| <param>globaltemplateid</param> | |
| </item> | |
| </parameters> | |
| <returnvalue> | |
| <item setparam="true"> | |
| <name>id</name> | |
| <param>vmid</param> | |
| </item> | |
| <item setparam="true"> | |
| <name>ipaddress</name> | |
| <param>vmip</param> | |
| </item> | |
| </returnvalue> | |
| </command> | |
| <command> | |
| <name>sleep.sh</name> | |
| <script>true</script> | |
| <testcase>Sleep for 2 min</testcase> | |
| <parameters> | |
| <item> | |
| <name>s</name> | |
| <value>120</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>ssh.sh</name> | |
| <script>true</script> | |
| <testcase>Ssh access test for the VM</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>h</name> | |
| <param>vmip</param> | |
| </item> | |
| <item> | |
| <name>p</name> | |
| <value>password</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>sleep.sh</name> | |
| <script>true</script> | |
| <testcase>Sleep for 1 min</testcase> | |
| <parameters> | |
| <item> | |
| <name>s</name> | |
| <value>60</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>stopVirtualMachine</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Stopping VM</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>id</name> | |
| <param>vmid</param> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>startVirtualMachine</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Starting VM</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>id</name> | |
| <param>vmid</param> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>rebootVirtualMachine</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Rebooting VM</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>id</name> | |
| <param>vmid</param> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>revokeNetworkGroupIngress</name> | |
| <testcase>Revoke The First Ingress Rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>networkgroupname</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item> | |
| <name>cidrlist</name> | |
| <value>192.168.131.171/32</value> <!-- CHANGE IF REQUIRED --> | |
| </item> | |
| <item> | |
| <name>endport</name> | |
| <value>22</value> | |
| </item> | |
| <item> | |
| <name>startport</name> | |
| <value>22</value> | |
| </item> | |
| <item> | |
| <name>protocol</name> | |
| <value>tcp</value> | |
| </item> | |
| <item getparam="true"> | |
| <name>account</name> | |
| <param>accountname</param> | |
| </item> | |
| <item> | |
| <name>domainid</name> | |
| <value>1</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>ssh.sh</name> | |
| <script>true</script> | |
| <error>true</error> | |
| <testcase>Ssh access test for the vm - should fail as ingress rule is revoked</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>h</name> | |
| <param>vmip</param> | |
| </item> | |
| <item> | |
| <name>p</name> | |
| <value>password</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <!-- SECOND INGRESS RULE --> | |
| <command> | |
| <name>authorizeNetworkGroupIngress</name> | |
| <testcase>Add the Second Ingress Rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>networkgroupname</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item> | |
| <name>cidrlist</name> | |
| <value>192.168.131.172/32</value> <!-- CHANGE IF REQUIRED --> | |
| </item> | |
| <item> | |
| <name>endport</name> | |
| <value>22</value> | |
| </item> | |
| <item> | |
| <name>startport</name> | |
| <value>22</value> | |
| </item> | |
| <item> | |
| <name>protocol</name> | |
| <value>tcp</value> | |
| </item> | |
| <item getparam="true"> | |
| <name>account</name> | |
| <param>accountname</param> | |
| </item> | |
| <item> | |
| <name>domainid</name> | |
| <value>1</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>deployVirtualMachine</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Deploy a VM with the Network Group Assigned</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>zoneid</name> | |
| <param>globalzoneid</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>serviceofferingid</name> | |
| <param>flatnetworkserviceofferingid</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>networkgrouplist</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>templateid</name> | |
| <param>globaltemplateid</param> | |
| </item> | |
| </parameters> | |
| <returnvalue> | |
| <item setparam="true"> | |
| <name>id</name> | |
| <param>vmid</param> | |
| </item> | |
| <item setparam="true"> | |
| <name>ipaddress</name> | |
| <param>vmip</param> | |
| </item> | |
| </returnvalue> | |
| </command> | |
| <command> | |
| <name>sleep.sh</name> | |
| <script>true</script> | |
| <testcase>Sleep for 2 min</testcase> | |
| <parameters> | |
| <item> | |
| <name>s</name> | |
| <value>120</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>ssh.sh</name> | |
| <script>true</script> | |
| <error>true</error> | |
| <testcase>Ssh test for the vm - should fail as no access provided by ingress rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>h</name> | |
| <param>vmip</param> | |
| </item> | |
| <item> | |
| <name>p</name> | |
| <value>password</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>revokeNetworkGroupIngress</name> | |
| <testcase>Revoke The Second Ingress Rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>networkgroupname</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item> | |
| <name>cidrlist</name> | |
| <value>192.168.131.172/32</value> <!-- CHANGE IF REQUIRED --> | |
| </item> | |
| <item> | |
| <name>endport</name> | |
| <value>22</value> | |
| </item> | |
| <item> | |
| <name>startport</name> | |
| <value>22</value> | |
| </item> | |
| <item> | |
| <name>protocol</name> | |
| <value>tcp</value> | |
| </item> | |
| <item getparam="true"> | |
| <name>account</name> | |
| <param>accountname</param> | |
| </item> | |
| <item> | |
| <name>domainid</name> | |
| <value>1</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <!-- THIRD INGRESS RULE --> | |
| <command> | |
| <name>authorizeNetworkGroupIngress</name> | |
| <testcase>Add the Third Ingress Rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>networkgroupname</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item> | |
| <name>cidrlist</name> | |
| <value>192.168.131.0/24</value> <!-- CHANGE IF REQUIRED --> | |
| </item> | |
| <item> | |
| <name>endport</name> | |
| <value>80</value> | |
| </item> | |
| <item> | |
| <name>startport</name> | |
| <value>80</value> | |
| </item> | |
| <item> | |
| <name>protocol</name> | |
| <value>tcp</value> | |
| </item> | |
| <item getparam="true"> | |
| <name>account</name> | |
| <param>accountname</param> | |
| </item> | |
| <item> | |
| <name>domainid</name> | |
| <value>1</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>deployVirtualMachine</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Deploy a VM with the Network Group Assigned</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>zoneid</name> | |
| <param>globalzoneid</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>serviceofferingid</name> | |
| <param>flatnetworkserviceofferingid</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>networkgrouplist</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>templateid</name> | |
| <param>globaltemplateid</param> | |
| </item> | |
| </parameters> | |
| <returnvalue> | |
| <item setparam="true"> | |
| <name>id</name> | |
| <param>vmid</param> | |
| </item> | |
| <item setparam="true"> | |
| <name>ipaddress</name> | |
| <param>vmip</param> | |
| </item> | |
| </returnvalue> | |
| </command> | |
| <command> | |
| <name>sleep.sh</name> | |
| <script>true</script> | |
| <testcase>Sleep for 2 min</testcase> | |
| <parameters> | |
| <item> | |
| <name>s</name> | |
| <value>120</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>ssh.sh</name> | |
| <script>true</script> | |
| <error>true</error> | |
| <testcase>Ssh test for the vm - should fail as no access provided by ingress rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>h</name> | |
| <param>vmip</param> | |
| </item> | |
| <item> | |
| <name>p</name> | |
| <value>password</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>revokeNetworkGroupIngress</name> | |
| <testcase>Revoke The Third Ingress Rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>networkgroupname</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item> | |
| <name>cidrlist</name> | |
| <value>192.168.131.0/24</value> <!-- CHANGE IF REQUIRED --> | |
| </item> | |
| <item> | |
| <name>endport</name> | |
| <value>80</value> | |
| </item> | |
| <item> | |
| <name>startport</name> | |
| <value>80</value> | |
| </item> | |
| <item> | |
| <name>protocol</name> | |
| <value>tcp</value> | |
| </item> | |
| <item getparam="true"> | |
| <name>account</name> | |
| <param>accountname</param> | |
| </item> | |
| <item> | |
| <name>domainid</name> | |
| <value>1</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <!-- FOURTH INGRESS RULE --> | |
| <command> | |
| <name>authorizeNetworkGroupIngress</name> | |
| <testcase>Add the Fourth Ingress Rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>networkgroupname</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item> | |
| <name>cidrlist</name> | |
| <value>192.168.130.0/24</value> <!-- CHANGE IF REQUIRED --> | |
| </item> | |
| <item> | |
| <name>endport</name> | |
| <value>80</value> | |
| </item> | |
| <item> | |
| <name>startport</name> | |
| <value>80</value> | |
| </item> | |
| <item> | |
| <name>protocol</name> | |
| <value>tcp</value> | |
| </item> | |
| <item getparam="true"> | |
| <name>account</name> | |
| <param>accountname</param> | |
| </item> | |
| <item> | |
| <name>domainid</name> | |
| <value>1</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>deployVirtualMachine</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Deploy a VM with the Network Group Assigned</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>zoneid</name> | |
| <param>globalzoneid</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>serviceofferingid</name> | |
| <param>flatnetworkserviceofferingid</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>networkgrouplist</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item getparam="true"> | |
| <name>templateid</name> | |
| <param>globaltemplateid</param> | |
| </item> | |
| </parameters> | |
| <returnvalue> | |
| <item setparam="true"> | |
| <name>id</name> | |
| <param>vmid</param> | |
| </item> | |
| <item setparam="true"> | |
| <name>ipaddress</name> | |
| <param>vmip</param> | |
| </item> | |
| </returnvalue> | |
| </command> | |
| <command> | |
| <name>sleep.sh</name> | |
| <script>true</script> | |
| <testcase>Sleep for 2 min</testcase> | |
| <parameters> | |
| <item> | |
| <name>s</name> | |
| <value>120</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>ssh.sh</name> | |
| <script>true</script> | |
| <error>true</error> | |
| <testcase>Ssh test for the vm - should fail as no access provided by ingress rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>h</name> | |
| <param>vmip</param> | |
| </item> | |
| <item> | |
| <name>p</name> | |
| <value>password</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>revokeNetworkGroupIngress</name> | |
| <testcase>Revoke The Fourth Ingress Rule</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>networkgroupname</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| <item> | |
| <name>cidrlist</name> | |
| <value>192.168.130.0/24</value> <!-- CHANGE IF REQUIRED --> | |
| </item> | |
| <item> | |
| <name>endport</name> | |
| <value>80</value> | |
| </item> | |
| <item> | |
| <name>startport</name> | |
| <value>80</value> | |
| </item> | |
| <item> | |
| <name>protocol</name> | |
| <value>tcp</value> | |
| </item> | |
| <item getparam="true"> | |
| <name>account</name> | |
| <param>accountname</param> | |
| </item> | |
| <item> | |
| <name>domainid</name> | |
| <value>1</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <!-- Clean Up --> | |
| <command> | |
| <name>deleteNetworkGroup</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Delete First network group</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>name</name> | |
| <param>networkgrp-1</param> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>destroyVirtualMachine</name> | |
| <usercommand>true</usercommand> | |
| <testcase>Destroying virtual machine</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>id</name> | |
| <param>vmid</param> | |
| </item> | |
| </parameters> | |
| </command> | |
| <command> | |
| <name>sleep.sh</name> | |
| <script>true</script> | |
| <testcase>Sleep for 2 min</testcase> | |
| <parameters> | |
| <item> | |
| <name>s</name> | |
| <value>120</value> | |
| </item> | |
| </parameters> | |
| </command> | |
| <!-- Delete user as a part of cleanup --> | |
| <command> | |
| <name>deleteUser</name> | |
| <testcase>Deleting the user</testcase> | |
| <parameters> | |
| <item getparam="true"> | |
| <name>id</name> | |
| <param>userid</param> | |
| </item> | |
| </parameters> | |
| </command> | |
| </securitygroups> |