def test_04_zone_capacity_check(self): """change cpu/mem.overprovisioning.factor at cluster level for all cluster in a zone and verify capacity at zone level """ list_cluster = Cluster.list(self.apiclient, zoneid=self.zone.id) self.assertEqual( validateList(list_cluster)[0], PASS, "check list cluster response for zone id %s" % self.zone.id) k = len(list_cluster) for id in xrange(k): Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="mem.overprovisioning.factor", value=1) Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="cpu.overprovisioning.factor", value=1) time.sleep(self.wait_time) capacity = Capacities.list(self.apiclient, zoneid=self.zone.id) self.assertEqual( validateList(capacity)[0], PASS, "check list capacity response for zone id %s" % self.zone.id) cpu, mem = capacity_parser(capacity) for id in xrange(k): Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="mem.overprovisioning.factor", value=2) Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="cpu.overprovisioning.factor", value=2) time.sleep(self.wait_time) capacity1 = Capacities.list(self.apiclient, zoneid=self.zone.id) self.assertEqual( validateList(capacity1)[0], PASS, "check list capacity for zone id %s" % self.zone.id) cpu1, mem1 = capacity_parser(capacity1) self.assertEqual(2 * cpu[0], cpu1[0], "check total capacity ") self.assertEqual(2 * cpu[1], cpu1[1], "check capacity used") self.assertEqual(cpu[2], cpu1[2], "check capacity % used") self.assertEqual(2 * mem[0], mem1[0], "check mem total capacity ") self.assertEqual(2 * mem[1], mem1[1], "check mem capacity used") self.assertEqual(mem[2], mem1[2], "check mem capacity % used") for id in xrange(k): Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="mem.overprovisioning.factor", value=1) Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="cpu.overprovisioning.factor", value=1)
def test_03_cluste_capacity_check(self): """change cpu/mem.overprovisioning.factor at cluster level and verify cluster capacity """ listHost = Host.list(self.apiclient, id=self.deployVmResponse.hostid) self.assertEqual( validateList(listHost)[0], PASS, "check list host for host id %s" % self.deployVmResponse.hostid) Configurations.update(self.apiclient, clusterid=listHost[0].clusterid, name="mem.overprovisioning.factor", value=1) Configurations.update(self.apiclient, clusterid=listHost[0].clusterid, name="cpu.overprovisioning.factor", value=1) time.sleep(self.wait_time) capacity = Capacities.list(self.apiclient, clusterid=listHost[0].clusterid) self.assertEqual( validateList(capacity)[0], PASS, "check list capacity response for cluster id %s" % listHost[0].clusterid) cpu, mem = capacity_parser(capacity) Configurations.update(self.apiclient, clusterid=listHost[0].clusterid, name="mem.overprovisioning.factor", value=2) Configurations.update(self.apiclient, clusterid=listHost[0].clusterid, name="cpu.overprovisioning.factor", value=2) time.sleep(self.wait_time) capacity1 = Capacities.list(self.apiclient, clusterid=listHost[0].clusterid) self.assertEqual( validateList(capacity1)[0], PASS, "check list capacity response for cluster id %s" % listHost[0].clusterid) cpu1, mem1 = capacity_parser(capacity1) self.assertEqual(2 * cpu[0], cpu1[0], "check total capacity ") self.assertEqual(2 * cpu[1], cpu1[1], "check capacity used") self.assertEqual(cpu[2], cpu1[2], "check capacity % used") self.assertEqual(2 * mem[0], mem1[0], "check mem total capacity ") self.assertEqual(2 * mem[1], mem1[1], "check mem capacity used") self.assertEqual(mem[2], mem1[2], "check mem capacity % used")
def test_list_pod_with_overcommit(self): """Test List Pod Api with cluster CPU and Memory OverProvisioning """ podlist = Pod.list(self.apiclient) for pod in podlist: clusterlist = Cluster.list(self.apiclient, podid=pod.id) if len(clusterlist) > 1: updateCpuOvercommitCmd = updateConfiguration.updateConfigurationCmd() updateCpuOvercommitCmd.clusterid = clusterlist[0].id updateCpuOvercommitCmd.name="cpu.overprovisioning.factor" if clusterlist[0].cpuovercommitratio == clusterlist[1].cpuovercommitratio and clusterlist[0].cpuovercommitratio == "1.0": cpuovercommit = "1.0" updateCpuOvercommitCmd.value="2.0" self.apiclient.updateConfiguration(updateCpuOvercommitCmd) elif clusterlist[0].cpuovercommitratio != clusterlist[1].cpuovercommitratio: cpuovercommit = clusterlist[0].cpuovercommitratio else: cpuovercommit = clusterlist[0].cpuovercommitratio updateCpuOvercommitCmd.value="1.0" self.apiclient.updateConfiguration(updateCpuOvercommitCmd) updateMemoryOvercommitCmd = updateConfiguration.updateConfigurationCmd() updateMemoryOvercommitCmd.clusterid = clusterlist[0].id updateMemoryOvercommitCmd.name="mem.overprovisioning.factor" if clusterlist[0].memoryovercommitratio == clusterlist[1].memoryovercommitratio and clusterlist[0].memoryovercommitratio == "1.0": memoryovercommit = "1.0" updateMemoryOvercommitCmd.value="2.0" self.apiclient.updateConfiguration(updateMemoryOvercommitCmd) elif clusterlist[0].memoryovercommitratio != clusterlist[1].memoryovercommitratio: memoryovercommit = clusterlist[0].memoryovercommitratio else: memoryovercommit = clusterlist[0].memoryovercommitratio updateMemoryOvercommitCmd.value="1.0" self.apiclient.updateConfiguration(updateMemoryOvercommitCmd) podWithCap = Pod.list(self.apiclient, id=pod.id, showcapacities=True) cpucapacity = Capacities.list(self.apiclient, podid=pod.id, type=1) memorycapacity = Capacities.list(self.apiclient, podid=pod.id, type=0) updateCpuOvercommitCmd.value = cpuovercommit updateMemoryOvercommitCmd.value = memoryovercommit self.apiclient.updateConfiguration(updateCpuOvercommitCmd) self.apiclient.updateConfiguration(updateMemoryOvercommitCmd) self.assertEqual( [cap for cap in podWithCap[0].capacity if cap.type == 1][0].capacitytotal, cpucapacity[0].capacitytotal, "listPods api returns wrong CPU capacity " ) self.assertEqual( [cap for cap in podWithCap[0].capacity if cap.type == 0][0].capacitytotal, memorycapacity[0].capacitytotal, "listPods api returns wrong memory capacity" )
def test_04_zone_capacity_check(self): """change cpu/mem.overprovisioning.factor at cluster level for all cluster in a zone and verify capacity at zone level """ list_cluster = Cluster.list(self.apiclient, zoneid=self.zone.id) self.assertEqual( validateList(list_cluster)[0], PASS, "check list cluster response for zone id %s" % self.zone.id) k = len(list_cluster) for id in xrange(k): Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="mem.overprovisioning.factor", value=1) Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="cpu.overprovisioning.factor", value=1) time.sleep(self.wait_time) capacity = Capacities.list(self.apiclient, zoneid=self.zone.id) self.assertEqual( validateList(capacity)[0], PASS, "check list capacity response for zone id %s" % self.zone.id) cpu, mem = capacity_parser(capacity) for id in xrange(k): Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="mem.overprovisioning.factor", value=2) Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="cpu.overprovisioning.factor", value=2) time.sleep(self.wait_time) capacity1 = Capacities.list(self.apiclient, zoneid=self.zone.id) self.assertEqual(validateList(capacity1)[0], PASS, "check list capacity for zone id %s" % self.zone.id) cpu1, mem1 = capacity_parser(capacity1) self.assertEqual(2 * cpu[0], cpu1[0], "check total capacity ") self.assertEqual(2 * cpu[1], cpu1[1], "check capacity used") self.assertEqual(cpu[2], cpu1[2], "check capacity % used") self.assertEqual(2 * mem[0], mem1[0], "check mem total capacity ") self.assertEqual(2 * mem[1], mem1[1], "check mem capacity used") self.assertEqual(mem[2], mem1[2], "check mem capacity % used") for id in xrange(k): Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="mem.overprovisioning.factor", value=1) Configurations.update(self.apiclient, clusterid=list_cluster[id].id, name="cpu.overprovisioning.factor", value=1)
def test_03_cluste_capacity_check(self): """change cpu/mem.overprovisioning.factor at cluster level and verify cluster capacity """ listHost = Host.list(self.apiclient, id=self.deployVmResponse.hostid ) self.assertEqual( validateList(listHost)[0], PASS, "check list host for host id %s" % self.deployVmResponse.hostid) Configurations.update(self.apiclient, clusterid=listHost[0].clusterid, name="mem.overprovisioning.factor", value=1) Configurations.update(self.apiclient, clusterid=listHost[0].clusterid, name="cpu.overprovisioning.factor", value=1) time.sleep(self.wait_time) capacity = Capacities.list(self.apiclient, clusterid=listHost[0].clusterid) self.assertEqual( validateList(capacity)[0], PASS, "check list capacity response for cluster id %s" % listHost[0].clusterid) cpu, mem = capacity_parser(capacity) Configurations.update(self.apiclient, clusterid=listHost[0].clusterid, name="mem.overprovisioning.factor", value=2) Configurations.update(self.apiclient, clusterid=listHost[0].clusterid, name="cpu.overprovisioning.factor", value=2) time.sleep(self.wait_time) capacity1 = Capacities.list(self.apiclient, clusterid=listHost[0].clusterid) self.assertEqual( validateList(capacity1)[0], PASS, "check list capacity response for cluster id %s" % listHost[0].clusterid) cpu1, mem1 = capacity_parser(capacity1) self.assertEqual(2 * cpu[0], cpu1[0], "check total capacity ") self.assertEqual(2 * cpu[1], cpu1[1], "check capacity used") self.assertEqual(cpu[2], cpu1[2], "check capacity % used") self.assertEqual(2 * mem[0], mem1[0], "check mem total capacity ") self.assertEqual(2 * mem[1], mem1[1], "check mem capacity used") self.assertEqual(mem[2], mem1[2], "check mem capacity % used")
def test_list_pod_with_overcommit(self): """Test List Pod Api with cluster CPU and Memory OverProvisioning """ podlist = Pod.list(self.apiclient) for pod in podlist: clusterlist = Cluster.list(self.apiclient, podid=pod.id) if len(clusterlist) > 1: updateCpuOvercommitCmd = updateConfiguration.updateConfigurationCmd( ) updateCpuOvercommitCmd.clusterid = clusterlist[0].id updateCpuOvercommitCmd.name = "cpu.overprovisioning.factor" if clusterlist[0].cpuovercommitratio == clusterlist[ 1].cpuovercommitratio and clusterlist[ 0].cpuovercommitratio == "1.0": cpuovercommit = "1.0" updateCpuOvercommitCmd.value = "2.0" self.apiclient.updateConfiguration(updateCpuOvercommitCmd) elif clusterlist[0].cpuovercommitratio != clusterlist[ 1].cpuovercommitratio: cpuovercommit = clusterlist[0].cpuovercommitratio else: cpuovercommit = clusterlist[0].cpuovercommitratio updateCpuOvercommitCmd.value = "1.0" self.apiclient.updateConfiguration(updateCpuOvercommitCmd) updateMemoryOvercommitCmd = updateConfiguration.updateConfigurationCmd( ) updateMemoryOvercommitCmd.clusterid = clusterlist[0].id updateMemoryOvercommitCmd.name = "mem.overprovisioning.factor" if clusterlist[0].memoryovercommitratio == clusterlist[ 1].memoryovercommitratio and clusterlist[ 0].memoryovercommitratio == "1.0": memoryovercommit = "1.0" updateMemoryOvercommitCmd.value = "2.0" self.apiclient.updateConfiguration( updateMemoryOvercommitCmd) elif clusterlist[0].memoryovercommitratio != clusterlist[ 1].memoryovercommitratio: memoryovercommit = clusterlist[0].memoryovercommitratio else: memoryovercommit = clusterlist[0].memoryovercommitratio updateMemoryOvercommitCmd.value = "1.0" self.apiclient.updateConfiguration( updateMemoryOvercommitCmd) podWithCap = Pod.list(self.apiclient, id=pod.id, showcapacities=True) cpucapacity = Capacities.list(self.apiclient, podid=pod.id, type=1) memorycapacity = Capacities.list(self.apiclient, podid=pod.id, type=0) updateCpuOvercommitCmd.value = cpuovercommit updateMemoryOvercommitCmd.value = memoryovercommit self.apiclient.updateConfiguration(updateCpuOvercommitCmd) self.apiclient.updateConfiguration(updateMemoryOvercommitCmd) self.assertEqual([ cap for cap in podWithCap[0].capacity if cap.type == 1 ][0].capacitytotal, cpucapacity[0].capacitytotal, "listPods api returns wrong CPU capacity ") self.assertEqual([ cap for cap in podWithCap[0].capacity if cap.type == 0 ][0].capacitytotal, memorycapacity[0].capacitytotal, "listPods api returns wrong memory capacity")