<!-- | |
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> |