Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

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

 

 

 

 

 

Test Case ID

Test Case Name

Steps

Expected Result

Priority
(P1 | P2|P3)

Test Case Type

Status

Comment

(Sanity/Functional/Upgrade/Performance)

Automatable
     (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 .

 

 

 

 

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

 

Addition of host to a cluster with
cpu overcommit capabilities<cluster cpu overcommit

 

1-CS should not allow addition of host

 

 

 

 

  Addition

4

Deploy vm in of host to a cluster with
cpu overcommit capabilities >= cluster cpu overcommit 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

 

 

 

1-CS should  allow addition of host

 

 

 

 

 

Addition of host to a cluster with
RAM overcommit capabilities<cluster RAM overcommit

 

1-CS should not allow addition of host

 

 

 

 

  Addition of host to

1-Login Through UI
2-Create a cluster with
RAM overcommit capabilities >= cluster RAM overcommit

 

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 

  1-CS should  allow addition of host

 

 

12

 

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

 

 

Addition of host to a cluster with
CPU and RAM overcommit capabilities<cluster CPU and RAM overcommit

 

1-CS should not allow addition of host

 

 

 

 

 

Addition of host to a cluster with
CPU and RAM overcommit capabilities >= cluster CPU andRAM overcommit

 

 

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  1-CS should  allow addition of host

 

 

 

 

16

Reboot

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

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


 

P2

Functional

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

18

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

 

 

 

 

 

 

 

 

Overcommit factor  conflict for xen

 

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

 

 

 

 

 

Overcommit factor  conflict for VMware

 

 

 

23

upgrade path

Pre upgrade steps
1-Deploy  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-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 1-Already deployed vm should not have any effect
2-only vm deployed here after should get deployed based on new Overcommit factor.

 

 

 

 

 

 

 

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

 

 

 

Overcommit factor  conflict for KVM

 

1-Already deployed vm should not have any effect
2-only vm deployed here after should get deployed based on new 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