def test_resize_to_xxlarge_instance(self): """ Resize the instance to xxlarge """ dbaas = self.dbaas_provider.client.reddwarfclient if testutil.isInstanceActive(dbaas, instanceId=self.instance_id): dbaas.instances.resize_instance(self.instance_id, self.flavorTypes.xxlarge) httpCode = testutil.get_last_response_code(dbaas) self.assertTrue(httpCode == '202', "Create instance failed with code %s" % httpCode) testutil.waitForActive(dbaas, instanceId=self.instance_id) self.assertTrue(testutil.getInstanceStatus(dbaas, instanceId=self.instance_id) == 'ACTIVE', "Instance is not in Active statue") newFlavorSize = dbaas.instances.get(self.instance_id).flavor['id'] self.assertTrue(newFlavorSize == str(self.flavorTypes.xxlarge), "Unexpected flavor size for resize: %s" % newFlavorSize) #Resize back to tiny if testutil.isInstanceActive(dbaas, instanceId=self.instance_id): dbaas.instances.resize_instance(self.instance_id, self.flavorTypes.tiny) httpCode = testutil.get_last_response_code(dbaas) self.assertTrue(httpCode == '202', "Create instance failed with code %s" % httpCode) testutil.waitForActive(dbaas, instanceId=self.instance_id) self.assertTrue(testutil.getInstanceStatus(dbaas, instanceId=self.instance_id) == 'ACTIVE', "Instance is not in Active statue")
def tearDownClass(cls): """ Tearing down: Deleting the instance if in active state """ #Delete the instance ID created for test if active status = testutil.getInstanceStatus(cls.dbaas_creator, cls.creator_instance_id) if testutil.isInstanceActive(cls.dbaas_creator, instanceStatus=status): cls.dbaas_admin.instances.get(cls.creator_instance_id).delete() status = testutil.getInstanceStatus(cls.dbaas_admin, cls.admin_instance_id) if testutil.isInstanceActive(cls.dbaas_admin, instanceStatus=status): cls.dbaas_admin.instances.get(cls.admin_instance_id).delete()
def setUp(cls): """ Run this setup for each test to ensure an active instance is available """ tc_name = "Create Instance" instance_status = testutil.getInstanceStatus(cls.mgmt_dbaas, instanceId=cls.instance_id) if (testutil.isInstanceActive(cls.mgmt_dbaas, instanceStatus=instance_status) is False): # delete non-Active instance test_actions.mgmt_dbaas.instances.get(cls.instance_id).delete() # start a new instance and set the global instance ID NAME = "qe-mgmt-actions-testing" FLAVOR = 1 VOLUME = 1 try: instance = cls.mgmt_dbaas.instances.create( name=NAME, flavor_id=FLAVOR, volume={"size": VOLUME}, databases=[{"databases": [{"name": "databaseA"}], "name": "dbuser1", "password": "******"}]) httpCode = testutil.get_last_response_code(cls.mgmt_dbaas) if httpCode != '200': raise Exception("Create instance failed with code %s" % (httpCode)) cls.instance_id = instance.id cls.instance = instance testutil.waitForActive(cls.mgmt_dbaas, instanceId=cls.instance_id) except Exception as e: self.fixture_log.debug("\tException: %r" % (e)) raise
def setUp(self): """ Run this setup for each test to ensure an active instance is available """ super(SmokeTest, self).setUp() tc_name = "Create Instance" instance_status = testutil.getInstanceStatus(self.dbaas, instanceId=self.instance_id) if (testutil.isInstanceActive(self.dbaas, instanceStatus=instance_status) is False): #start a new instance and set the global instance ID NAME = "qe-smoke" FLAVOR = 4 VOLUME = 1 try: instance = self.dbaas.instances.create( name=NAME, flavor_id=FLAVOR, volume={"size": VOLUME}, databases=[{"databases": [{"name": "databaseA"}], "name": "dbuser1", "password": "******"}]) httpCode = testutil.get_last_response_code(self.dbaas) if httpCode != '200': raise Exception("Create instance failed with code %s" % httpCode) self.instance_id = instance.id testutil.waitForActive(self.dbaas, instanceId=self.instance_id) if self.stability_mode: testutil.write_to_report(tc_name, tc_pass=True) except Exception as e: if self.stability_mode: testutil.write_to_error_report(self.instance_id, repr(e)) testutil.write_to_report(tc_name, tc_pass=False) raise
def test_resize_volume_instance(self): """ Resize the volume of an instance """ dbaas = self.dbaas_provider.client.reddwarfclient if testutil.isInstanceActive(dbaas, instanceId=self.instance_id): dbaas.instances.resize_volume(self.instance_id, self.ResizeUpSizes.lev1) httpCode = testutil.get_last_response_code(dbaas) self.assertTrue(httpCode == '202', "Create instance failed with code %s" % httpCode) testutil.waitForActive(dbaas, instanceId=self.instance_id) self.assertTrue(testutil.getInstanceStatus(dbaas, instanceId=self.instance_id) == 'ACTIVE', "Instance is not in Active statue") newVolume = dbaas.instances.get(self.instance_id).volume['size'] self.assertTrue(newVolume == self.ResizeUpSizes.lev1, "Expected new volume size %s: Got %s " % (self.ResizeUpSizes.lev1, newVolume)) if testutil.isInstanceActive(dbaas, instanceId=self.instance_id): dbaas.instances.resize_volume(self.instance_id, self.ResizeUpSizes.lev2) httpCode = testutil.get_last_response_code(dbaas) self.assertTrue(httpCode == '202', "Create instance failed with code %s" % httpCode) testutil.waitForActive(dbaas, instanceId=self.instance_id) self.assertTrue(testutil.getInstanceStatus(dbaas, instanceId=self.instance_id) == 'ACTIVE', "Instance is not in Active statue") newVolume = dbaas.instances.get(self.instance_id).volume['size'] self.assertTrue(newVolume == self.ResizeUpSizes.lev2, "Expected new volume size %s: Got %s " % (self.ResizeUpSizes.lev2, newVolume)) if testutil.isInstanceActive(dbaas, instanceId=self.instance_id): dbaas.instances.resize_volume(self.instance_id, self.ResizeUpSizes.lev3) httpCode = testutil.get_last_response_code(dbaas) self.assertTrue(httpCode == '202', "Create instance failed with code %s" % httpCode) testutil.waitForActive(dbaas, instanceId=self.instance_id) self.assertTrue(testutil.getInstanceStatus(dbaas, instanceId=self.instance_id) == 'ACTIVE', "Instance is not in Active statue") newVolume = dbaas.instances.get(self.instance_id).volume['size'] self.assertTrue(newVolume == self.ResizeUpSizes.lev3, "Expected new volume size %s: Got %s " % (self.ResizeUpSizes.lev3, newVolume))
def tearDownClass(cls): """ Tearing down: Deleting the instance if in active state """ status = None # Delete the instances created for test if active for inst_id in cls.instance_id_list: status = testutil.getInstanceStatus(cls.client, inst_id) if testutil.isInstanceActive(cls.client, instanceStatus=status): # print("tearDownClass - Deleting: %r" % # cls.client.instances.get(inst_id).id) cls.client.instances.get(inst_id).delete()
def tearDownClass(cls): """ Tearing down: Deleting the instance if in active state """ #Delete the instance ID created for test if active if cls.instance_id is not None: status = testutil.getInstanceStatus(cls.dbaas, instanceId=cls.instance_id) if testutil.isInstanceActive(cls.dbaas, instanceStatus=status): cls.dbaas.instances.get(cls.instance_id).delete()
def tearDownClass(cls): """ Tearing down: Deleting the instance if in active state """ instance_id = test_resize_volume_instances.instance_id dbaas = test_resize_volume_instances.dbaas #Delete the instance ID created for test if active if instance_id is not None: status = testutil.getInstanceStatus(dbaas, instanceId=instance_id) if testutil.isInstanceActive(dbaas, instanceStatus=status): dbaas.instances.get(instance_id).delete()
def test_performance(self): #Create the Instance to use self.fh.write("Creating the perf instance\n") instance_id = testutil.create_perf_instance(self.client) instance_hostname = testutil.getInstanceHostname(self.client, instance_id) self.fh.write("Connecting to the perf server %s\n" % self.config.dbaas.perf_server) conn = self.connection(host=self.config.dbaas.perf_server, uname=self.config.dbaas.perf_server_user, pw=self.config.dbaas.perf_server_password) time.sleep(5) iuser_name = "perfUser" iuser_password = "******" idb_name = "perfDB" #Commands prep = 'sysbench --test=oltp --oltp-table-size=2000000 --mysql-user='******' --mysql-password='******' --mysql-host=' \ + instance_hostname + ' --mysql-database=' \ + idb_name + ' --mysql-table-engine=innodb prepare' runtest = 'sysbench --max-time=3600 --num-threads=124 --max-requests=2000000 --test=oltp --mysql-user='******' --mysql-password='******' --mysql-host=' + \ instance_hostname + ' --mysql-database=' + \ idb_name + ' run' cleanup = 'sysbench --test=oltp --mysql-user='******' --mysql-host=' + \ instance_hostname + ' --mysql-password='******' --mysql-database=' + \ idb_name + ' cleanup' self.run_command(conn, prep) self.run_command(conn, runtest) self.run_command(conn, cleanup) conn.close() #Delete the instance self.fh.write("Deleting the perf instance\n") status = testutil.getInstanceStatus(self.client, instance_id) if testutil.isInstanceActive(self.client, instanceStatus=status): self.client.instances.get(instance_id).delete() self.fh.close()