You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

 

vmware datacenter cloudstack zone mapping model

 

 

 

DVS switch

 

 

 

Hypervisor:  ESXi 4.1        ESXi 5.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Test case Id

Test case description

Steps

Expected Result

 

 

 

 

 

 

 

 

 

Zone  configuration - Advance

 

 

1

Vcenter - DC1 -  cluster1 - Host1
                                           Host2

MS - advance zone 1 DC 1 cluster

zone creation  successful

2

Vcenter - DC1 -  cluster1 - Host1
                          cluster2 - Host2
                          cluster3 - Host3
 clusters in same subnet

MS - advance zone 1 DC multiple clusters in same subnet

zone creation  successful

3

Vcenter - DC1 -  cluster1 - Host1
                          cluster2 - Host2
                          cluster3 - Host3
 clusters in different subnet                                       

MS - advance zone 1 DC multiple clusters in different subnet

zone creation  successful

4

Vcenter - DC1 -  cluster1 - Host1
                          cluster2 - Host2
               DC2 -  cluster3 - Host3
 clusters in same subnet               

MS - advance zone multiple  DCs  multiple clusters in same subnet

zone creation  successful

5

Vcenter - DC1 -  cluster1 - Host1
                          cluster2 - Host2
               DC2 -  cluster3 - Host3
 clusters in different subnet              

MS - advance zone multiple  DCs  multiple clusters in different subnet

zone creation  successful

6

Vcenter1 - DC1 -  cluster1 - Host1
                            cluster2 - Host2
                 DC2 -  cluster3 - Host3
Vcenter2 - DC3 -  cluster1 - Host1
                            cluster2 - Host2
                 DC4 -  cluster3 - Host3
 clusters in same subnet              

MS - advance zone multiple Vcenter multiple  DCs  multiple clusters in
same subnet

zone creation  successful

7

Vcenter1 - DC1 -  cluster1 - Host1
                            cluster2 - Host2
                 DC2 -  cluster3 - Host3
Vcenter2 - DC3 -  cluster1 - Host1
                            cluster2 - Host2
                 DC4 -  cluster3 - Host3
 clusters in different subnet            

MS - advance zone multiple Vcenter multiple  DCs  multiple clusters in
different subnet

zone creation  successful

 

 

 

 

 

Zone DC

 

 

 

AddVMwareDC

1. Vcenter create DC cluster hosts
2. MS  Add the Vcenter DC to zone

 

 

 

 

 

 

RemoveVMware DC

MS Remove Vcenter DC from zone

 

 

 

 

 

 

ListVMwareDC

MS  List Vmware DCs in zone

 

 

 

 

 

 

AddVMwarecluster

MS  Add Vmware cluster to Vcenter DC in zone

 

 

 

 

 

 

RemoveVMwarecluster

MS  Remove Vmware cluster from Vcenter DC in zone

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Network

M

 

 

isolated VPC network

1. In advance zone create isolated VPC network

VPC network creation successful

 

isolated nonVPC network

1. In advance zone create non VPC network

non VPC network creation successful

 

 

 

 

 

network states

 

 

 

Extend IP range of the network

1. Advance zone  Create  Shared NW1  scope zone  .

Vm deployment should succeed.

 

 

2. Deploy few Vms in this network.

Vm should be assigned address from the extended range.

 

 

3. Consume all ips in range

All VMs  in NW1 unable to access each other

 

 

4. Extend Ip range.

All VMs in NW1 able to reach DHCP server, gateway

 

 

5. Deploy Vm in this network.

 

 

Restart network

1. Advance zone  Create  Shared NW1  scope zone  .

Network restart should succeed.

 

 

2. Deploy few Vms in this network.

After network restart:

 

 

3. Restart Network.

All VMs  in NW1 unable to access each other

 

 

 

All VMs in NW1 able to reach DHCP server, gateway

 

 

 

We should be able to deploy new Vms in this network.

 

Restart network with cleanup option

1. Advance zone  Create  Shared NW1  scope zone  .

Network restart should succeed. After network restart: All VMs 
 in NW1 unable to access each other. All VMs in NW1 able to
reach DHCP server, gateway We should be able to deploy new
 Vms in this network.As part of network restart m Router is
stopped and started. Following 3 entries for the router should
get deleted and re-created in the host:ovs-ofctl dump-flows xenbr01. cookie=0x0, duration=3503.373s, table=0, n_packets=8, n_bytes=2748, priority=100,udp,dl_vlan=998,nw_dst=255.255.255.255,
tp_dst=67 actions=strip_vlan,output:182. cookie=0x0,
 duration=3503.38s, table=0, n_packets=20, n_bytes=1148, priority=200,arp,dl_vlan=998,nw_dst=10.223.161.110 actions=strip_vlan,output:183.cookie=0x0, duration=3503.376s,
table=0, n_packets=37, n_bytes=3176, priority=150, dl_vlan=998, dl_dst=06:e0:d8:00:00:1c actions=strip_vlan,output:18

 

 

2. Deploy few Vms in this network.

 

 

 

4. Restart Network with cleanup option.

 

 

Delete network with vms in "Running" state

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.

Network Deletion should fail.

 

 

2. Deploy few Vms in this network

 

 

 

3. Delete Network.

 

 

Delete network when there are no Vms associated with it.

1. Advance zone  Create  Shared NW1  scope zone .

Network Deletion should succeed.

 

 

2. Deploy few Vms in this network.

 

 

 

3. Destroy all the Vms.

 

 

 

4. Delete Network after all the Vms are expunged.

 

 

Stop all Vms in network and wait for network shutdown

1. Advance zone  Create  Shared NW1  scope zone .
2. Deploy few Vms in this network.
3. Stop all the Vms.
4. Wait for network scavenger thread to run.

Network should not be picked up for Shutting down.

 

delete one of the IP range while not in use

In  network with multiple IP ranges & no VMs in network, delete one of the IP range

delete one of the IP range while not in use  succeed

 

delete one of the IP range while in use in

In   network with multiple IP ranges & VMs in IP range of network, delete one of the IP range with VMs.

delete one of the IP range while in use by VMs  fail

 

 

 

 

 

 

 

 

 

VM Deployment isolated VPC and nonVPC network

 

 

 

advance zone VPC network Deploy VM centos with data disk

1. In advance zone create VPC network
2. Deploy VMs with data disk using centos template. Check PF LB rules

2. VMs in running state.  PF LB rules should work

 

advance zone VPC network Deploy VM centos without data disk

1. In advance zone create VPC network
 2. Deploy VMs without data disk using centos template. Check PF LB rules

2. VMs in running state.  PF LB rules should work

 

advance zone VPC network Deploy VM windows with data disk

1. In advance zone create VPC network
2. Deploy VMs using windows template.

2. VMs in running state.  PF LB rules should work

 

advance zone nonVPC network Deploy VM centos with data disk

1. In advance zone create nonVPC network
2. Deploy VMs with data disk using centos template. Check PF LB rules

2. VMs in running state.  PF LB rules should work

 

advance zone nonVPC network Deploy VM centos without data disk

1. In advance zone create nonVPC network
2. Deploy VMs without data disk using centos template. Check PF LB rules

2. VMs in running state.  PF LB rules should work

 

 

 

 

 

VM Life cycle

 

 

 

Stop VM

Stop an existing VM that is in "Running" State.
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="134b4fe1-f7bd-4030-a4e4-54a791ae9b87"><ac:plain-text-body><![CDATA[ [we should flesh out the steps here starting with 'deploy a vm']

1. Should Not be able to login to the VM.
]]></ac:plain-text-body></ac:structured-macro>
2. listVM command should return this VM.State of this VM should be "Stopped".
3. DB check : VM_INSTANCE table - state should be "Stopped"

 

Start VM

Start an existing VM that is in "Stopped" State.

1. Should be able to login to the VM.
2. listVM command should return this VM.State of this VM should be "Running".
3. DB check : VM_INSTANCE table - state should be "Running"

 

Destroy VM

Destroy an existing VM that is in "Running" State.

1. Should not be able to login to the VM.
2. listVM command should return this VM.State of this VM should be "Destroyed".
3. DB check : VM_INSTANCE table - state should be "Destroyed"

 

Restore VM

Restore a VM instance that is in "Destroyed" state.

1. listVM command should return this VM.State of this VM should be "Stopped".
2. We should be able to Start this VM successfully.
3. DB check : VM_INSTANCE table - state should be "Destroyed"

 

Destroy VM (Expunged)

Destroy an existing VM that is in "Running" State.
Wait for the Expunge Interval (expunge.delay) .

1. listVM command should NOT  return this VM any more.
2. DB check : 1. VM_INSTANCE table - state should be "Expunging".
2. No entries relating to this VM in the NICS table.
3. No entries relating to this VM in the VOLUMES table.
4. Make sure the volumes get removed from the Primary Storage.

 

Reboot VM

1.Deploy VM.
2.Reboot VM.

1. Should be able to login to the VM.
2. listVM command should return the deployed VM.
State of this VM should be "Running".

 

Migrate VM

1.Deploy VM.

1. Should be able to login to the VM.

 

 

2.Check to make sure you are able to log in to this VM.

2. listVM command should return this VM.State of this VM should be "Running"
 and the host should be the host to which the VM was migrated to.

 

 

3.Migrate vm to another host in the same cluster.

 

 

Attach ISO

1.Deploy VM.

1.Log in to the Vm. We should be able to see a device attached.

 

 

2.Attach ISO to this VM.

2. You should be able to mount this device and use the ISO.

 

Detach ISO

1.Deploy VM.

1.Log in to the Vm. We should be see device is not attached to the VM anymore.

 

 

2.Attach ISO to this VM. Log in to the Vm and make sure you see
a device attached which has the ISO.

 

 

 

3. Detach ISO.

 

 

Change Service to use less CPU and Memory

1.Deploy VM using default template,  "small" service offering and small data disk offering.

1.Log in to the Vm .We should see that the CPU and memory Info of this Vm
 matches the one specified for "Medium" service offering.

 

 

2.Stop VM

2. Using  listVM command verify that this Vm has "Medium" service offering Id.

 

 

3.Change Service of this Vm to use "Medium" service offering.

 

 

 

4.Start VM

 

 

Change Service to use more CPU and Memory

1.Deploy VM using default template,  "Medium' service offering and small data disk offering.

1.Log in to the Vm .We should see that the CPU and memory Info of this Vm
matches the one specified for "Medium" service offering.

 

 

2.Stop VM

2. Using  listVM command verify that this Vm has "small" service offering Id.

 

 

3.Change Service of this Vm to use "Small" service offering.

 

 

 

4.Start VM

 

 

 

 

 

 

SSVM  CPVM  VR   Life cycle

 

 

 

Stop  SSVM   CPVM VR

Stop  SSVM   VR    that is in "Running" State.
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a6e0d8d4-9d2e-4702-af04-99456dd2ddf1"><ac:plain-text-body><![CDATA[ [we should flesh out the steps here starting with 'deploy a vm'

1. Should Not be able to login to the VM.
]]></ac:plain-text-body></ac:structured-macro>
2. listVM command should return this VM.State of this VM should be "Stopped".
3. DB check : VM_INSTANCE table - state should be "Stopped"

 

start SSVM  CPVM VR

Start an existing VM that is in "Stopped" State.

1. Should be able to login to the VM.
2. listVM command should return this VM.State of this VM should be "Running".
3. DB check : VM_INSTANCE table - state should be "Running"

 

Destroy SSVM   CPVM VR

Destroy an existing VM that is in "Running" State.

1. Should not be able to login to the VM.
2. listVM command should return this VM.State of this VM should be "Destroyed".
3. DB check : VM_INSTANCE table - state should be "Destroyed"

 

Restore SSVM CPVM VR

Restore a VM instance that is in "Destroyed" state.

1. listVM command should return this VM.State of this VM should be "Stopped".
2. We should be able to Start this VM successfully.
3. DB check : VM_INSTANCE table - state should be "Destroyed"

 

Destroy SSVM  CPVM  VR   (Expunged)

Destroy an existing VM that is in "Running" State.
Wait for the Expunge Interval (expunge.delay) .

1. listVM command should NOT  return this VM any more.
2. DB check : 1. VM_INSTANCE table - state should be "Expunging".
2. No entries relating to this VM in the NICS table.
3. No entries relating to this VM in the VOLUMES table.
4. Make sure  volumes get removed from the Primary Storage.
New SSVM  CPVM  are created

 

Reboot SSVM  CPVM   VR

1.Deploy VM.
2.Reboot VM.

1. Should be able to login to the VM.
2. listVM command should return the deployed VM.
State of this VM should be "Running".

 

Migrate SSVM  CPVM   VR

1.Deploy VM.

1. Should be able to login to the VM.

 

 

2.Check to make sure you are able to log in to this VM.

2. listVM command should return this VM.State of this VM should be "Running"
 and the host should be the host to which the VM was migrated to.

 

 

3.Migrate vm to another host in the same cluster.

 

 

 

 

 

 

VM live migration

 

 

 

 

 

 

1

Vcenter - DC1 -  cluster1 - Host1
                                           Host2

migrate VM Host1 to Host2, vice versa

migration successful

2

Vcenter - DC1 -  cluster1 - Host1
                          cluster2 - Host2
                          cluster3 - Host3
 clusters in same subnet

migrate VM Host1 to Host2,  Host2 to Host3, vice versa

migration successful

3

Vcenter - DC1 -  cluster1 - Host1
                          cluster2 - Host2
                          cluster3 - Host3
 clusters in different subnet                                       

migrate VM Host1 to Host2,  Host2 to Host3, vice versa

migration successful

4

Vcenter - DC1 -  cluster1 - Host1
                          cluster2 - Host2
               DC2 -  cluster3 - Host3
 clusters in same subnet               

migrate VM Host1 to Host2,  Host2 to Host3, vice versa

migration successful

5

Vcenter - DC1 -  cluster1 - Host1
                          cluster2 - Host2
               DC2 -  cluster3 - Host3
 clusters in different subnet              

migrate VM Host1 to Host2,  Host2 to Host3, vice versa

migration successful

6

Vcenter1 - DC1 -  cluster1 - Host1
                            cluster2 - Host2
                 DC2 -  cluster3 - Host3
Vcenter2 - DC3 - cluster4 - Host4
                            cluster5 - Host5
                 DC4 -  cluster6 - Host6
 clusters in same subnet              

migrate VM Host1 to Host2,  Host2 to Host3, Host3 to Host4, Host4 to Host5, Host5 to Host6, vice versa

migration successful

7

Vcenter1 - DC1 -  cluster1 - Host1
                            cluster2 - Host2
                 DC2 -  cluster3 - Host3
Vcenter2 - DC3 -  cluster4 - Host4
                            cluster5 - Host5
                 DC4 -  cluster6 - Host6
 clusters in different subnet            

migrate VM Host1 to Host2,  Host2 to Host3, Host3 to Host4, Host4 to Host5, Host5 to Host6, vice versa

zone creation  successful

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

storage  volume

 

 

 

Attaching Volumes

1.navigate to Storage-volumes

1.shows list of volumes

 

 

2.select the detached data disk

3."Attach Disk" pop-up box will display with list of  instances

 

 

3.click on "Actions" and select "Attach Disk" to attach to a particular instace

4. disk should be  attached to instance successfully and both
UI and database(volumes table) should reflect the changes
( i.e attached disk details should be updated with  attached
 vm_instance ID and device id )

 

 

4. select the instance and click "Ok" button  to attach the disk to selected
instance in the "Attach Disk" pop-up window

 

 

Detaching Volumes

1.navigate to Storage-volumes

data disk should be detached from instance and detached data
 disk details should be updated properly(i.e Instance Name
-detached and Device ID is null)

 

 

2. selected the data disk which is attached to instance

 

 

 

3.click "Actions" and select the "Detach Disk"

 

 

Download volumes

1.navigate to Storage-volumes

3. download volume will fail with proper error message "Failed
- Invalid state of the volume with ID: . It should be either
detached or the VM should be in stopped state"

 

 

2. selected the data disk which is attached to instance

.

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="7f0048e9-695f-4161-b20a-8fccbdfb0d6b"><ac:plain-text-body><![CDATA[

 

 

[some fundamental steps here are missing. in each os after attaching disk,
]]></ac:plain-text-body></ac:structured-macro>
you need to format and mount it before writing to it. downloading a blank
 volume would probably fail

5. able to download the volume when its not attached to instace

 

 

3.perform download volume

 

 

 

4.select another data disk with is not attahced instance

 

 

 

5.perform "download volume "

 

 

Delete Volumes

case 1

case 1:

 

 

1.navigate to Storage-volumes

volume should be deleted successfully and listVolume should not
contain the deleted volume details.

 

 

2. selected the data disk

 

 

 

3.click on 'Actions" menu and select the "Delete volume"

Case 2:

 

 

 

"Delete Volume" menu item not shown under "Actions" menu.

 

 

case 2

(UI should not allow  to delete the volume when it is attahced to
 instance by hiding the menu Item)

 

 

4.select another data disk with is  attahced instance

 

 

 

5.clcik on "Actions" menu and check for "Delete Volume"

 

 

Create Volume

1. Perform "Add volume" by provinding name, availability zone and disk offering details.(i.e go to Storage-Volumes-)

volume should be created successfully and listVolumes should 
contain the created volumes. Database should reflects with new
created volume details(volumes table)

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="3b4b754b-fba3-4b27-8d66-c8b146e8511c"><ac:plain-text-body><![CDATA[

 

 

[we shoudl execute this against every storage size, sanity check against that but also a few custom sized disk offerings]

]]></ac:plain-text-body></ac:structured-macro>

 

 

 

 

 

Upload a data disk

call upload volume API with following parameters

Upload volume is successful

 

 

 

 

 

 

HTTP URL of the data disk,

 

 

 

Zone ID,

 

 

 

Name,

 

 

 

Description,

 

 

 

Hyper visor

 

 

 

 

 

 

Upload a Volume when maximum volume for account is reached

call upload volume API with following parameters

Error saying max limit is reached should be reported

 

 

 

 

 

 

HTTP URL of the data disk,

 

 

 

Zone ID,

 

 

 

Name,

 

 

 

Description,

 

 

 

Hyper visor

 

 

 

 

 

 

upload a volume having size greater than max allowable size

call upload volume API with following parameters

Error saying size exceeded should be reported

 

 

 

 

 

 

HTTP URL of the data disk,

 

 

 

Zone ID,

 

 

 

Name,

 

 

 

Description,

 

 

 

Hyper visor

 

 

 

 

 

 

Attach a uploaded data disk

call attach volume api with following parameter

Verify Attach Volume API will move (and not Copy) the volume from
secondary storage to primary storage and attach to the vm.

 

 

 

 

 

 

Volumeid

 

 

 

VM

 

 

 

 

 

 

List volume showing states of volumes

call list volumes api

Verify the response shows different states of the volumes like
NOT_DOWNLOADED, DOWNLOAD_IN_PROGRESS, DOWNLOADED

 

list volumes showing volume residing on secondary or primary

call list volumes api

Verify the response shows where the volume is residing

 

delete volume residing in secondary storage

call delete volume api with volume id

volume should be deleted

 

 

 

 

 

 

 

 

 

 

 

 

 

snapshot

 

 

 

Create VMSnapshot of Vm in "Stopped" state with root volume with "vm_snapshot_type" set to "Disk"

1. Deploy Vm.
2. Log in to the Vm and create few directories and files.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"

Snapshot should get created successfully.
It should be stored in the Primary Storage.

 

Create VMSnapshot of Vm in "Stopped" state with 1 data disk with "vm_snapshot_type" set to "Disk"

1. Deploy Vm.  Attach a data disk to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on the data disk.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"

Snapshot should get created successfully.
It should be stored in the Primary Storage.

 

Create VMSnapshot of Vm in "Stopped" state with multiple data disks with "vm_snapshot_type" set to "Disk".

1. Deploy Vm.  Attach muiltiple data disks to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on each of  the data disks.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"

Snapshot should get created successfully.
It should be stored in the Primary Storage.

 

Create VMSnapshot of Vm in "Stopped" state with root volume with "vm_snapshot_type" set to "DiskAndMemory"

1. Deploy Vm.
2. Log in to the Vm and create few directories and files.Have some process runing.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "DiskAndMemory"

Api should fail.

 

State Change in VM when VM Snapshot is in the progress.

1. Deploy Vm.
2. Stop the VM.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Observe the state changes of the VM.

Vm should change state from "Stopped" to "Snapshoting" to "Stopped"

 

CreateVMSnapshot in "Running" state

 

 

 

Create VMSnapshot of Vm in "Running" state with root volume with "vm_snapshot_type" set to "Disk"

1. Deploy Vm.
2. Log in to the Vm and create few directories and files.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"

Snapshot should get created successfully.
It should be stored in the Primary Storage.

 

Create VMSnapshot of Vm in "Running" state with 1 data disk with "vm_snapshot_type" set to "Disk"

1. Deploy Vm.  Attach a data disk to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on the data disk.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"

Snapshot should get created successfully.
It should be stored in the Primary Storage.

 

Create VMSnapshot of Vm in "Running" state with multiple data disks with "vm_snapshot_type" set to "Disk".

1. Deploy Vm.  Attach muiltiple data disks to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on each of  the data disks.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"

Snapshot should get created successfully.
It should be stored in the Primary Storage.

 

Create VMSnapshot of Vm in "Running" state with root volume with "vm_snapshot_type" set to "DiskAndMemory"

1. Deploy Vm.
2. Log in to the Vm and create few directories and files.Have some process runing.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "DiskAndMemory"

Snapshot should get created successfully.
It should be stored in the Primary Storage.

 

Create VMSnapshot of Vm in "Running" state with 1 data disk with "vm_snapshot_type" set to "DiskAndMemory"

1. Deploy Vm.  Attach a data disk to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on the data disk.Have some process runing.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "DiskAndMemory"

Snapshot should get created successfully.
It should be stored in the Primary Storage.

 

Create VMSnapshot of Vm in "Running" state with multiple data disks with "vm_snapshot_type" set to "DiskAndMemory".

1. Deploy Vm.  Attach muiltiple data disks to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on each of  the data disks.Have some process runing.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "DiskAndMemory"

Snapshot should get created successfully.
It should be stored in the Primary Storage.

 

State Change in VM when VM Snapshot is in the progress.

1. Deploy Vm.
2. Create VMSnapshot for this VM with "vm_snapshot_type" set to "DiskAndMemory"
3. Observe the state changes of the VM.

Vm should change state from "Running" to "RunningSnapshoting" to "Running"

 

1. Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2. While this is still in progress , Create a  "DiskAndMemorySnapshot" type VM snapshot for the same  VM which has 1 datadisk.

1. Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2. While this is still in progress , Create a  "DiskAndMemorySnapshot" type VM snapshot for the same  VM which has 1 datadisk.

CreateVMSnapshot() should fail , since there is one already in progress.

 

1. Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2. While this is still in progress , Create a  "Disk" type VM snapshot for the same  VM which has 1 datadisk.

1. Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2. While this is still in progress , Create a  "Disk" type VM snapshot for the same  VM which has 1 datadisk.

CreateVMSnapshot() should fail , since there is one already in progress.

 

Volume Snapshots and attach/detach of volumes on VM that have Vm snapshot

 

 

 

Detaching datadisk for Vms that have VM Snapshot should not be allowed.

1. Create a "Disk" and "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2. Detach the existing data disk.

Api should fail.

 

Attaching datadisk for Vms that have VM Snapshot should not be allowed.

1. Create a "Disk" and "DiskAndMemorySnapshot" for a VM which has 1 datadisk.
2. Attach a new data disk.

Api should fail.

 

Attach/Detach of datadisks should succeed once the Vm snapshots for a Vm are deleted.

1. Create a "Disk" and "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2.  Attach a new data disk / Detach the existing data disk
3. Delete all the VM snapshots for this VM.
4. Attach a new data disk
5. Detach the existing data disk

After the Vm snapshots have been deleted , attach/detach of data disks
should be allowed.

 

Root Volume Snapshots for Vms that that have VM Snapshots

1. Create a "Disk" and "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2. Take root volume Snapshots.
3. Take data volume Snapshots.


Volume Snapshots should succeed.

 

Root and data Volume Snapshots for Vms that that have VM Snapshots

1. Create a "Disk" and "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2. Take root volume Snapshots.
3. Take data volume Sanpshots.
4. Create a "Disk" and "DiskAndMemorySnapshot" type VM snapshot for a  VM which has 1 datadisk.
5. Take root volume Snapshots.
6. Take data volume Snapshots.

root/data volume snapshots should succeed.

 

For one VM, only one VM snapshot operation is allowed at a time. (no concurrent operations)

1. Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2. When VM snapshotting is still in Progress , Create a Snapshot for Root volume of the VM.

Api should fail.

 

For one VM, only one VM snapshot operation is allowed at a time. (no concurrent operations)

1. Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.
2. When VM snapshotting is still in Progress , Create a Snapshot for data volume of the VM.

Api should fail.

 

Volume snapshot operations and volume snapshot operations can not be performed concurrently.

1. Create a Snapshot for data volume of the VM.
2. When Volume snapshotting is still in Progress , Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.

Api should fail.

 

Volume snapshot operations and volume snapshot operations can not be performed concurrently.

1. Create a Snapshot for root volume of the VM.
2. When Volume snapshotting is still in Progress , Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM which has 1 datadisk.

Api should fail.

 

deleteVMSnapshot

 

 

 

Delete Vm snapshots that was created for a VM with multiple data disks with "vm_snapshot_type" set to "Disk".

1. Delete Vm snapshots that was created for a VM with multiple data disks with "vm_snapshot_type" set to "Disk".

Vm Snapshot should get deleted.
It should also be deleted from the primary storage.

 

Delete Vm snapshots that was created for a VM with with multiple data disks with "vm_snapshot_type" set to "DiskAndMemory".

2. Delete Vm snapshots that was created for a VM with with multiple data disks with "vm_snapshot_type" set to "DiskAndMemory".

Vm Snapshot should get deleted.
It should also be deleted from the primary storage.

 

Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
Delete S2.

1. Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
2. Delete S2.

Only S2- Vm Snapshot should get deleted.
It should also be deleted from the primary storage.

 

Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
Delete S3.

1. Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
2. Delete S3.

Only S3 - Vm Snapshot should get deleted.
It should also be deleted from the primary storage.

 

Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
Destroy the Vm.

1. Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
2. Destroy the Vm.

As part of destroying Vm , all the Vm Snapshots should get deleted.
They should also be deleted from the primary storage.

 

VM's memory snapshots will be automatically discarded if VM's service offering is upgraded

1. Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM  - M1.
2. Create a  "Disk" type VM snapshot for the same VM -D1.
3. Upgrade the Service offering for this VM.

DiskAndMemorySnapshot M1 should get deleted.
DiskSnapshot D1 should NOT get deleted.

 

listVMSnapshot

 

 

 

listVMSnapshot by VmSnapshotId.

1. Create multiple snapshots for the same VM - say 3 snapshots - S1,S2,S3.
2. listVMSnapshot by VmSnapshotId.

Snapshot details for this snapshot should be returned.

 

listVMSnapshot by VmId.

1. Create multiple snapshots for the same VM - say 3 snapshots - S1,S2,S3.
2. listVMSnapshot by VmId.

All Snapshots for the Vm should be returned.

 

listVMSnapshot by accountId.

1. Create snapshots for different Vms that belong to different accounts.
2. listVMSnapshot by accountId.

All Snapshots for the account should be returned.

 

listVMSnapshot by domainId.

1.Create 2 domains and create accounts for these domains.
2. For each account, Create snapshots for different Vms that belong to different accounts.
3. listVMSnapshot by domainId.

All Snapshots for the domain should be returned.

 

revertToVMSnapshot  for Vm in "Running" State

 

 

 

Create VMSnapshot of Vm in "Stopped" state with root volume with "vm_snapshot_type" set to "Disk".
Revert Vm that is in "Running" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.
2. Log in to the Vm and create few directories and files.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
5. Start the VM.
6. Delete few of the above created directories and add few more directories.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Stopped" state with 1 data disk with "vm_snapshot_type" set to "Disk".
Revert Vm that is in "Running" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach a data disk to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on the data disk.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
5. Start the VM.
6. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Stopped" state with multiple data disks with "vm_snapshot_type" set to "Disk".
Revert Vm that is in "Running" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach muiltiple data disks to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on each of  the data disks.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
5. Start the VM.
6. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Running" state with root volume with "vm_snapshot_type" set to "Disk"
Revert Vm that is in "Running" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.
2. Log in to the Vm and create few directories and files.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Running" state with 1 data disk with "vm_snapshot_type" set to "Disk"
Revert Vm that is in "Running" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach a data disk to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on the data disk.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Running" state with multiple data disks with "vm_snapshot_type" set to "Disk".
Revert Vm that is in "Running" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach muiltiple data disks to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on each of  the data disks.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Running" state with root volume with "vm_snapshot_type" set to "DiskAndMemory"
Revert Vm that is in "Running" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.
2. Log in to the Vm and create few directories and files.Have some process runing.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories.Stop some existing process and add more process.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Running" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present. The new changes made to the VM after the VM snapshot should not exist.
Make sure that all the processes that were running when the VM snapshot was done , continue to run in the Vm now. All new processes that were added after the Vm snapshot was taken should not be present anymore.

 

Create VMSnapshot of Vm in "Running" state with 1 data disk with "vm_snapshot_type" set to "DiskAndMemory"
Revert Vm that is in "Running" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach a data disk to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on the data disk.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Running" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.
Make sure that all the processes that were running when the VM snapshot was done , continue to run in the Vm now. All new processes that were added after the Vm snapshot was taken should not be present anymore.

 

Create VMSnapshot of Vm in "Running" state with multiple data disks with "vm_snapshot_type" set to "DiskAndMemory".
Revert Vm that is in "Running" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach muiltiple data disks to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on each of  the data disks.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Running" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.
Make sure that all the processes that were running when the VM snapshot was done , continue to run in the Vm now. All new processes that were added after the Vm snapshot was taken should not be present anymore.

 

revertToVMSnapshot  for Vm in "Stopped" State

 

 

 

Create VMSnapshot of Vm in "Stopped" state with root volume with "vm_snapshot_type" set to "Disk".
Revert Vm that is in "Stopped" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.
2. Log in to the Vm and create few directories and files.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
5. Start the VM.
6. Delete few of the above created directories and add few more directories.
7. Stop the VM.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Stopped" state with 1 data disk with "vm_snapshot_type" set to "Disk".
Revert Vm that is in "Stopped" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach a data disk to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on the data disk.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
5. Start the VM.
6. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
7. Stop the VM.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Stopped" state with multiple data disks with "vm_snapshot_type" set to "Disk".
Revert Vm that is in "Stopped" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach muiltiple data disks to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on each of  the data disks.
3. Stop the VM.
4. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
5. Start the VM.
6. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
7. Stop the VM.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Running" state with root volume with "vm_snapshot_type" set to "Disk"
Revert Vm that is in "Stopped" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.
2. Log in to the Vm and create few directories and files.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories.
5. Stop the VM.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Running" state with 1 data disk with "vm_snapshot_type" set to "Disk"
Revert Vm that is in "Stopped" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach a data disk to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on the data disk.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
5. Stop the VM.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Running" state with multiple data disks with "vm_snapshot_type" set to "Disk".
Revert Vm that is in "Stopped" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach muiltiple data disks to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on each of  the data disks.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
5. Stop the VM.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Stopped" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.

 

Create VMSnapshot of Vm in "Running" state with root volume with "vm_snapshot_type" set to "DiskAndMemory"
Revert Vm that is in "Stopped" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.
2. Log in to the Vm and create few directories and files.Have some process runing.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories.Stop some existing process and add more process.
5. Stop the VM.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Running" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present. The new changes made to the VM after the VM snapshot should not exist.
Make sure that all the processes that were running when the VM snapshot was done , continue to run in the Vm now. All new processes that were added after the Vm snapshot was taken should not be present anymore.

 

Create VMSnapshot of Vm in "Running" state with 1 data disk with "vm_snapshot_type" set to "DiskAndMemory"
Revert Vm that is in "Stopped" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach a data disk to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on the data disk.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
5. Stop the VM.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Running" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.
Make sure that all the processes that were running when the VM snapshot was done , continue to run in the Vm now. All new processes that were added after the Vm snapshot was taken should not be present anymore.

 

Create VMSnapshot of Vm in "Running" state with multiple data disks with "vm_snapshot_type" set to "DiskAndMemory".
Revert Vm that is in "Stopped" state to the above created Snapshot.

Pre Req:
1. Deploy Vm.  Attach muiltiple data disks to this VM.
2. Log in to the Vm and create few directories and files on the root volume. Create few more directories on each of  the data disks.
3. Create VMSnapshot for this VM with "vm_snapshot_type" set to "Disk"
4. Delete few of the above created directories and add few more directories on the root volume.Delete few of the above created directories and add few more directories on the data disks.
5. Stop the VM.
Steps:
Revert this Vm to the above created Snapshot.

After revert Vm is successful , Vm will be in "Running" state.
Start the Vm.
Once the Vm has started successfully , make sure that the directories and files that were part of the VM snapshot is present both in root volumes and data volumes. The new changes made to the VM after the VM snapshot should not exist.
Make sure that all the processes that were running when the VM snapshot was done , continue to run in the Vm now. All new processes that were added after the Vm snapshot was taken should not be present anymore.

 

State Changes in VMSnaphot

 

 

 

State change when VM Snaphot is in progress

1. Create snapshots for VM.
2. Observe the state change of Vm snapshot object using listVMSnashot command and in DB.

listVMSnapshot for snapshot should show the following state changes: 
"Allocated">"Creating"> "Ready" during the process of snapshotting.

 

State change when VM Revert is in progress

1. Revert Vm to a Specified VMSnapshot.
2. Observe the state change of Vm snapshot object using listVMSnashot command and in DB.

listVMSnapshot for snapshot should show the following state changes: 
"Ready">"Reverting"> "Ready" during the process of  reverting.

 

State change when VM Sanpshot deletion is in progress

1. Delete Vm Snapshot.
2. Observe the state change of Vm snapshot object using listVMSnashot command and in DB.

listVMSnapshot for snapshot should show the following state changes: 
"Ready">"Expunging"> "Removed" during the process of  deletion.

 

VMSnapshotSync

 

 

 

VMSnapshotSync should be able to recover the VM Snapshot job that has not been completed fully when management server is restarted.

1. Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM .
2. When the Snapshoting is still in progress , stop the management server.
3. Start the management server.

When the VMSnapshotSync job is run , Vm snapshot should be attempted
again and should succeed.

 

VMSnapshotSync should be able to recover the VM Revert job that has not been completed fully when management server is restarted.

1. Create a  "DiskAndMemorySnapshot" type VM snapshot for a VM .
2. Revert Vm to VM Snapshot.
3. When the reverting is still in progress , stop the management server.
4. Start the management server.

When the VMSnapshotSync job is run , Vm snapshot should be attempted
 again and should succeed.

 

Miscellaneous

 

 

 

We should be allowed to initiate Snapshots for multiple Vms in parallel

1. Deploy few Vms.
2. Log in to the each of the Vms and create few directories and files.
3. Create VMSnapshot for all VMs at the same time.

Vm Snapshot process for all the Vms should happen in parallel.

 

We should be abe to revert multiple Vms to different snapshots in parallel

1. Deploy few Vms.
2. Create Vm snapshots for all the Vms.
3. Revert  all the above Vms to a snapshot of these Vms in parallel

Vm reverts for all the Vms should happen in parallel.

 

Have large number of VM snapshots ( ??) and revert Vm to one of these snapshots.

1. Deploy few Vms.
2. Create large number of VM snapshots ( ??)  Vm snapshots for the Vm.
3. Revert  Vm to the first snapshot.
4. Revert  Vm to the last snapshot.
5. Revert  Vm to (n/2) snapshot.

Observe the time taken for reverting the VMs to these different snapshots and
 how different they are.

 

revertToVMSnapshot when there are multiple Snapshots available

 

 

 

Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
RevertVM to S1.

PreReq:
1. Deploy Vm with a data disk.
2. Under Root volme , Create directory d1 and file f1 under it. Under data volume , create directory m1 and file n1 under it.
3. Take a snapshot S1.
4. Under Root volme , Create directory d2 and file f2 under it. Under data volume , create directory m2 and file n2 under it.
5. Take a snapshot S2.
6. Under Root volme , Create directory d3 and file f3 under it. Under data volume , create directory m3 and file n3 under it.
7. Take a snapshot S3.
8. Under Root volme , Create directory d4 and file f4 under it. Under data volume , create directory m4 and file n4 under it.
Steps:
1. Revert Vm to S1.

Vm should get reverted successfully to snapshot S1.
It should have directories d1 in root volume.
It should have directories m1 in data volume.

 

Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
RevertVM to S3.

PreReq:
1. Deploy Vm with a data disk.
2. Under Root volme , Create directory d1 and file f1 under it. Under data volume , create directory m1 and file n1 under it.
3. Take a snapshot S1.
4. Under Root volme , Create directory d2 and file f2 under it. Under data volume , create directory m2 and file n2 under it.
5. Take a snapshot S2.
6. Under Root volme , Create directory d3 and file f3 under it. Under data volume , create directory m3 and file n3 under it.
7. Take a snapshot S3.
8. Under Root volme , Create directory d4 and file f4 under it. Under data volume , create directory m4 and file n4 under it.
Steps:
1. Revert Vm to S3.

Vm should get reverted successfully to snapshot S3.
It should have directories d1, d2,d3 in root volume.
It should have directories m1, m2,m3 in data volume.

 

Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
Delete S2
RevertVM to S1.

PreReq:
1. Deploy Vm with a data disk.
2. Under Root volme , Create directory d1 and file f1 under it. Under data volume , create directory m1 and file n1 under it.
3. Take a snapshot S1.
4. Under Root volme , Create directory d2 and file f2 under it. Under data volume , create directory m2 and file n2 under it.
5. Take a snapshot S2.
6. Under Root volme , Create directory d3 and file f3 under it. Under data volume , create directory m3 and file n3 under it.
7. Take a snapshot S3.
8. Under Root volme , Create directory d4 and file f4 under it. Under data volume , create directory m4 and file n4 under it.
Steps:
1. Delete snapshot S2.
2. Revert Vm to S1.

Vm should get reverted successfully to snapshot S1.
It should have directories d1  in root volume.
It should have directories m1 in data volume.

 

Create multiple VM snapshots for the same VM - say 3 snapshots - S1,S2,S3.
Delete S2
RevertVM to S3.

PreReq:
1. Deploy Vm with a data disk.
2. Under Root volme , Create directory d1 and file f1 under it. Under data volume , create directory m1 and file n1 under it.
3. Take a snapshot S1.
4. Under Root volme , Create directory d2 and file f2 under it. Under data volume , create directory m2 and file n2 under it.
5. Take a snapshot S2.
6. Under Root volme , Create directory d3 and file f3 under it. Under data volume , create directory m3 and file n3 under it.
7. Take a snapshot S3.
8. Under Root volme , Create directory d4 and file f4 under it. Under data volume , create directory m4 and file n4 under it.
Steps:
1. Delete snapshot S2.
2. Revert Vm to S3.

Vm should get reverted successfully to snapshot S3.
It should have directories d1, d2,d3 in root volume.
It should have directories m1, m2,m3 in data volume.

 

 

 

 

 

2.       Create volume from snapshot

 

 

 

3.       Create template from snapshot

 

 

 

 

 

 

 

 

 

 

 

Storage Migration

 

 

 

Vcenter - DC1 -  cluster1 - Host1
                                           Host2
                           Primary storage 1
                           Primary storage 2

MS - advance zone 1 DC 1 cluster
storage migration PS1 to PS2 vice versa

 

 

Vcenter - DC1 -  cluster1 - Host1
                           Primary storage 1
                           Primary storage 2
                          cluster2 - Host2
                           Primary storage 3
                           Primary storage 4
                          cluster3 - Host3
                           Primary storage 5
                           Primary storage 6
 clusters in same subnet

MS - advance zone 1 DC multiple clusters in same subnet
storage migration PS1 to PS2 vice versa
storage migration PS1 to PS3 vice versa
storage migration PS1 to PS4 vice versa
storage migration PS1 to PS5 vice versa
storage migration PS1 to PS6 vice versa

 

 

Vcenter - DC1 -  cluster1 - Host1
                           Primary storage 1
                           Primary storage 2
                          cluster2 - Host2
                           Primary storage 3
                           Primary storage 4
                          cluster3 - Host3
                           Primary storage 5
                           Primary storage 6
clusters in different subnet                                       

MS - advance zone 1 DC multiple clusters in different subnet
storage migration PS1 to PS2 vice versa
storage migration PS1 to PS3 vice versa
storage migration PS1 to PS4 vice versa
storage migration PS1 to PS5 vice versa
storage migration PS1 to PS6 vice versa

 

 

Vcenter - DC1 -  cluster1 - Host1
                           Primary storage 1
                           Primary storage 2
                          cluster2 - Host2
                           Primary storage 3
                           Primary storage 4
               DC2 -  cluster3 - Host3
                           Primary storage 5
                           Primary storage 6
 clusters in same subnet               

MS - advance zone multiple  DCs  multiple clusters in same subnet
storage migration PS1 to PS2 vice versa
storage migration PS1 to PS3 vice versa
storage migration PS1 to PS4 vice versa
storage migration PS1 to PS5 vice versa
storage migration PS1 to PS6 vice versa

 

 

Vcenter - DC1 -  cluster1 - Host1
                           Primary storage 1
                           Primary storage 2
                          cluster2 - Host2
                           Primary storage 3
                           Primary storage 4
               DC2 -  cluster3 - Host3
                           Primary storage 5
                           Primary storage 6
 clusters in different subnet              

MS - advance zone multiple  DCs  multiple clusters in different subnet
storage migration PS1 to PS2 vice versa
storage migration PS1 to PS3 vice versa
storage migration PS1 to PS4 vice versa
storage migration PS1 to PS5 vice versa
storage migration PS1 to PS6 vice versa

 

 

Vcenter1 - DC1 -  cluster1 - Host1
                           Primary storage 1
                           Primary storage 2
                            cluster2 - Host2
                           Primary storage 3
                           Primary storage 4
                 DC2 -  cluster3 - Host3
                           Primary storage 5
                           Primary storage 6
Vcenter2 - DC3 -  cluster4 - Host1
                           Primary storage 7
                           Primary storage 8
                            cluster5 - Host2
                           Primary storage 9
                           Primary storage 10
                 DC4 -  cluster6 - Host3
                           Primary storage 11
                           Primary storage 12
 clusters in same subnet              

MS - advance zone multiple Vcenter multiple  DCs  multiple clusters in
same subnet
storage migration PS1 to PS2 vice versa
storage migration PS1 to PS3 vice versa
storage migration PS1 to PS4 vice versa
storage migration PS1 to PS5 vice versa
storage migration PS1 to PS6 vice versa
storage migration PS1 to PS7 vice versa
storage migration PS1 to PS8 vice versa
storage migration PS1 to PS9 vice versa
storage migration PS1 to PS10 vice versa
storage migration PS1 to PS11 vice versa
storage migration PS1 to PS12 vice versa

 

 

Vcenter1 - DC1 -  cluster1 - Host1
                           Primary storage 1
                           Primary storage 2
                            cluster2 - Host2
                           Primary storage 3
                           Primary storage 4
                 DC2 -  cluster3 - Host3
                           Primary storage 5
                           Primary storage 6
Vcenter2 - DC3 -  cluster4 - Host1
                           Primary storage 7
                           Primary storage 8
                            cluster5 - Host2
                           Primary storage 9
                           Primary storage 10
                 DC4 -  cluster6 - Host3
                           Primary storage 11
                           Primary storage 12        
 clusters in different subnet            

MS - advance zone multiple Vcenter multiple  DCs  multiple clusters in
different subnet
storage migration PS1 to PS2 vice versa
storage migration PS1 to PS3 vice versa
storage migration PS1 to PS4 vice versa
storage migration PS1 to PS5 vice versa
storage migration PS1 to PS6 vice versa
storage migration PS1 to PS7 vice versa
storage migration PS1 to PS8 vice versa
storage migration PS1 to PS9 vice versa
storage migration PS1 to PS10 vice versa
storage migration PS1 to PS11 vice versa
storage migration PS1 to PS12 vice versa

 

 

 

 

 

 

 

 

 

11

Migration across Pods with local storage

MigrateVirtualMachine() with VMId with 1 data disk attached to it ,
SPId (from a pod other than the one Vm is currently running),
when VM is in stopped state

Storage Migration should succeed for root volume and data disk volumes. Starting the VM should result in the VM using the new storage pool. VM should now run in the host that is associated with the cluster where the new storage pool resides.
Make sure that a new vhd file for this VM is created in the new primary storage pool . The vhd file for this VM should not be present in the Primary storage it originally belonged to. Log in to the Vm . Make sure that you are able to read/write in the root volumes.

12

Migration across cluster from NFS to local storage

MigrateVirtualMachine() with VMId with multiple data disks
attached to it , SPId (from a cluster other than the one Vm is
currently running), when VM is in stopped state

Storage Migration should succeed for root volume and data disk volumes. Starting the VM should result in the VM using the new storage pool. VM should now run in the host that is associated with the cluster where the new storage pool resides. Make sure that a new vhd file for this VM is created in the new primary storage pool . The vhd file for this VM should not be present in the Primary storage it originally belonged to. Log in to the Vm . Make sure that you are able to read/write in the root volumes. Make sure that you are able to read/write to all the attached data disks.

13

Migration across cluster from local storage to NFS

MigrateVirtualMachine() with VMId with multiple data disks
attached to it , SPId (from a cluster other than the one Vm is
currently running), when VM is in stopped state

Storage Migration should succeed for root volume and data disk volumes. Starting the VM should result in the VM using the new storage pool. VM should now run in the host that is associated with the cluster where the new storage pool resides. Make sure that a new vhd file for this VM is created in the new primary storage pool . The vhd file for this VM should not be present in the Primary storage it originally belonged to. Log in to the Vm . Make sure that you are able to read/write in the root volumes. Make sure that you are able to read/write to all the attached data disks.








 

 

 

 

 

 

 

 

14

Restart MS during Migration

Use MigrateVirtualMachine() for a Vm. When the Volume
migration is still in progress ,restart the management server.

Async job should report a failure.  Vm migration should fail. There should be a roll back done. Vm state should get back to
" Stopped" and volumes should get back to "Ready" state. Attempt to start the VM should succeed using the existing
(older) storage.

15

Migrate volume when VM is running

Use MigrateVirtualMachine() with VMId , SPId , when VM is in
Running state

Should throw appropriate error. Storage migration can happen only if the Vm is in Stopped state.

 

storage Migrate to another host/storage pool in same cluster.

 

 

 

CASE I :- When the Cluster has  multiple primary storage pools
 and VM has only 1 data disk attached to it

Step 1 :- createAccount of type user

Account creation should be successful

 

 

Step 2 :- deploy a virtual machine.

VM deployment should be successful

 

 

step 3 :- Find out the cluster on which the VM belongs and also list the volumes associated with the VM

should list down all the volumes associated with the VM

 

 

Step 4 :- list all the storage pools associated with the cluster to which the deployed VM belongs

should list down all the storage pools associated with the VM

 

 

Step 5 :- stop the VM and migrate it to any of the storage pools to which the VM doesn't belong

The storage migration should be successful if the VM is in stopped state, else it should fail

 

 

Step 6:- start the VM and list down the volumes associated with it

The volumes should be same as obtained in step 3.

 

CASE II :- when the cluster has only one storage pool and VM
has only 1 data disk attached to it.

Step 1, 2 and 3 same as above

 

 

 

Step 4 :- list down all the hosts in the cluster to which VM belongs

 

 

 

Step 5 :- stop the VM and migrate it to any of the hosts to which the VM doesn't belong

VM migration should be successful but the storage wont be migrated as we are migrating the VM to the same pool.

 

 

 

 

 

CASE III :- when the cluster has only one storage pool and VM
 has  multiple data disks attached to it.

All the steps will be same , just add one more step between 2 and 3 to create more volmues and attach them to the deployed VM.

the disks should be created  and attached to the VM

 

 

 

 

 

storage Migrate to another storage pool in a different cluster but  the same pod

 

 

CASE I :- when VM has only data disk attached to it

Step 1 :- createAccount of type user

Account creation should be successful

 

 

Step 2 :- deploy a virtual machine.

VM deployment should be successful

 

 

step 3 :- Find out the cluster on which the VM belongs and also list the volumes associated with the VM

should list down all the volumes associated with the VM

 

 

Step 4 :- list down all the clusters in the pod of the hypervisor type same as the VM

Clusters of the same hypervisor type should be listed down

 

 

Step 5:- select a cluster from the list obtained in step 4 and list down all the storage pools in that cluster

should list down all the storage pools associated with the VM

 

 

Step 6 :- stop the VM and migrate it to any of the storage pools obtained in step 5.

The storage migration should be successful if the VM is in stopped state, else it should fail

 

 

Step 7:- start the VM and list down the volumes associated with it

The volumes should be same as obtained in step 3.

 

 

 

 

 

CASE II :- when the  VM has  multiple data disks attached to it.

All the steps will be same , just add one more step between 2 and 3 to create more volmues and attach them to the deployed VM.

the disks should be created  and attached to the VM

 

 

 

 

 

storage Migrate to another storage pool in a different pod same zone.

 

 

CASE I :- when the VM has only one data disk attached to it.

Step 1 :- createAccount of type user

Account creation should be successful

 

 

Step 2 :- deploy a virtual machine.

VM deployment should be successful

 

 

step 3 :- Find out the cluster on which the VM belongs and also list the volumes associated with the VM

should list down all the volumes associated with the VM

 

 

Step 4 :- list down all the clusters in the zone of the hypervisor type same as the VM

Clusters of the same hypervisor type in the same zone should be listed down

 

 

Step 5:- select a cluster from the list obtained in step 4 which is not in the same pod and list down all the storage pools in that cluster

should list down all the storage pools associated with the VM

 

 

Step 6 :- stop the VM and migrate it to any of the storage pools obtained in step 5.

The storage migration should be successful if the VM is in stopped state, else it should fail

 

 

Step 7:- start the VM and list down the volumes associated with it

The volumes should be same as obtained in step 3.

 

 

 

 

 

CASE II :- when the  VM has  multiple data disks attached to it.

All the steps will be same , just add one more step between 2 and 3 to create more volmues and attach them to the deployed VM.

the disks should be created  and attached to the VM

 

Muliple Storage Migrations initiated at the same time

 

 

 

CASE I :- migrate many VMs that have the same Primary Storage
to migrate to the same Storage pool in different cluster.

 

Storage Migration for all the VM should succeed.
Starting the VM should succeed and they should get started in the new cluster where the current storage resides.

 

CASE II :- migrate many VM that have the same Primary Storage
to migrate to couple of different   Storage pools in different clusters.

 

Storage Migration for all the VM should succeed.
Starting the VM should succeed and they should get started in the new cluster where the current storage resides.

 

CASE III :- migrate many VM that have different Primary Storage
to migrate to same  Storage pool in different cluster.

 

Storage Migration for all the VM should succeed.
Starting the VM should succeed and they should get started in the new cluster where the current storage resides.

 

CASE IV :- migrate many VM that have different Primary Storage
 to migrate to different  Storage pools in different clusters.

 

Storage Migration for all the VM should succeed.
Starting the VM should succeed and they should get started in the new cluster where the current storage resides.

 

 

 

 

 

Do these operations when VM migration is in progress

 

 

 

CASE I :- Start a VM migration.
When the Volume migration is still in progress ,  attempt to Start the Vm , destroy Instance , Attach ISO.

 

All such operations should fail with appropriate messages.
When migration is in progress , the status of the Vm should be "Migrating".
Once migration is done , status of the Vm shold be "Stopped"

 

CASE II :- Start a VM migration.
When the Volume migration is still in progress , attempt to take a snapshot , create a template  on the root volume for this VM.

 

All such operations should fail with appropriate messages.
When migration is in progress , the status of the Vm should be "Migrating".
Once migration is done , status of the Vm shold be "Stopped"

 

CASE III :- Start a VM migration.
When the Volume migration is still in progress , attempt to take a snapshot on  the data disk volumes associated with this VM.

 

All such operations should fail with appropriate messages.
When migration is in progress , the status of the Vm should be "Migrating".
Once migration is done , status of the Vm shold be "Stopped"

 

CASE IV :- Start a VM migration..
When the Volume migration is still in progress ,  attempt another migration for the same VM.

 

All such operations should fail with appropriate messages.
When migration is in progress , the status of the Vm should be "Migrating".
Once migration is done , status of the Vm shold be "Stopped"

 

Storage Migration Negative Scenarios

 

 

 

CASE I : start VM migration.
When the Volume migration is still in progress ,restart the management server.

 

Vm migration should fail. There should be a roll back done. Vm state should get back to" Stopped" and volumes should get back to "Ready" state.
Attempt to start the VM should succeed using the existing (older) storage.

 

CASE II : start VM migration.
When the Volume migration is still in progress ,   shutdown  host which is doing the storage migration.

 

Vm migration should fail. There should be a roll back done. Vm state should get back to" Stopped" and volumes should get back to "Ready" state
Attempt to start the VM should succeed using the existing (older) storage.

 

CASE III : start VM migration.
When the Volume migration is still in progress ,   reboot  host which is doing the storage migration.

 

Vm migration should fail. There should be a roll back done. Vm state should get back to" Stopped" and volumes should get back to "Ready" state
Attempt to start the VM should succeed using the existing (older) storage.

 

CASE IV : migrate vm to a storage pool which belongs to a cluster of different
hypervisor type

 

The migration should fail with appropriate error message.

 

CASE V: migrate vm to a storage pool in different zone.

 

The migration should fail with appropriate error message.

 

 

 

 

 

 

 

 

 

Host

 

 

 

Force reconnect Host()

Force reconnect Host()

 

 

UpdateHost() - Edit host tags

UpdateHost() - Edit host tags

 

 

deleteHost() - > Put the host in maintenance then delete the host

deleteHost() - > Put the host in maintenance and then delete the host

 

 

Put the host in maintenance mode

Put the host in maintenance mode

 

 

Put host in maintenance mode bring  host out of maintenance mode

Put host in maintenance mode.  Cancel host maintenance mode.

 

 

Power down host

Power down host

 

 

Power down host and the power on the host

Power down host and the power on the host

 

 

Reboot host

Reboot host

 

 

Bring down the network connectivity of the host.

Bring down the network connectivity of the host.

 

 

Bringdown network connectivity of host. Bringup nw connectivity ,

Bring down network connectivity of  host. Bring up network connectivity

 

 

 

 

 

 

Template

 

 

 

add template

1. Add public/private template

1.database (vm_template table) should be updated with newly created template

 

 

2. check UI/ listTemplates command to see the newly added template.

2.UI should show the newly added template

 

 

 

3.listtemplates API should show the newly added template

 

 

 

 

 

delete template

Delete Template:

1.listtemplates should not show the delted template

 

 

1.delete a template using UI/ API

2.database should be updated.

 

 

 

3. tempalte should not be displayed in admin UI.

 

 

 

4. template should be removed from secondary store (if no VMs were deployed
with it) after storage.cleanup.interval

 

Edit template

Edit Template:

1.data base should be updated with updated values

 

 

1. edit the template attribute

2.UI should show the updated template attributes

 

 

2. check the updated values are relfecte

3.listTemplate shoud show the template with updated values

 

Download template

"1. Add public/private template

"1.  download template should generate a valid http link to download

 

 

2. select  the template and click ""Actions""

2.  You should be able to download the template with out any issues (no 404, 530,
503 HTTP Errors)"

 

 

3. perform   ""Download Template""

 

 

Check admin can extract any template  

admin should able  extract and download the templates

 

 

Check all public templates should be visible to the users and admins

listTemplates should display all the public templates for all kind of users

 

 

check all the system VM templates are not visble to users

Listtemplate should not display the system templates"

 

 

 

 

 

 

    Copy template to other zone

 

    Copy template to other zone successful

 

   Start a VM from template

 

   Start a VM from template successful

 

Download template with isolated storage network

1.Bring up CS in advanced zone

Verify that SSVM downloads the guest OS templates from storage server which
is in isolated network.

 

 

2.create zone->pod->cluster>host

Use below sql query to verify the download status of the template.

 

 

3.Primary and secondary storage on storage server in isolated network
(Only management network has the reachability to storage server,
public network does not have the reachability)

mysql> select * from template_host_ref;

 

 

4.Disable zone

 

 

 

5.Set global settings parameter "secstorage.allowed.internal.sites" to
storage server subnet

 

 

 

6.Restart management server

 

 

 

7.Enable zone

 

 

 

 

 

 

ISO

 

 

 

verify add ISO

1. Add public/private ISO

1.database (vm_template table) should be updated with newly created ISO

 

 

2. check UI/ listISO command to see the newly added template.

2.UI should show the newly added ISO

 

 

 

3.listISos API should show the newly added templat

 

 

 

 

 

verify delete ISO

1.delete a template using UI/ API

1.listIsos should not show the delted template

 

 

 

2.database should be updated.

 

 

 

3.ISO should not be displayed in admin UI.

 

 

 

4. ISO should be removed from secondary store (if no VMs were deployed with it)
after storage.cleanup.interval

 

Verify Edit ISO

1. edit the ISO attribute

1.data base should be updated with updated values

 

 

2. check the updated values are relfected

2.UI should show the updated ISO attributes

 

 

 

3.listISos shoud show the template with updated value

 

 

 

 

 

Download ISO

1. Add public/private ISO

1. download template should generate the link to download and able to download
the template with out any issues

 

 

2. select  the ISO and click "Actions"

:check the ssvm in /var/www/html/userdata

 

 

3. perform   "Download Template"

 

 

Copy ISO to other zone

1. perform copy ISO   from one zone to another zone

copy ISO should be successful and seconday storage should contain new copied ISO

 

 

2.check the newly copied template in another zone

 

 

 

 

 

 

 

 

 

 

primary storage

 

 

 

Add Primary storage NFS

Use createStoragePool with url, name, podid, clusterid

Primary storage should be created and should be in Up state

 

Delete Primary storage NFS

Delete Primary storage NFS

Delete successful

 

 

 

 

 

 

 

 

 

 

 

 

 

Storage maintenance mode with one pool

Initiate maintenance mode for primary Storage pool

VMs and System VMs stopped, Volumes should not be destroyed

 

 

(no additional pool present)

 

 

Storage maintenance mode with multiple pools

Initiate maintenance mode for Primary storage with additional pools

User VMs should be stopped. System VMs should be restarted in another pool

 

Storage maintenance mode cancel

Cancel maintenance mode (one pool)

User VMs that were stopped should restart and also the system VMs

 

Storage maintenance mode cancel

Cancel maintenance mode (multiple pools)

User VMs that were stopped should restart

 

Enable maintenance with local storage

Enable local storage for System VM and User Vm

User and System VMs should be stopped and restarted when maintenance mode is
disabled (?)

 

 

Put Local storage in maintenance mode

 

 

Create VMs when Maintenance mode is on

Create User VMs when storage pools are in maintenance mode

Should not be able to create VMs and appropriate message should be thrown

 

Storage Tags

Create Storage tag for storage and use the tag for disk offering

Should deploy disk on the storage which matches the tag

 

 

 

 

 

 

 

 

 

primary storage zone wide

 

 

 

zwps_create_zone_add_storage

add zone scoped primary storage while creating zone

Zone should be created succesfully with zone wide primary storage added

 

zwps_create_primary_existing_zone_cluster

add zone scoped primary storage to an existing zone which already has cluster scoped primary storage

Zone wide primary storage addition should be successful

 

zwps_create_primary_existing_zone_local

add zone scoped primary storage to an existing zone which already has local(host scoped) primary storage

Zone wide primary storage addition should be successful

 

zwps_co_existence_cluster_zone_host

deploy a VM in a zone where  cluster wide, zone wide and local primary storages are available

VM deployment should not fail and  right storage should be chosen for root volume&data volume as per service offering

 

zwps_only_zone_wide_primary

deploy a VM in a zone where only one zone wide  storage is available

VM deployment should not fail and  right storage should be chosen for root volume&data volume as per service offering

 

zwps_multi_zone_wide_primary

deploy a VM in a zone where multiple zone wide  storage is available

VM deployment should not fail and  right storage should be chosen for root volume&data volume as per service offering

 

zwps_KVM

In a zone with KVM cluster with zone wide primary storage and cluster wide primary storage, deploy a VM

VM deployment should not fail and  right storage should be chosen for root volume&data volume as per service offering

 

zwps_vol_ops_create

In a zone with zone wide primary storage, create a data volume.

Data volume should be succesfully created on the zone wide primary storage

 

zwps_vol_ops_attach

In a zone with zone wide primary storage, create a data volume and attach it to a VM with root volume on cluster wide primary storage

data volume created on ZWPS is allowed to attache to a VM whose root volume is cluster scoper but otherwise should fail, Hence attach should succeed

 

zwps_vol_ops_detach

In a zone with zone wide primary storage, create a data volume and attach it to a VM with root volume on cluster wide primary storage and then detach

data volume created on ZWPS is allowed to attache to a VM whose root volume is cluster scoper but otherwise should fail, Hence attach should succeed and detach should also succeed

 

zwps_vol_ops_reattach

In a zone with zone wide primary storage, create a data volume and attach it to a VM with root volume on cluster wide primary storage , detach and reattach to the same VM

data volume created on ZWPS is allowed to attache to a VM whose root volume is cluster scoper but otherwise should fail, Hence attach should succeed and detach should also succeed. Re-attach should also succed

 

zwps_vol_ops_reattach_diff_cluster

In a zone with zone wide primary storage, create a data volume and attach it to a VM with root volume on cluster wide primary storage , detach and reattach to a VM in different cluster.

Volume in the ZWPS should be available for VMs in the other cluster in a zone.

 

zwps_vol_ops_delete

In a zone with zone wide primary storage, create a data volume and attach it to a VM with root volume on cluster wide primary storage , detach and reattach to a VM in different cluster. Finally detach and delete the volume

Attach, detach and delete operations on the volume should be succesful

 

zwps_vol_ops_create_snap

In a zone with zone wide primary storage, create a data volume and attach it to a VM with root volume on cluster wide primary storage and create a snapshot

Snapshot creation should be succesful

 

zwps_snap_ops_create_volfromsnap

1. In a zone with zone wide primary storage, create a data volume and attach it to a VM with root volume on cluster wide primary storage and create a snapshot.
2. Now create a volume from above snapshot and then attach it to a VM whose root volume is on CWPS

1. Snapshot should be created succesfully
2. Volume should be attached to VM and check volume is created on CWPS

 

zwps_snap_ops_create_volfromsnap

1. In a zone with zone wide primary storage, create a data volume and attach it to a VM with root volume on cluster wide primary storage and create a snapshot.
2. Now create a volume from above snapshot and then attach it to a VM whose root volume is on ZWPS

1. Snapshot should be created succesfully
2. Volume should be attached to VM and check volume is created on ZWPS

 

zwps_vol_ops_restore_snap

In a zone with zone wide primary storage, create a data volume and attach it to a VM with root volume on cluster wide primary storage and create few snapshots. Create volume from second snapshot and check the contents

Snapshot creation should succeed and the contents of the volume should match with second snapshot

 

zwps_tags

Have cluster wide, zone wide and local storage, add tags to them and create disk offerings with these tags and use the tagged disk offerings to create volumes

Volumes should be in allocated state and as soon as they are attached to VMs, they should be created on the designated(as per tags) storage pools. Attaching a volume on ZWPS is allowed to be attached to a VM with root volume on CWPS but not otherwise

 

zwps_upgrade_db

upgrade a management server (with all local and shared storage) with a build which doesn't support zone wide primary storage to a build which supports zone wide primary storage and check the DB entries in "storage_pool" table, 'scope' field should be 'NULL' after upgrade

 

 

zwps_upgrade_add_zone_wide_primary

upgrade a management server (with all local and shared storage) with a build which doesn't support zone wide primary storage to a build which supports zone wide primary storage and add zone wide primary storage.

 

 

zwps_create_primary_API

check the newly added parameter 'scope' to create primary API

Primary storage pool should be created with appropriate scope provided in the request

 

zwps_list_primary_API

check the newly added parameter 'scope' to list primary storage API

Primary storage pools should be listed with 'scope'

 

zwps_vm_life_cycle

check VM deploy,start,stop,destroy,recover,restore while zone wide primary storage is used

There should not be any issued in performing VM operations.

 

zwps_UI_create_storage

check UI flow to add zone wide primary storage to a zone

UI should provide drop down box to select scope of the primary storage

 

zwps_vol_ops_migrate_zone2clus

Migrate a data volume from zone wide primary to cluster wide primary storage

 

 

zwps_vol_ops_migrate_clus2zone

Migrate a data volume from cluster wide primary to zone wide primary storage

Volume should be migrated from CWPS to ZWPS

 

zwps_vol_ops_migrate_zone2zone

Migrate a data volume from one zone wide primary to another zone wide primary

Volume should be migrated from one ZWPS to another ZWPS

 

zwps_vol_ops_migrate_zone2local

Migrate a data volume from one zone wide primary to local primary

 

 

zwps_vol_ops_migrate_local2zone

Migrate a data volume from one local to zone wide primary

There should be no support for migration a volume from local storage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

secondary storage

 

 

 

Add NFS Secondary storage

Seed System VM templates

Secondary storage should get added to the zone.

 

 

Use addSecondaryStorage with url, host

listHosts should should show up the added sec storage as type "secondarystorage"

 

 

 

listSystemVm should show up system vms once they are up and running

 

 

 

listTemplates should show default templates downloaded and and in Ready state

 

 

 

 

 

Change Sec Storage server

Stop cloud services

Sec storage should be back up

 

 

Copy files from old to new secondary storage

Should be able to take snapshots and create templates

 

 

Change IP in DB in host and host_details

 

 

 

Start services

 

 

 

Stop and start SSVM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HA

 

 

 

Host maintenance mode

1. Create Advance zone, pod, cluster.

3. All Vms should failover to Host 2 in cluster. Vms should be in running state.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

All port forwarding rules and load balancing

 

 

2. Create a custom compute service offering with HA. Create HA enabled
Vms & Acquire IP. Create port forwarding & load balancing rules for Vms.

Rules should work.

 

 

3. Host 1 : put to maintenance mode.

4. Deploy Vms on host 2 should succeed.

 

 

4. After failover to Host 2 succeeds, deploy Vms

6. All Vms should failover to Host 1 in cluster.

 

 

5. Host 1 : cancel maintenance mode.

7. Deploy Vms on host 1 should succeed.

 

 

6. Host 2 : put to maintenance mode.

 

 

 

7. After failover to Host 1 succeeds, deploy VMs

 

 

 

 

 

 

Host maintenance mode with activities

1. Create Advance zone, pod, cluster.

3. All Vms should failover to Host 2 in cluster. Vms should be in running state.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

All port forwarding rules and load balancing Rules should work.

 

 

2. Create a custom compute service offering with HA. Create HA enabled
Vms. Acquire IP. Create port forwarding & load balancing rules for Vms.

4. Deploy Vms on host 2 should succeed. All ongoing activities in step 3 succeed.

 

 

3. While activities are ongoing: Create snapshots, recurring snapshots,
create templates, download volumes, Host 1 : put to maintenance mode.

6.  All Vms should failover to Host 1 in cluster.

 

 

4. After failover to Host 2 succeeds, deploy Vms

7. Deploy Vms on host 1 should succeed. All ongoing activities in step 6  succeed.

 

 

5. Host 1 : cancel maintenance mode.

 

 

 

6. While activities are ongoing: Create snapshots, recurring snapshots, create templates, download volumes, Host 2 : put to maintenance mode.

 

 

7. After failover to Host 1 succeeds, deploy VMs

 

 

 

 

 

 

Network disconnect

1. Create Advance zone, pod, cluster.

3. All Vms should failover to Host 2 in cluster. Vms should be in running state.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

All port forwarding rules and load balancing

 

 

2. Create a custom compute service offering with HA. Create HA enabled
 Vms & Acquire IP. Create port forwarding & load balancing rules for Vms.

Rules should work.

 

 

3. Host 1 : Disconnect the NIC.

4. Deploy Vms on host 2 should succeed.

 

 

4. After failover to Host 2 succeeds, deploy Vms

 

 

Network disconnect with activities

1. Create Advance zone, pod, cluster.

3. All Vms should failover to Host 2 in cluster. Vms should be in running state.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

All port forwarding rules and load balancing Rules should work.

 

 

2. Create a custom compute service offering with HA. Create HA enabled
Vms & Acquire IP.  Create port forwarding & load balancing rules for Vms.

4. Deploy Vms on host 2 should succeed. All ongoing activities in step 3  succeed.

 

 

3. While activities are ongoing: Create snapshots, recurring snapshots,
 create templates, download volumes,

 

 

 

Host 1 : Disconnect the NIC

 

 

 

4. After failover to Host 2 succeeds, deploy Vms

 

 

 

 

 

 

Host power off (not a graceful shutdown)

1. Create Advance zone, pod, cluster.

3. All Vms should failover to Host 2 in cluster. Vms should be in running state.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

All port forwarding rules and load balancing

 

 

2. Create a custom compute service offering with HA. Create HA enabled
 Vms & Acquire IP.  Create port forwarding & load balancing rules for Vms.

Rules should work.

 

 

3. Host 1 : power off

4. Deploy Vms on host 2 should succeed.

 

 

4. After failover to Host 2 succeeds, deploy Vms

 

 

Host power off with activities (not a graceful shutdown)

1. Create Advance zone, pod, cluster.

3. Deploy Vms on host 2 should succeed. All ongoing activities in step 3 succeed.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

 

 

 

2. Create a custom compute service offering with HA. Create HA enabled
Vms & Acquire IP. Create port forwarding & load balancing rules for Vms.

 

 

 

3. While activities are ongoing: Copy snapshots, recurring snapshots,
create templates, download volumes. Make sure these are lengthy
operations. Power off Host1 while they are still occurring.

 

 

 

4. After failover to Host 2 succeeds, deploy Vms

 

 

Host maintenance mode

1. Create Advance zone, pod, cluster.

3. All Vms should failover to Host 2 in cluster. Vms should be in running state.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

All port forwarding rules and load balancing

 

 

2. Create a custom compute service offering with HA. Create HA enabled
Vms & Acquire IP. Create port forwarding & load balancing rules for Vms.

Rules should work.

 

 

3. Host 1 : put to maintenance mode.

4. Deploy Vms on host 2 should succeed.

 

 

4. After failover to Host 2 succeeds, deploy Vms

6. All Vms should failover to Host 1 in cluster.

 

 

5. Host 1 : cancel maintenance mode.

7. Deploy Vms on host 1 should succeed.

 

 

6. Host 2 : put to maintenance mode.

 

 

 

7. After failover to Host 1 succeeds, deploy VMs

 

 

 

 

 

 

Host maintenance mode with activities

1. Create Advance zone, pod, cluster.

3. All Vms should failover to Host 2 in cluster. Vms should be in running state.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

All port forwarding rules and load balancing Rules should work.

 

 

2. Create a custom compute service offering with HA. Create HA enabled
Vms. Acquire IP. Create port forwarding & load balancing rules for Vms.

4. Deploy Vms on host 2 should succeed. All ongoing activities in step 3 should succeed.

 

 

3. While activities are ongoing: Create snapshots, recurring snapshots,
create templates, download volumes, Host 1 : put to maintenance mode.

6.  All Vms should failover to Host 1 in cluster.

 

 

4. After failover to Host 2 succeeds, deploy Vms

7. Deploy Vms on host 1 should succeed. All ongoing activities in step 6 should succeed.

 

 

5. Host 1 : cancel maintenance mode.

 

 

 

6. While activities are ongoing: Create snapshots, recurring snapshots,
create templates, download volumes, Host 2 : put to maintenance mode.

 

 

 

7. After failover to Host 1 succeeds, deploy VMs

 

 

Network disconnect

1. Create Advance zone, pod, cluster.

3. All Vms should failover to Host 2 in cluster. Vms should be in running state.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

All port forwarding rules and load balancing

 

 

2. Create a custom compute service offering with HA. Create HA enabled
 Vms & Acquire IP.Create port forwarding & load balancing rules for Vms.

Rules should work.

 

 

3. Host 1 : Disconnect the NIC

4. Deploy Vms on host 2 should succeed.

 

 

4. After failover to Host 2 succeeds, deploy Vms

 

 

 

 

 

 

Network disconnect with activity

1. Create Advance zone, pod, cluster.

3. Deploy Vms on host 2 should succeed. All ongoing activities in step 3 should succeed.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

 

 

 

2. Create a custom compute service offering with HA. Create HA enabled
 Vms & Acquire IP.  Create port forwarding & load balancing rules for Vms.

 

 

 

3. While activities are ongoing: Create snapshots, recurring snapshots,
create templates, download volumes,

 

 

 

Host 1 : Disconnect the NIC

 

 

 

4. After failover to Host 2 succeeds, deploy Vms

 

 

Host power off without activity (graceful shutdown)

1. Create Advance zone, pod, cluster.

3. Deploy Vms on host 2 should succeed. All ongoing activities in step 3 should succeed.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

 

 

 

2. Create a custom compute service offering with HA. Create HA enabled
Vms & Acquire IP. Create port forwarding & load balancing rules for Vms.

 

 

 

3. While activities are ongoing: Copy snapshots, recurring snapshots,
create templates, download volumes. Make sure these are lengthy
operations. Power off Host1 while they are still occurring.

 

 

 

4. After failover to Host 2 succeeds, deploy Vms

 

 

Host power off with activity (graceful shutdown)

1. Create Advance zone, pod, cluster.

3. Deploy Vms on host 2 should succeed. All ongoing activities in step 3 should succeed.

 

 

Add 2 hosts to cluster, secondary & primary Storage, isolated network

 

 

 

2. Create a custom compute service offering with HA. Create HA enabled
Vms & Acquire IP.  Create port forwarding & load balancing rules for Vms.

 

 

 

3. While activities are ongoing: Create snapshots, recurring snapshots,
create templates, download volumes,

 

 

 

Host 1 : Disconnect the NIC

 

 

 

4. After failover to Host 2 succeeds, deploy Vms

 

 

Maintenance mode 2 hosts in cluster - Vms need not be HA enabled
 for being live migrated

1.    Have 1 host in 1 cluster.

After step4 - Check the following

 

 

2.    Deploy few vms.(These Vms need not be deployed with service
offerings that are HA enabled). Create Static Nat/PF rules.

 

 

 

3.    Add 1 more host to this cluster.

1. Host1 should be put in Maintenance mode suceessfully. All Vms migrate
 successfully to host2. Make sure that the Vms are still accessible using their existing
 PF rules and static Nat rules.

 

 

4.    Put host1 in maintenance mode.

 

 

 

5.    Verify Step1 in "Expected Results"

2. After step8  - Check the following:

 

 

6.    Add 1 more Vm. This Vm gets deployed in host2.

 

 

 

7.     Take host1 out of maintenance mode.

Host2  put in Maintenance mode suceessfully. All Vms migrate successfully to host1.
Make sure that the Vms are still accessible using their existing PF rules and static Nat rules.

 

 

8.    Put host2 in maintenance mode.

 

 

 

9.    Verify Step2 in "Expected Results"

 

 

 

 

 

 

 

 

 

 

Maintenance mode with 1 host in

1. Have a cluster with 1 host.

Verity following after step3.

 

cluster

2. Deploy few vms.

                                                                                                                                                                                           

 

 

3. Put this host in maintenance mode.

Verity following  after step4.

 

 

4. Verify step1 from "Expected Results"

2.    SSVM amd CPVM are started automatically.

 

 

5. Cancel maintenance mode.

3.    All user VMs remains in stopped state.

 

 

6. Verify step2- 6 from "Expected Results"

4.    We are able to manually start the Vms successfully.

 

 

 

5.    Make sure that the Vms are still accessible using their existing PF rules.

 

 

 

6.    We are able to deploy more vms

 

Maintenance mode with 2 hosts in cluster with different host tag

1-Cluster has 1 host , say host1 with host tag.

Host1 should be put in maintenance mode successfully. All the Vms should remain
in stopped state since they cannot live migrate to host2 which has no host tags.

 

 

2-Deploy few VMS with host tag in service offerings

 

 

 

3-Add another host , host2 to this cluster with  no host tag.

 

 

 

4-Put host1 in maintenance mode.

 

 

Maintenance mode with 2 hosts in cluster - Vms need not be
HA enabled for being live migrated

Have 1 host in 1 cluster

After step4 - Check the following

 

 

2-Deploy few vms.(These Vms need not be deployed with service
offerings that are HA enabled). Create Static Nat/PF rules

1-Host1 should be put in Maintenance mode suceessfully. All Vms migrate
successfully to host2. Make sure that the Vms are still accessible using their
existing PF rules and static Nat rules.

 

 

3-Add 1 more host to this cluster.

 

 

 

4-Put host1 in maintenance mode.

After step8  - Check the following:

 

 

5-Verify Step1 in "Expected Results"

2-Host2 should be put in Maintenance mode suceessfully. All Vms migrate
successfully to host1. Make sure that the Vms are still accessible using their existing
PF rules and static Nat rules.

 

 

6-Add 1 more Vm. This Vm gets deployed in host2.

 

 

 

7-Take host1 out of maintenance mode.

 

 

 

8-Put host2 in maintenance mode.

 

 

 

9-Verify Step2 in "Expected Results"

 

 

Maintenance mode with 1 host in cluster

1-Have a cluster with 1 host

Verity following after step3

 

 

2-Deploy few vms

1.Putting the host in maintenance mode should succeed.All  VMs will be in stopped state

 

 

3-Put this host in maintenance mode.

1.Putting the host in maintenance mode should succeed.All  VMs will be in stopped state

 

 

4-Verify step1 from "Expected Results"

1.Putting the host in maintenance mode should succeed.All  VMs will be in stopped state

 

 

5-Cancel maintenance mode.

1.Putting the host in maintenance mode should succeed.All  VMs will be in stopped state

 

 

6-Verify step2- 6 from "Expected Results"

1.Putting the host in maintenance mode should succeed.All  VMs will be in stopped state

 

 

 

1.Putting the host in maintenance mode should succeed.All  VMs will be in stopped state

 

 

 

1.Putting the host in maintenance mode should succeed.All  VMs will be in stopped state

 

 

 

 

 

Maintenance mode with 2 hosts in cluster with different host tag

1-Cluster has 1 host , say host1 with host tag.

Host1 should be put in maintenance mode successfully. All the Vms should remain
in stopped state since they cannot live migrate to host2 which has no host tags.

 

 

2-Deploy few VMS with host tag in service offerings

 

 

 

3-Add another host , host2 to this cluster with  no host tag.

 

 

 

4-Put host1 in maintenance mode.

 

 

 

 

 

 

PVLAN

 

 

 

 

 

 

 

Shared Network scope All  1 PVLAN Deploy VM

1. Advance zone cluster with 2 hosts,  Domain D1  domainadmin  d1domain, user d1user. Domain D2  user d2user.
2. Create  Shared NW1  scope All <pVLAN1, sVLAN1>. 
3. As users from different domains , deploy Vms in this network,

1. shared NW1 with pVLAN creation succeed.
2.  All accounts able to  create VMs on NW1.
3.All VMs  in NW1 unable to access each other All VMs in NW1 able to reach DHCP server, gateway

 

Shared NW scope Domain  1 PVLAN Deploy VM

1. Advance zone cluster with 2 hosts,  Domain D1  domainadmin  d1domain, user d1user. Domain D2  user d2user.
2. Create  Shared NW1  scope Domain for D1 <pVLAN1, sVLAN1>. 
3. As users from different domains , deploy Vms in this network,

1. shared NW1 with pVLAN creation succeed.
2. Only  accounts from doamin d1 are allowed to create VMs on NW1.
3.All VMs  in NW1 unable to access each other All VMs in NW1 able to reach DHCP server, gateway

 

Shared NW scope Domain subdomain access TRUE 1 PVLAN Deploy VM

1. Advance zone cluster with 2 hosts,  Domain D1  domainadmin  d1domain, user d1user. Domain D2  user d2user.
2. Create  Shared NW1  scope Domain with subdomain access true for domain D1 <pVLAN1, sVLAN1>. 
3. As users from different domains , deploy Vms in this network,

1. shared NW1 with pVLAN creation succeed.
2.  Only  accounts from doamin d1 and subdomains under this domain are allowed to create VMs on NW1.
3.All VMs  in NW1 unable to access each other All VMs in NW1 able to reach DHCP server, gateway

 

Shared NW scope  Account 1 PVLAN Deploy VM

1. Advance zone cluster with 2 hosts,  Domain D1  domainadmin  d1domain, user d1user. Domain D2  user d2user.
2. Create  Shared NW1  scope Account d1user <pVLAN1, sVLAN1>. 
3. As users from different domains , deploy Vms in this network,

1. shared NW1 with pVLAN creation succeed.
2. Only accounts from d1user able to  create VMs on NW1.
3.All VMs  in NW1 unable to access each other All VMs in NW1 able to reach DHCP server, gateway

 

Shared NW scope  Project 1 PVLAN Deploy VM

1. Advance zone cluster with 2 hosts,  Domain D1  domainadmin  d1domain, user d1user. Domain D2  user d2user.
2. Create  Shared NW1  scope Project p1 <pVLAN1, sVLAN1>. 
3. As users from different projects , deploy Vms in this network,

1. shared NW1 with pVLAN creation succeed.
2.  Only account belonging to project p1 are able to  create VMs on NW1.
3.All VMs  in NW1 unable to access each other All VMs in NW1 able to reach DHCP server, gateway

 

Multiple  shared NW  scope zone using different PVLANs Deploy VM

1. Advance zone cluster with 2 hosts.
2. Create multiple shared pvlan enabled networks.
3. Make sure we are able to deploy multiple vms successfully in both the networks.

With 1 network,
All VMs  in NW1 unable to access each other All VMs in NW1 able to reach DHCP server, gateway
Vm can access Vms from other shared networks.

 

Shared NW using  PVLAN associated with another shared NW

1. Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Create  Shared NW2  scope zone  <pVLAN2, sVLAN1>.

shared NW2 creation FAIL

 

Shared NW using  the same VLAN associated with different PVLANs.

1. Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Create  Shared NW2  scope zone  <pVLAN1, sVLAN2>.

shared NW2 creation FAIL

 

Shared NW using  PVLAN associated with ZONE  VLAN

1. Create  Shared NW1  scope zone  using ZONE VLAN

shared NW1 creation FAIL

 

Should not be allowed to pass isolatedpvlan parameter when creating a isolated network.

1. Try to create a isolated network by passing isolatedpvlan parameter

Network creation should fail

 

Should not be allowed to pass isolatedpvlan parameter when creating a ipv6 enabled network.

1. Try to create a ipv6 enabled shared network by passing isolatedpvlan parameter

Network creation should fail

 

PVLAN ListCommand changes

 

 

 

listVirtualMachines() should return PVLAN related parameters

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
 2. Deploy Vm in this network.
3. List Vm details using listVirtualMachines()

listVirtualMachines() should return PVLAN related parameters -
"isolationuri":"vlan://1611,"broadcasturi":"pvlan://1611-i998"

 

listRouters() should return PVLAN related parameters

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy Vm in this network.
3. List router details using listRouters()

listRouters() should return PVLAN related parameters - "isolationuri":"vlan://1611,"broadcasturi":"pvlan://1611-i998"

 

listNetworks() should return PVLAN related parameters

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy Vm in this network.
 3. List network details using listNetworks()

listNetworks() should return PVLAN  related parameters - "broadcasturi":"pvlan://1611-i998"

 

listVlanIpranges() should return PVLAN related parameters

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
 2. Deploy Vm in this network.
3. List  VLAN details using listVlanIpranges()

listVlanIpranges() does not need to return any PVLAN related parameters only Vlan entry is returned

 

PVLAN Vm States

 

 

 

Deploy Vm in a shared Network that is created by providing secondary Vlan. - User Vm check

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy multiple Vms in this network.

Vm should be deployed successfully.
For every Vm deployed following 2 entries should be created in the host:
ovs-ofctl dump-flows xenbr0
1. cookie=0x0, duration=306.296s, table=0, n_packets=51, n_bytes=7536, priority=60,dl_vlan=998,dl_src=06:07:c2:00:00:26 actions=output:1
2.  cookie=0x0, duration=306.3s, table=0, n_packets=51, n_bytes=7536, priority=50,vlan_tci=0x0000,dl_src=06:07:c2:00:00:26 actions=mod_vlan_vid:998,resubmit:1
Vms should NOT be able to communicate with each other.

 

Deploy Vm in a shared Network that is created by providing secondary Vlan. - Router Check

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy Vm in this network.

Vm should be deployed successfully.
For every router created following 3 entries should be created in the host:
ovs-ofctl dump-flows xenbr0
1. cookie=0x0, duration=3503.373s, table=0, n_packets=8, n_bytes=2748, priority=100,udp,dl_vlan=998,nw_dst=255.255.255.255,tp_dst=67 actions=strip_vlan,output:18
2. cookie=0x0, duration=3503.38s, table=0, n_packets=20, n_bytes=1148, priority=200,arp,dl_vlan=998,nw_dst=10.223.161.110 actions=strip_vlan,output:18
3.cookie=0x0, duration=3503.376s, table=0, n_packets=37, n_bytes=3176, priority=150,dl_vlan=998,dl_dst=06:e0:d8:00:00:1c actions=strip_vlan,output:18

Vm should be able to go out successfully.
Vm should be able to communicate with the router successfully.

 

PVLAN VM life cycle

 

 

 

Deploy Vm in a shared Network that is created by providing secondary Vlan. - User Vm check

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy multiple Vms in this network.

Vm should be deployed successfully.
For every Vm deployed following 2 entries should be created in the host:
ovs-ofctl dump-flows xenbr0
1. cookie=0x0, duration=306.296s, table=0, n_packets=51, n_bytes=7536, priority=60,dl_vlan=998,dl_src=06:07:c2:00:00:26 actions=output:1
2.  cookie=0x0, duration=306.3s, table=0, n_packets=51, n_bytes=7536, priority=50,vlan_tci=0x0000,dl_src=06:07:c2:00:00:26 actions=mod_vlan_vid:998,resubmit:1
Vms should NOT be able to communicate with each other.

 

Deploy Vm in a shared Network that is created by providing secondary Vlan. - Router Check

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy Vm in this network.

Vm should be deployed successfully.
For every router created following 3 entries should be created in the host:
ovs-ofctl dump-flows xenbr0
1. cookie=0x0, duration=3503.373s, table=0, n_packets=8, n_bytes=2748, priority=100,udp,dl_vlan=998,nw_dst=255.255.255.255,tp_dst=67 actions=strip_vlan,output:18
2. cookie=0x0, duration=3503.38s, table=0, n_packets=20, n_bytes=1148, priority=200,arp,dl_vlan=998,nw_dst=10.223.161.110 actions=strip_vlan,output:18
3.cookie=0x0, duration=3503.376s, table=0, n_packets=37, n_bytes=3176, priority=150,dl_vlan=998,dl_dst=06:e0:d8:00:00:1c actions=strip_vlan,output:18

Vm should be able to go out successfully.
Vm should be able to communicate with the router successfully.

 

Stop Vm

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy Vm in this network.
3. Stop VM.

Vm should be stopped successfully.
Following 2 entries of the Vm should get removed from the host:
ovs-ofctl dump-flows xenbr0
1. cookie=0x0, duration=306.296s, table=0, n_packets=51, n_bytes=7536, priority=60,dl_vlan=998,dl_src=06:07:c2:00:00:26 actions=output:1
2.  cookie=0x0, duration=306.3s, table=0, n_packets=51, n_bytes=7536, priority=50,vlan_tci=0x0000,dl_src=06:07:c2:00:00:26 actions=mod_vlan_vid:998,resubmit:1

 

Start Vm that is in stopped state

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
 2. Deploy few Vms in this network.
3. Stop VM.
 4. Start VM.

Vm should be stopped and started successfully.
For every Vm deployed following 2 entries should be removed when stopping the Vm and get added back when the Vm is started  in the host:
ovs-ofctl dump-flows xenbr0
1. cookie=0x0, duration=306.296s, table=0, n_packets=51, n_bytes=7536, priority=60,dl_vlan=998,dl_src=06:07:c2:00:00:26 actions=output:1
2.  cookie=0x0, duration=306.3s, table=0, n_packets=51, n_bytes=7536, priority=50,vlan_tci=0x0000,dl_src=06:07:c2:00:00:26 actions=mod_vlan_vid:998,resubmit:1
All VMs  in NW1 unable to access each other.
All VMs in NW1 able to reach DHCP server, gateway

 

reboot Vm

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy few Vms in this network.
3. Reboot VM.

Reboot of VM should be successful.
All VMs  in NW1 unable to access each other
All VMs in NW1 able to reach DHCP server, gateway

 

Destroy Vm

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy few Vms in this network.
3. Destroy VM.

Vm should be stopped & destroyed successfully.
Following 2 entries of the Vm should get removed from the host:
ovs-ofctl dump-flows xenbr0
1. cookie=0x0, duration=306.296s, table=0, n_packets=51, n_bytes=7536, priority=60,dl_vlan=998,dl_src=06:07:c2:00:00:26 actions=output:1
2.  cookie=0x0, duration=306.3s, table=0, n_packets=51, n_bytes=7536, priority=50,vlan_tci=0x0000,dl_src=06:07:c2:00:00:26 actions=mod_vlan_vid:998,resubmit:1

 

Restore Vm that is destroyed

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
 2. Deploy few Vms in this network.
 3. Destroy VM.
 4. Even before the expunge interval is passed , restore the VM.
5. Once the Vm is in stopped state , Start this VM.

After Vm is restored, Vm should be in Running state.
All VMs  in NW1 unable to access each other
All VMs in NW1 able to reach DHCP server, gateway
Following 2 entries of the Vm should get created in the host:
ovs-ofctl dump-flows xenbr0
1. cookie=0x0, duration=306.296s, table=0, n_packets=51, n_bytes=7536, priority=60,dl_vlan=998,dl_src=06:07:c2:00:00:26 actions=output:1
2.  cookie=0x0, duration=306.3s, table=0, n_packets=51, n_bytes=7536, priority=50,vlan_tci=0x0000,dl_src=06:07:c2:00:00:26 actions=mod_vlan_vid:998,resubmit:1

 

Expunge Vm that is  destroyed

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy few Vms in this network.
3. Destroy VM.
4. Wait for the Expunge interval to pass.

Vm should be Expunged successfully.

 

Expunge Vm that is  destroyed and deploy a Vm using the same Ip address as the expunged Vm.

1. Advance zone  Create  Shared NW1  scope zone  <pVLAN1, sVLAN1>.
2. Deploy few Vms in this network.
 3. Destroy VM.
4. Wait for the Expunge interval to pass.
5. Deploy a Vm using the same Ip address as the expunged Vm

Vm deployment shoud succeed.
As part of this VM deployment, router's /etc/dhcphost entry for the expunged Vm gets deleted and the entry pertaining to the new Vm is created.
Following 2 entries of the Vm should get created in the host:
ovs-ofctl dump-flows xenbr0
1. cookie=0x0, duration=306.296s, table=0, n_packets=51, n_bytes=7536, priority=60,dl_vlan=998,dl_src=06:07:c2:00:00:26 actions=output:1
2.  cookie=0x0, duration=306.3s, table=0, n_packets=51, n_bytes=7536, priority=50,vlan_tci=0x0000,dl_src=06:07:c2:00:00:26 actions=mod_vlan_vid:998,resubmit:1

 

 

 

 

 

UPGRADE

 

 

1

zone with Vcenter - DC1 -  cluster1 - Host1
                                                           Host2
upgrade :
add cluster2 Host3  to DC1
                 clusters in different subnet        

MS - advance zone Vcenter - DC1 -  cluster1 - Host1
                                                                          Host2
upgrade:
zone Vcenter - DC1 -  cluster1 - Host1
                                                    Host2
                                   cluster2 -  Host3

successful

1

zone with Vcenter - DC1 -  cluster1 - Host1
                                                           Host2
upgrade :
add  cluster2 Host3 to Vcenter DC1
add  DC2  cluster3 Host4 to Vcenter:
                Vcenter - DC1 -  cluster1 - Host1
                                                           Host2
                                           cluster2 - Host3
                                DC2 -  cluster3 - Host4
                 clusters in different subnet        

MS - advance zone Vcenter - DC1 -  cluster1 - Host1
                                                                          Host2
upgrade:
zone Vcenter - DC1 -  cluster1 - Host1
                                                   Host2
                                   cluster2 - Host3
                        DC2 -  cluster3 - Host4
  clusters in different subnet                         

successful

6

zone with Vcenter - DC1 -  cluster1 - Host1
                                                           Host2
upgrade :  add to current zone:
Vcenter1 - DC1 -  cluster1 - Host1
                            cluster2 - Host2
                 DC2 -  cluster3 - Host3
Vcenter2 - DC3 -  cluster1 - Host1
                            cluster2 - Host2
                 DC4 -  cluster3 - Host3
 clusters in different subnet              

MS - advance zone Vcenter - DC1 -  cluster1 - Host1
                                                                          Host2
upgrade:
Vcenter1 - DC1 -  cluster1 - Host1
                            cluster2 - Host2
                 DC2 -  cluster3 - Host3
Vcenter2 - DC3 -  cluster1 - Host1
                            cluster2 - Host2
                 DC4 -  cluster3 - Host3
 clusters in different subnet  

successful

  • No labels