您的位置:首页 > 产品设计 > UI/UE

openstack 使用cloud init 和 console-log, nbd或者libguestfs 获取VM中的硬件信息。

2016-03-24 16:46 609 查看
以获取PCI的信息为例。

基本代码:

pci.py

personality = []

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 = 'cubswin:)'

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)


View Code

使用 使用cloud-init 和 nbd获取时候,需要mount config.drive的磁盘。

使用 file inject 和nbd获取的时候,需要开关机器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: