Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
 ]]></ac:plain-text-body></ac:structured-macro>

 

This feature  is implemented for following hypervisor   Following hypervisor support this feature
  1-VMWARE
  2-KVM 
  3-XEN

 

 

 

 

 

 

 

 

 

 

Test Case ID

Test Case Name

Steps

Expected Result

Priority
(P0 P1 | P2| P1P3)

Test Case Type
(Sanity/Functional/Upgrade/Performance)

Automatable (Y/N)
VMWARE      (Y/N)

KVM(Y/N)

XEN(Y/N)

OVM(Y/N)

BAREMETAL(Y/N)

1

 

UI/API check

1-Add cluster using  API addCluster

add cluster API should have new parameters  cpuovercommitratio and ramovercommitratio

 

 

 

 

 

 

 

 

 

UI/API check

1- Fire API UpdateOvercommitRatio with parameter cpuovercommitratio,ramovercommitratio.

response should contain " details of the updated cluster along with the overcommit ratios"

 

 

 

 

 

 

 

 

check cluster level settings for

cpu.overprovisioning.factor

mem.overprovisioning.factor

 

2- update overprovisioning  ratio using following API 

for cpu name=cpu.overprovisioning.factor

for memory name=mem=cpu.overprovisioning.factor

http://10.220.*.*:8096/client/api?command=updateConfiguration&clusterid=01d9a06d-f493-4764-88b0-5a093dfcb491&response=json&name=cpu.overprovisioning.factor&value=2

3-List cluster

1-cluster level setting should have both settings

2-using api mentioned 2 you shoul be able to change overprovisioning  factors

3-List cluster response should show overprovisioning  factors

P1

 

Y

2

 

DB check

1-Logoin through UI
2-create a cluster with overcommit and change overprovisioning.factor to x
3-Login to DB
4-check cluster detail check cluster_detail table

5-check user_vm_details table

1-There should be some be   attribute ,which  represent overcommit factor and should have store overcommit factor for the clusters .

 

 

 

 

 

 

 

 

 

Addition of host to a cluster

 

 

 

 

 

 

 

memoryOvercommitRatio  and value  for each cluster .

2-user_vm_details table should have entry for every vm  with cpu/mem.overprovisioning.factor

P1

 

Y

3Capacity calculation

used capacity

===========

 ( service offering of vm / overcommit it got deployed with) * new cpu/mem overcommit

(service offering of vm/overcommit value in user_vm_details table for that vm )*overCommit value in cluster details table for vm  cluster

Total capacity

===========

(cpu/mem).overprovisioning.factor*total actual capacity

 

 

1-calculate total capacity for cluster,pod,zone it should follow the  same formula

 

P1  

  

 Deploy VM in cluster

 

 

 

 

 

 

 

 

 

 

Where host cpu overcommit capabilities<cluster cpu overcommit 

 

1-CS should not allow addition of host

 

 

 

Y

Y

Y

N

N

 

where host cpu overcommit capabilities >= cluster cpu overcommit

 

1-CS should  allow addition of host

 

 

 

Y

Y

Y

N

N

 

where host RAM overcommit capabilities<cluster RAM overcommit 

 

1-CS should not allow addition of host

 

 

 

Y

Y

Y

N

N

 

where host RAM overcommit capabilities >= cluster RAM overcommit

 

1-CS should  allow addition of host

 

 

 

Y

Y

Y

N

N

 

where host CPU and RAM overcommit capabilities<cluster CPU and RAM overcommit 

 

1-CS should not allow addition of host

 

 

 

Y

Y

Y

N

N

4

Deploy vm in a cluster with a service offering(
ram=y)

1-Create a cluster with overcommit factor x
2- say total available memory on host is z
3-deploy N vms with service offering (ram=y) until z.x>=N.y

1- VM in step 3 should get deployed
  

P1

Functional

Y

5

Deploy VM in cluster with service offering(ram =y)

1-Create a cluster with overcommit factor x
2- say total available memory on host is z
3-deploy N vms with service offering (ram=y) until   z.x<N.y

1- Deployment of vm in step 3 should fail.

P1

Functional

Y

6

Deploy vm in a cluster with a service offering(
CPU=y)

1-Create a cluster with overcommit factor x
2- say total available CPU on host is z
3-deploy N vms with service offering (CPU=y) until  z.x>=N.y

1- VM in step 3 should get deployed

P1

Functional

Y

7

Deploy vm in a cluster with a service offering(
CPU=y)

1-Create a cluster with overcommit factor x
2- say total available CPU on host is z
3-deploy N vms with service offering (CPU=y) until z.x<N.y

1- Deployment of vm in step 3 should fail.

P1

Functional

Y

9

Addition of host to cluster

1- add host which have overcommit capacity (having licence)
2-Add another host wich don't have overcommit capacity (no licence)

1-Should fail xen does not support mixed licensing

P2

Fuctional

Y

11

weight

1-Deploy vms with different  service offerings

vm with different cpu speed (cpu speed*vcp ) should get different weight

P2

Functional

Y

 

"overcommit ratio update " effect on existing and new  vms and capacity calculation

 

 

 

where host CPU and RAM overcommit capabilities >= cluster CPU andRAM overcommit

 

1-CS should  allow addition of host

 

 

 

Y  

Y

Y

N

N

 

1-Login Through UI
2-Create a cluster with overcommit ratio x
3-Deploy vms so that no resource are left in cluster
4-Change overcommit ratio to y

1-VMs deployed in step-3 should have entry in user_vm_detail with overcommit x 

 

Where host cpu overcommit capabilities<cluster cpu overcommit

 

1-CS should  allow addition of host

 

 

 

12

 

 

 

 

 

 

Overcommit factor  conflict effect on vms

 

 

 

 

 

 

 

 

 

 

5-when y<x  (for Memory)
6-Deploy a  vm.


1-step 6  should fail  

P1

Functional

Y

13

 

5-when y<x (for CPU)
6-Deploy a  vm.


1-step 6  should fail

P1

Functional

Y

14

 

5-when y>x (for Memory)
6-Deploy a  vm.


1-step 6  should be successful

and an entry should be created in user_vm_Detail table with memory overcommit y

2-capacity calculation should be according  to test case 3 "capacity Calculation "

P2

Functional

Y

15

 

5-when y>x (For CPU)
6-Deploy a  vm.

1-step 6  should be successfuland an entry should be created in user_vm_Detail table with cpu overcommit y

2-capacity calculation should be according to test case 3 "capacity Calculation "

P1

Functional

Y

 

 VM Life cycle

 

 

1-Already deployed vm should not have any effect
2-Only vm deployed here after should get deployed based on new Overcommit factor.

 

 

 

Y

Y

Y

N

N

 

Overcommit factor  conflict effect on host in cluster

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1-set cluster overcommit ratio x
2-Deploy some vm such that no resources are available on current host
3-change overcommit ratio to y

1-VMs deployed in step-3 should have entry in user_vm_detail with overcommit x  

 

 

  

16

 

Reboot

4-Reboot all the vms , deployed in step 2 when x>y where host cpu overcommit cpabilities < new cpu overcommit factor

1-host should remain in cluster, but should not be available for vm deployment Overcommit value should not get changed  for the vms in user vm details table vm


  

P2

 Functional

Y
Y

17

Reboot

4-Reboot all the vms in deployed in step 2 when x<y

1-Overcommit value should not get changed  for the  vms in user vm details table

P2

Functional

Y

N 18

N

 

where host cpu overcommit cpabilities >= new cpu overcommit factor

1-host should remain in cluster, but should  be available for vm deployment

 

 

 

Y

Y

Y

N

N

 

where host ram overcommit cpabilities < new ram overcommit factor

 

1-host should remain in cluster, but should not be available for vm deployment

 

 

 

Y

Y

Y

N

N

 

where host ram overcommit cpabilities >= new ram overcommit factor

 

1-host should remain in cluster, but should  be available for vm deployment

 

 

 

Y

Y

Y

N

N

 

where host cpu and ram overcommit cpabilities < new  cpu and ram overcommit factor

 

1-host should remain in cluster, but should not be available for vm deployment

 

 

 

Y

Y

Y

N

N

 

where host CPU and RAM overcommit cpabilities >= new cpu and ram overcommit factor

 

1-host should remain in cluster, but should  be available for vm deployment

 

 

 

Y

Y

Y

N

N

stop/start

4-Stop and start all the vms in deployed in step 2 when x>y

1-Overcommit value should be changed to y for the  vms in user vm details table
2-If Summation of SO/Overcommit ratio for all vms< available actual memory and service ,
a-then all vm should come up without failure
b-else only few vms come up which satisfy above  condition

P2

Functional

Y

19

stop/start

4-Stop and start all the vms in deployed in step 2 when x<y

1-Overcommit value should be changed to y for the  vms in user vm details table

2-all VM should come up without failure

P2

Functional

Y

20

destroy/restore ->start

4-Destroy and restore and start  all the vms in deployed in step 2 when x>y

1-Overcommit value should be changed to y for the  vms in user vm details table
2-If Summation of SO/Overcommit ratio for all vms< available actual memory and service ,
a-then all vm should come up without failure
b-else only few vms come up which satisfy above  condition

P2

Functional

Y

21

destroy/restore ->start

1-destroy/restore->start  all the vms in deployed in step 2 when x<y

1-Overcommit value should be changed to y for the  vms in user vm details table
2-all VM should come up without failure

P2

Functional

Y

22

(manage/unmanage-Disable/enable  cluster)

1-Create a cluster with overcommit ratio x
2-unmanage-manage cluster

1-Overcommit value should not get changed  for the  vms in user vm details table

P2

Functional

Y

 

 

 

 

 

Upgrade from 4.0 to 4.1

 

 

 

 

 

 

 

 

 

  

23

upgrade path

Pre upgrade steps
1-Disable overcommit feature and do normal upgrade
2-Manually enable featureDeploy  some vms
2-Have some snapshot and template

3-set cpu overcommit  to x

4- set vmware.reserve.(mem/cpu) to true

Post upgrade steps
1-add cluster with overcommit factor x
2-Deploy a vm  where required resource for vm <= resource available in cluster according to overcommit factor
3-Deploy a vm where required resource for vm > resource available in cluster according to overcommit factor
4-stop vms and change overcommit ratio .
5-Start vms .

1- Upgrade should be successful .

2-feature should be successfully enable.

 

 

 

 

 

 

check cluster and global level settings it should list

(cpu/mem).overcommit.factor and vmware.reserve.(cpu/mem) with same values as before upgrade
3-Check cluster detail table it should have some attribute to store overcommit factor for cluster.
4-in postupgrade step-2 vm should get deployed successfully .
5- In postupgrade step-3 vm deployment should fail. 
6-in step 5 ,vm should  get max min resource based on new overcommit ratio.

 

Upgrade

Y 

 

 

Effect of contention on vms

 

 

 

 

 

 

 

 

 

 

 

CPU contention

 

24

Number of max VM can be deployed (CPU overcommit factor x, actual cpu C) in case enough RAM  available.

1- Deploy a vm with a SO where cpu=y .

number of vm must be limited by n*y*vcpu/x<C (nummber of vm *lower value of ram*vcpu < total cpu in cluster)

P2

Functional

Y

25

Number of max VM can be deployed (RAM overcommit factor x, actual ram M) if  enough CPUs are available.

1- Deploy  vms with a SO where ram=y ,

number of vm must be limited by n*y/x<M (nummber of vm *lower value of ram < total available memory on current  host)

P2

Functional

Y VM should get assigne to CPU=(CPU define in SO/CPU overcommit factor)

 

 

 

 

 

 

 

 

  RAM contention

 

VM should get assigne to RAM=(RAM define in SO/RAM overcommit factor)

 

 

 

 

 

 

 

 

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="2e9d4b44-e8f4-4076-9215-831eb998706f"><ac:plain-text-body><![CDATA[

 

CPU and RAM contention

 

VM should get assigne to (CPU/RAM)=[(CPU/RAM) define in SO/(CPU/RAM) overcommit factor]

 

 

 

 

 

 

 

 

26

Dash board display for multi cluster environment

1- Add xen , vmware, kvm clusters

2- set (cpu/meme) overpovisioning to x for xen cluster and check zone total capacity

3- set (cpu/mem)overpovisioning to x for kvm cluster and check zone total capacity

4- set (cpu/mem)overpovisioning to x for vmware cluster and check zone total capacity

1-Total  capacity should be[ x.(xen cluster capacity)+kvm cluster capacity+vmware cluster capacity]

2-In step 1-Total  capacity should be[ x.(kvm cluster capacity)+xen cluster capacity+vmware cluster capacity]

3-in step 4-Total  capacity should be [x.(vmware cluster capacity)+kvm cluster capacity+xen cluster capacity]

P2

Functional

Y

27

overcommit ratio <1

1-Craete a cluster with overcommit ratio x
2-Change overcommit ratio to <1

1-Cs should not allow to set overcommit ratio <1

P3

Functional

Y

28

cluster.cpu.allocated.capacity.disablethreshold

set cluster.cpu.allocated.capacity.disablethreshold
to some value say .85

1-Should be calculated based on overcommit ratio

P2

Functional

Y

29

cluster.cpu.allocated.capacity.notificationThreshold

set cluster.cpu.allocated.capacity.notificationThreshold
to some value

1-should be calculated based on overcommit ratio

P2

Functional

Y

30

cpu.overpovisioning .factor

set cpu.overpovisioning .factor to some value

1-Expected to  be there in Global settings

P2

Functional

Y

31

cluster.memory.allocated.capacity.disablethreshold

set
cluster.memory.allocated.capacity.disablethreshold
to some value(say 0.5)

1-should be calculated based on overcommited memory

P2

functional

Y

32

cluster.memory.allocated.capacity.notificationthreshold

set cluster.memory.allocated.capacity.notificationthreshold
to some value(say 0.5)

1-should be calculated based on overcommited memory

P2

Functional

Y

34

vmware.reserver.cpu

 

1-set cpu.overpovisioning .factor  to x>1

2- set vmware.reserver.cpu to false and deploy vm

3-set vmware.reserver.cpu to true and deploy vm

1-In step 2 vm should get deployed and no cpu resource should get reserved for the vm

2-in step 3 vm should get deployed and  cpu =cpu in so/x  resource should get reserved for the vm

P1FunctionalY
35vmware.reserver.mem

1-set cpu.overpovisioning .factor  to x>1

2- set vmware.reserver.mem to false and deploy vm

3-set vmware.reserver.memto true and deploy vm

1-In step 2 vm should get deployed and no mem resource should get reserved for the vm

2-in step 3 vm should get deployed and mem= mem in so/x   resource should get reserved for the vm
P!FunctionalY