def test_assign_pci_stop_start_instance(self):
	pci.get_pci_config(self)
        for info in self.infoList:
            info = info.split(':')
            name = info[0]
            pciid = info[1]

            flavor_with_pci_id = pci.create_flavor_with_extra_specs(self,name)

            admin_pass = self.image_ssh_password

            p, _ = pci.gen_rc_local_file()
            cont = pci.gen_rc_local_dict(pci.RC_LSPCI)
            # fstab = pci.gen_etc_fstab()
            print cont
            personality = [
                {'path': "/etc/rc.local",
                 'contents': cont}]
            #     {'path': "/etc/fstab",
            #      'contents': fstab}]

            user_data = pci.gen_user_data("\n".join(pci.CONSOLE_DATA))

            server_with_pci = (self.create_test_server(
                                      wait_until='ACTIVE',
                                      user_data=user_data,
                                      personality=personality,
                                      adminPass=admin_pass,
                                      flavor=flavor_with_pci_id))

            addresses = self.client.show_server(server_with_pci['id'])['server']

            password = '******'
	    self.server_id = server_with_pci['id']
            print self.server_id
            print "cubswin:)"
            pci_info = pci.retry_get_pci_output(
                self.client.get_console_output, self.server_id)

            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)

	    self.servers_client.reboot_server(self.server_id, type='HARD')
            waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')
            print self.server_id
            print "cubswin:)"

            pci_info = pci.retry_get_pci_output(
                self.client.get_console_output, self.server_id,
                DELIMITER="RC LSPCI")

            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)
    def test_assign_single_pci_to_instance(self):
        #Get PCI related parameter and ready
        pci.get_pci_config(self)
        for info in self.infoList:
            info = info.split(':')
            name = info[0]
            pciid = info[1]

            flavor_with_pci_id = pci.create_flavor_with_extra_specs(self,name)
            admin_pass = self.image_ssh_password

            p, _ = pci.gen_rc_local_file()
            cont = pci.gen_rc_local_dict()
            fstab = pci.gen_etc_fstab()

            cont = pci.gen_rc_local_dict(pci.RC_LSPCI)
            # personality = []
            personality = [
                {'path': "/etc/rc.local",
                 'contents': cont}]

            user_data = pci.gen_user_data("\n".join(pci.CONSOLE_DATA))

            server_with_pci = (self.create_test_server(
                                      wait_until='ACTIVE',
                                      adminPass=admin_pass,
                                      user_data=user_data,
                                      personality=personality,
                                      flavor=flavor_with_pci_id))
            #print self.client.get_server_metadata_item(server_with_pci['id'],"addresses")
            addresses = self.client.show_server(server_with_pci['id'])['server']
            password = '******'

            print "cirros@" + addresses["addresses"]["private"][0]["addr"]
            print password
            pci_info = pci.retry_get_pci_output(
                self.client.get_console_output, server_with_pci["id"])

            # pci_info = pci.get_pci_info(disk)
            # pci_flag = linux_client.get_pci(pciid)
            expect_pci = filter(lambda x: pciid in x, pci_info)

            # self.assertTrue(pci_flag is not None)
            self.assertTrue(not not expect_pci)

            # pci_count = linux_client.get_pci_count(pciid)
            pci_count = len(expect_pci)

	    # pci_count = pci_count.strip()
	    self.assertEqual(1, pci_count)
    def test_assign_single_pci_to_instance(self):
        #Get PCI related parameter and ready
        pci.get_pci_config(self)
        for info in self.infoList:
            info = info.split(':')
            name = info[0]
            pciid = info[1]

            flavor_with_pci_id = pci.create_flavor_with_extra_specs(self, name)
            admin_pass = self.image_ssh_password

            p, _ = pci.gen_rc_local_file()
            cont = pci.gen_rc_local_dict()
            fstab = pci.gen_etc_fstab()

            cont = pci.gen_rc_local_dict(pci.RC_LSPCI)
            # personality = []
            personality = [{'path': "/etc/rc.local", 'contents': cont}]

            user_data = pci.gen_user_data("\n".join(pci.CONSOLE_DATA))

            server_with_pci = (self.create_test_server(
                wait_until='ACTIVE',
                adminPass=admin_pass,
                user_data=user_data,
                personality=personality,
                flavor=flavor_with_pci_id))
            #print self.client.get_server_metadata_item(server_with_pci['id'],"addresses")
            addresses = self.client.show_server(
                server_with_pci['id'])['server']
            password = '******'

            print "cirros@" + addresses["addresses"]["private"][0]["addr"]
            print password
            pci_info = pci.retry_get_pci_output(self.client.get_console_output,
                                                server_with_pci["id"])

            # pci_info = pci.get_pci_info(disk)
            # pci_flag = linux_client.get_pci(pciid)
            expect_pci = filter(lambda x: pciid in x, pci_info)

            # self.assertTrue(pci_flag is not None)
            self.assertTrue(not not expect_pci)

            # pci_count = linux_client.get_pci_count(pciid)
            pci_count = len(expect_pci)

            # pci_count = pci_count.strip()
            self.assertEqual(1, pci_count)
    def test_assign_pci_suspend_resume_instance(self):
	pci.get_pci_config(self)
        for info in self.infoList:
            info = info.split(':')
            name = info[0]
            pciid = info[1]

            flavor_with_pci_id = pci.create_flavor_with_extra_specs(self,name)

            admin_pass = self.image_ssh_password

            p, _ = pci.gen_rc_local_file()
            cont = pci.gen_rc_local_dict(pci.RC_LSPCI)
            # fstab = pci.gen_etc_fstab()
            print cont
            personality = [
                {'path': "/etc/rc.local",
                 'contents': cont}]
            #     {'path': "/etc/fstab",
            #      'contents': fstab}]

            user_data = pci.gen_user_data("\n".join(pci.SUSPEND_PAUSE_CONSOLE_DATA))

            server_with_pci = (self.create_test_server(
                                      wait_until='ACTIVE',
                                      user_data=user_data,
                                      #personality=personality,
                                      adminPass=admin_pass,
                                      flavor=flavor_with_pci_id))

            addresses = self.client.show_server(server_with_pci['id'])['server']

            password = '******'
	    self.server_id = server_with_pci['id']
            print self.server_id
            print "cubswin:)"
            pci_info = pci.retry_get_pci_output(
                self.client.get_console_output, self.server_id)

            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)
            #import pdb;pdb.set_trace()
            time.sleep(3)
	    self.client.suspend_server(self.server_id)
            waiters.wait_for_server_status(self.client, self.server_id, 'SUSPENDED')
            self.client.resume_server(self.server_id)
            waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')
            print self.server_id
            print "cubswin:)"

            cmd = ["sudo", "virsh", "dumpxml", server_with_pci["id"]]
            xml = pci.shell_command(cmd)
            serial_path = pci.get_serial_path(xml)
            cmd = ["sudo", "chmod", "a+wr", serial_path]
            pci.shell_command(cmd)
            ser = serial.Serial(port=serial_path, baudrate=38400, timeout=1)
            for x in range(10):
                ser.write('0\n')
                time.sleep(1)
                str = ser.readall()
                if str.count('2') > 0 :
                    break
            ser.close()

            pci_info = pci.retry_get_pci_output(
                self.client.get_console_output, self.server_id,
                DELIMITER="SP LSPCI")

            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)
    def test_assign_pci_pause_unpause_instance(self):
        pci.get_pci_config(self)
        for info in self.infoList:
            info = info.split(':')
            name = info[0]
            pciid = info[1]

            flavor_with_pci_id = pci.create_flavor_with_extra_specs(self,name)
            admin_pass = self.image_ssh_password

            user_data = pci.gen_user_data("\n".join(pci.SUSPEND_PAUSE_CONSOLE_DATA))

            server_with_pci = (self.create_test_server(
                                      wait_until='ACTIVE',
                                      user_data=user_data,
                                      #personality=personality,
                                      adminPass=admin_pass,
                                      flavor=flavor_with_pci_id))
            
            addresses = self.client.show_server(server_with_pci['id'])['server']
            password = '******'
            
            self.server_id = server_with_pci['id']
            print self.server_id
            print "cubswin:)"
            pci_info = pci.retry_get_pci_output(
                self.client.get_console_output, self.server_id)

            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)
            
	        #self.server_id = server_with_pci['id']
            #linux_client = remote_client.RemoteClient(addresses,
            #                                      self.ssh_user, password)
            #pci_flag = linux_client.get_pci(pciid)
            #self.assertTrue(pci_flag is not None)
            #pci_count = linux_client.get_pci_count(pciid)
            #pci_count = pci_count.strip()
            #self.assertEqual('1',pci_count)

            self.client.pause_server(self.server_id)
            waiters.wait_for_server_status(self.client, self.server_id, 'PAUSED')
            self.client.unpause_server(self.server_id)
            waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')

            cmd = ["sudo", "virsh", "dumpxml", server_with_pci["id"]]
            xml = pci.shell_command(cmd)
            serial_path = pci.get_serial_path(xml)
            cmd = ["sudo", "chmod", "a+wr", serial_path]
            pci.shell_command(cmd)
            ser = serial.Serial(port=serial_path, baudrate=38400, timeout=1)
            for x in range(10):
                ser.write('0\n')
                time.sleep(1)
                str = ser.readall()
                if str.count('2') > 0 :
                    break
            ser.close()
    
            pci_info = pci.retry_get_pci_output(
                self.client.get_console_output, self.server_id,
                DELIMITER="SP LSPCI")

            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)
    def test_assign_pci_resize_revert_instance(self):
        #Get PCI related parameter and ready to test
        pci.get_pci_config(self)
        for info in self.infoList:
            info = info.split(':')
            name = info[0]
            pciid = info[1]

            flavor_with_pci_id = pci.create_flavor_with_extra_specs(self,name)

            admin_pass = self.image_ssh_password


            cont = pci.gen_rc_local_dict(pci.RC_LSPCI)
            print cont
            personality = [
                {'path': "/etc/rc.local",
                 'contents': cont}]

            user_data = pci.gen_user_data("\n".join(pci.CONSOLE_DATA))

            server_with_pci = self.create_test_server(
                                      wait_until='ACTIVE',
                                      user_data=user_data,
                                      personality=personality,
                                      adminPass=admin_pass,
                                      flavor=flavor_with_pci_id)

            addresses = self.client.show_server(server_with_pci['id'])['server']

            password = '******'
            self.server_id = server_with_pci['id']
            print self.server_id
            print "cubswin:)"
            #import pdb; pdb.set_trace()
            pci_info = pci.retry_get_pci_output(
                self.client.get_console_output, self.server_id)

            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)

            # resp, server_with_pci = (self.create_test_server(
            #                           wait_until='ACTIVE',
            #                           adminPass=admin_pass,
            #                           flavor=flavor_with_pci_id))
            # 
            # resp, address = self.client.list_addresses(server_with_pci['id'])
            # 
            # addresses = {'addresses':address}
            # 
            # password = '******'
            # 
            # linux_client = remote_client.RemoteClient(addresses,
            #                                       self.ssh_user, password)
            # pci_flag = linux_client.get_pci(pciid)
            # self.assertTrue(pci_flag is not None)
            # pci_count = linux_client.get_pci_count(pciid)
            # pci_count = pci_count.strip()
            # self.assertEqual('1',pci_count)
            #
            self.server_id = server_with_pci['id']
            new_flavor_ref = pci.create_flavor_with_extra_specs(self,name,count=2)

            self.client.resize_server(self.server_id, new_flavor_ref)
            #self.assertEqual(202, resp.status)
            waiters.wait_for_server_status(self.client, self.server_id, 'VERIFY_RESIZE')

            self.client.revert_resize_server(self.server_id)
            waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')


            pci_info = pci.retry_get_pci_output(
                self.client.get_console_output, self.server_id,
                DELIMITER="RC LSPCI")
            #import pdb; pdb.set_trace()
            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)
示例#7
0
    def test_assign_pci_pause_unpause_instance(self):
        pci.get_pci_config(self)
        for info in self.infoList:
            info = info.split(':')
            name = info[0]
            pciid = info[1]

            flavor_with_pci_id = pci.create_flavor_with_extra_specs(self, name)
            admin_pass = self.image_ssh_password

            user_data = pci.gen_user_data("\n".join(
                pci.SUSPEND_PAUSE_CONSOLE_DATA))

            server_with_pci = (
                self.create_test_server(
                    wait_until='ACTIVE',
                    user_data=user_data,
                    #personality=personality,
                    adminPass=admin_pass,
                    flavor=flavor_with_pci_id))

            addresses = self.client.show_server(
                server_with_pci['id'])['server']
            password = '******'

            self.server_id = server_with_pci['id']
            print self.server_id
            print "cubswin:)"
            pci_info = pci.retry_get_pci_output(self.client.get_console_output,
                                                self.server_id)

            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)

            #self.server_id = server_with_pci['id']
            #linux_client = remote_client.RemoteClient(addresses,
            #                                      self.ssh_user, password)
            #pci_flag = linux_client.get_pci(pciid)
            #self.assertTrue(pci_flag is not None)
            #pci_count = linux_client.get_pci_count(pciid)
            #pci_count = pci_count.strip()
            #self.assertEqual('1',pci_count)

            self.client.pause_server(self.server_id)
            waiters.wait_for_server_status(self.client, self.server_id,
                                           'PAUSED')
            self.client.unpause_server(self.server_id)
            waiters.wait_for_server_status(self.client, self.server_id,
                                           'ACTIVE')

            cmd = ["sudo", "virsh", "dumpxml", server_with_pci["id"]]
            xml = pci.shell_command(cmd)
            serial_path = pci.get_serial_path(xml)
            cmd = ["sudo", "chmod", "a+wr", serial_path]
            pci.shell_command(cmd)
            ser = serial.Serial(port=serial_path, baudrate=38400, timeout=1)
            for x in range(10):
                ser.write('0\n')
                time.sleep(1)
                str = ser.readall()
                if str.count('2') > 0:
                    break
            ser.close()

            pci_info = pci.retry_get_pci_output(self.client.get_console_output,
                                                self.server_id,
                                                DELIMITER="SP LSPCI")

            expect_pci = filter(lambda x: pciid in x, pci_info)
            self.assertTrue(not not expect_pci)

            pci_count = len(expect_pci)
            self.assertEqual(1, pci_count)