Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
   1-while creating cluster set overcommit factor to x
2-deploy few vms and add soome host
3-Change overcommit factor to y
Dash board display
https://issues.apache.org/jira/browse/CLOUDSTACK-1538\\Image Removed
 

 

This feature  is implemented for following hypervisor  
  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)
Status (Pass|Fail)

Comment

1

UI/API check

1-Add cluster using  API addCluster

add cluster API should have new parameters  cpuovercommitratio and memoryovercommitratio

P0

Y

 

 

 

 

 

Pass

 

2

UI/API check

1- update overcommit ratio using API updateCluster with parameter cpuovercommitratio,memoryovercommitratio.

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

P0

Y

 

 

 

 

 

Pass

 

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

3

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   attribute ,name,value memoryOvercommitRatio  and value  for each cluster .

P0

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

P1 Y

  

Y 

3Capacity calculation

 

Pass

 

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

 

 

  

  

 Deploy VM in cluster

 

 

 

 

 

4

Deploy vm in a cluster with ram overcommit factor 2x a service offering(
ram=y)

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

1- VM in step 1 3 should get deployed
2-VM in step 2 should also get deployed
  

P1 P0

Functional

Y

Y

Y

Y

N

N

 

 

5

Deploy VM in cluster with ram overcommit factor 2x service offering(ram =y)

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

1- VM Deployment of vm in step 1 3 should get deployed
2-VM in step 2 should not  get deployed

P0

Functional

Y

Y

Y

Y

N

N

 

 

fail.

P1

Functional

Y

6

Deploy vm in a cluster with cpu overcommit factor 2x a service offering(
CPU=y)

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

1- VM in step 1 3 should get deployed 2-VM in step 2 should also get deployed

P0 P1

Functional

Y

Y

Y

Y

N

N

 

 

7

Deploy vm in a cluster with cpu overcommit factor 2x

1-deploy vm with cpu= x
2- deploy another VM with cpu >x

1- VM in step 1 should get deployed
2-VM in step 2 should not  get deployed

P0

Functional

Y

Y

Y

Y

N

N

 

 

8

a service offering(
CPU=y)

1-Create a Deploy vm in cluster with overcommit factor x . and total available ram = M
1-Deploy vm with aSO where ram=y GB
2-max and min will be y GB and y/x GB
3-Deploy  vms  such sum of all y>M

1-CS will choose a value in y/x to y such that total required ram will be < M.

P0

Functional(hold)


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

Y

Y

Y

Y

N

N

 

 

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-CS should allow addition of host independent of overcommit capacity
Should fail xen does not support mixed licensing

P2 P1

Fuctional

Y

Y

Y

Y

N

N

 

 

10

Change of Overcommit factor

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-it show not affect existing vms(until unless they are stop/start)
2-no effect host (assumption of homogeneous host)

P1

Functional

Y

Y

Y

Y

N

N

 

 

 

"overcommit factor update " effect on vm

 

 

 

 

 

 

 

 

 

 

 

 

 

1-Login Through UI
2-Create a cluster with overcommit ratio x
3-Deploy a vm 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 

 

 

  

12

 

 

 

 

 

 

11

5-when y<x and there is no(less than required) resource left in cluster according to new overcommit ratio y<x  (for Memory)
6-Deploy a  vm.


1-VM deployed in step 3 should not have any effect of y 
2-step 6  should fail  for both CPU and RAM
fail  

P1 P0

Functional

Y

Y

Y

Y

N

N

 

 

12

13

 

5-when y<x and there is enough resource left in cluster according to new overcommit ratio (for CPU)
6-Deploy a  vm.


1-VM deployed in step 3 should not have any effect of y 
2-step 6  should be successful for both CPU and RAM
fail

P1 P0

Functional

Y

Y

Y

Y

N

N

 14

 

13

 

5-when y>x and there is enough resource left in cluster according to new overcommit ratio (for Memory)
6-Deploy a  vm.


1-VM deployed in step 3 should not have any effect of step 6  should be successful

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

2-step 6  should be successful for both CPU and RAM
capacity calculation should be according  to test case 3 "capacity Calculation "

P2 P0

Functional

Y

Y

Y

Y

N

N

 

 

14 15

 

5-when y>x and there is not enouh resource left in cluster according to new overcommit ratio (For CPU)
6-Deploy a  vm.

1-VM deployed in step 3 should not have any effect of step 6  should be successfuland an entry should be created in user_vm_Detail table with cpu overcommit y

2-step 6  should fail for both CPU and RAM

P0

Functional

Y

Y

Y

Y

N

N

 

 

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

P1

Functional

Y

 

 VM Life cycle

 

 VM Life cycle

 

 

 

 

 

 

 

 

 

 

 

 

15

Reboot

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

14-Reboot all the vms in , deployed in step 2 when x>y all vm should come up without any

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


  

P2

 

 

 

 

 

 

 

 

17

 

Functional

Y

17

Reboot

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

all vm should come up without any failure

 

 

 

 

 

 

 

 

 

 

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

P2

Functional

Y

18

stop/start(destroy/restore)

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

1-all vm should get resource depend on new overcommit ratio
2-in case no resource available some vm will fail to start

 

 

 

 

 

 

 

 

 

 

19

 

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 1-Stop and start all the vms in deployed in step 2 when x<y

 

 

 

 

 

 

 

 

 

 

 

20

 

1-Stop and start one by one

some vm will not start

 

 

 

 

 

 

 

 

 

 

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 21

(manage/unmanage-Disable/enable  cluster)

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

1-Overcommit ratio value should not change

P1

Functional

Y

Y

Y

Y

N

N

Fail

get changed  for the  vms in user vm details table

P2

Functional

Y [https://issues.apache.org/jira/browse/CLOUDSTACK-1534]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

22

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.
2(cpu/mem) with same values as before upgrade
3-Check cluster detail table it should have some attribute to store overcommit factor for cluster.
3 4-in postupgrade step-2 vm should get deployed successfully .
4 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

Y

Y

Y
N

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23 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)

P1 P2

Functional

Y

Y

Y

Y

N

N

 

 

24

25

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

1- Deploy a vm Deploy  vms with a SO where ram=y ,limit(y/x ,y)

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

P1 P2

Functional

Y

Y

Y

Y

N

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25

Migrate vm from one cluster to another

vm should be able to migrate in any cluster ,having required resources available, irrespective of overcommit factor .

P0

Functional(hold)

Y

Y

Y

Y

N

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26

1-Check dashboard display at cluster level

should display resources based on overcommit ratio

P1

Functional

Y

Y

Y

Y

N

N

 

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

27

Change overcommit ratio

1-Create cluster with overcommit ratio x
2-have some vm
3-change overcommit ratio y(y<x)

1-Dash board display should not display >100% allocation

P3

Functional

Y

Y

Y

Y

N

N

 

 

28

overcommit ratio <1

1-Craete a cluster with overcommit ratio x
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ce9c3b36-0c28-48c6-b2fb-bac5b3cdc9ef"><ac:plain-text-body><![CDATA[ 2-Change overcommit ratio to <1

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

P3

Functional

Y

Y

Y

Y

N

N

Fail

[https://issues.apache.org/jira/browse/CLOUDSTACK-1528
]]></ac:plain-text-body></ac:structured-macro>
]

28

29

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

Y

Y

Y

N

N

 

 

30

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

Y

Y

N

N

 

 

31

cpu.overpovisioning .factor

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) set cpu.overpovisioning .factor to some value

1-should be calculated based on overcommit ratio 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

Y

Y

N

N

 

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