本文整理匯總了Python中fuelweb_test.models.nailgun_client.NailgunClient.get_node_disks方法的典型用法代碼示例。如果您正苦於以下問題:Python NailgunClient.get_node_disks方法的具體用法?Python NailgunClient.get_node_disks怎麽用?Python NailgunClient.get_node_disks使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類fuelweb_test.models.nailgun_client.NailgunClient
的用法示例。
在下文中一共展示了NailgunClient.get_node_disks方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: FuelWebClient
# 需要導入模塊: from fuelweb_test.models.nailgun_client import NailgunClient [as 別名]
# 或者: from fuelweb_test.models.nailgun_client.NailgunClient import get_node_disks [as 別名]
#.........這裏部分代碼省略.........
# assume nodes are going to be updated for one cluster only
cluster_id = nodes_data[-1]["cluster_id"]
node_ids = [str(node_info["id"]) for node_info in nodes_data]
self.client.update_nodes(nodes_data)
nailgun_nodes = self.client.list_cluster_nodes(cluster_id)
cluster_node_ids = map(lambda _node: str(_node["id"]), nailgun_nodes)
assert_true(all([node_id in cluster_node_ids for node_id in node_ids]))
self.update_nodes_interfaces(cluster_id)
return nailgun_nodes
@logwrap
def update_node_networks(self, node_id, interfaces_dict):
# fuelweb_admin is always on eth0
interfaces_dict["eth0"] = interfaces_dict.get("eth0", [])
if "fuelweb_admin" not in interfaces_dict["eth0"]:
interfaces_dict["eth0"].append("fuelweb_admin")
interfaces = self.client.get_node_interfaces(node_id)
all_networks = dict()
for interface in interfaces:
all_networks.update({net["name"]: net for net in interface["assigned_networks"]})
for interface in interfaces:
name = interface["name"]
interface["assigned_networks"] = [all_networks[i] for i in interfaces_dict.get(name, [])]
self.client.put_node_interfaces([{"id": node_id, "interfaces": interfaces}])
@logwrap
def update_node_disk(self, node_id, disks_dict):
disks = self.client.get_node_disks(node_id)
for disk in disks:
dname = disk["name"]
if dname not in disks_dict:
continue
for volume in disk["volumes"]:
vname = volume["name"]
if vname in disks_dict[dname]:
volume["size"] = disks_dict[dname][vname]
self.client.put_node_disks(node_id, disks)
@logwrap
def update_redhat_credentials(
self,
license_type=help_data.REDHAT_LICENSE_TYPE,
username=help_data.REDHAT_USERNAME,
password=help_data.REDHAT_PASSWORD,
satellite_host=help_data.REDHAT_SATELLITE_HOST,
activation_key=help_data.REDHAT_ACTIVATION_KEY,
):
# release name is in environment variable OPENSTACK_RELEASE
release_id = self.client.get_release_id("RHOS")
self.client.update_redhat_setup(
{
"release_id": release_id,
"username": username,
"license_type": license_type,
"satellite": satellite_host,
"password": password,
"activation_key": activation_key,
}
示例2: FuelWebClient
# 需要導入模塊: from fuelweb_test.models.nailgun_client import NailgunClient [as 別名]
# 或者: from fuelweb_test.models.nailgun_client.NailgunClient import get_node_disks [as 別名]
#.........這裏部分代碼省略.........
all([node_id in cluster_node_ids for node_id in node_ids]))
self.update_nodes_interfaces(cluster_id)
return nailgun_nodes
@logwrap
def update_node_networks(self, node_id, interfaces_dict, raw_data=None):
# fuelweb_admin is always on eth0
interfaces_dict['eth0'] = interfaces_dict.get('eth0', [])
if 'fuelweb_admin' not in interfaces_dict['eth0']:
interfaces_dict['eth0'].append('fuelweb_admin')
interfaces = self.client.get_node_interfaces(node_id)
if raw_data:
interfaces.append(raw_data)
all_networks = dict()
for interface in interfaces:
all_networks.update(
{net['name']: net for net in interface['assigned_networks']})
for interface in interfaces:
name = interface["name"]
interface['assigned_networks'] = \
[all_networks[i] for i in interfaces_dict.get(name, [])]
self.client.put_node_interfaces(
[{'id': node_id, 'interfaces': interfaces}])
@logwrap
def update_node_disk(self, node_id, disks_dict):
disks = self.client.get_node_disks(node_id)
for disk in disks:
dname = disk['name']
if dname not in disks_dict:
continue
for volume in disk['volumes']:
vname = volume['name']
if vname in disks_dict[dname]:
volume['size'] = disks_dict[dname][vname]
self.client.put_node_disks(node_id, disks)
@logwrap
def update_redhat_credentials(
self, license_type=help_data.REDHAT_LICENSE_TYPE,
username=help_data.REDHAT_USERNAME,
password=help_data.REDHAT_PASSWORD,
satellite_host=help_data.REDHAT_SATELLITE_HOST,
activation_key=help_data.REDHAT_ACTIVATION_KEY):
# release name is in environment variable OPENSTACK_RELEASE
release_id = self.client.get_release_id('RHOS')
self.client.update_redhat_setup({
"release_id": release_id,
"username": username,
"license_type": license_type,
"satellite": satellite_host,
"password": password,
"activation_key": activation_key})
tasks = self.client.get_tasks()
# wait for 'redhat_setup' task only. Front-end works same way
for task in tasks:
if task['name'] == 'redhat_setup' \
示例3: FuelWebClient
# 需要導入模塊: from fuelweb_test.models.nailgun_client import NailgunClient [as 別名]
# 或者: from fuelweb_test.models.nailgun_client.NailgunClient import get_node_disks [as 別名]
#.........這裏部分代碼省略.........
# assume nodes are going to be updated for one cluster only
cluster_id = nodes_data[-1]['cluster_id']
node_ids = [str(node_info['id']) for node_info in nodes_data]
self.client.update_nodes(nodes_data)
nailgun_nodes = self.client.list_cluster_nodes(cluster_id)
cluster_node_ids = map(lambda _node: str(_node['id']), nailgun_nodes)
assert_true(
all([node_id in cluster_node_ids for node_id in node_ids]))
self.update_nodes_interfaces(cluster_id)
return nailgun_nodes
@logwrap
def update_node_networks(self, node_id, interfaces_dict):
interfaces = self.client.get_node_interfaces(node_id)
for interface in interfaces:
interface_name = interface['name']
interface['assigned_networks'] = []
for allowed_network in interface['allowed_networks']:
key_exists = interface_name in interfaces_dict
if key_exists and \
allowed_network['name'] \
in interfaces_dict[interface_name]:
interface['assigned_networks'].append(allowed_network)
self.client.put_node_interfaces(
[{'id': node_id, 'interfaces': interfaces}])
@logwrap
def update_node_disk(self, node_id, disks_dict):
disks = self.client.get_node_disks(node_id)
for disk in disks:
dname = disk['name']
if dname not in disks_dict:
continue
for volume in disk['volumes']:
vname = volume['name']
if vname in disks_dict[dname]:
volume['size'] = disks_dict[dname][vname]
self.client.put_node_disks(node_id, disks)
@logwrap
def update_redhat_credentials(
self, license_type=help_data.REDHAT_LICENSE_TYPE,
username=help_data.REDHAT_USERNAME, password=help_data.REDHAT_PASSWORD,
satellite_host=help_data.REDHAT_SATELLITE_HOST,
activation_key=help_data.REDHAT_ACTIVATION_KEY):
# release name is in environment variable OPENSTACK_RELEASE
release_id = self.client.get_release_id('RHOS')
self.client.update_redhat_setup({
"release_id": release_id,
"username": username,
"license_type": license_type,
"satellite": satellite_host,
"password": password,
"activation_key": activation_key})
tasks = self.client.get_tasks()
# wait for 'redhat_setup' task only. Front-end works same way
for task in tasks:
if task['name'] == 'redhat_setup' \
and task['result']['release_info']['release_id'] \
示例4: FuelWebClient
# 需要導入模塊: from fuelweb_test.models.nailgun_client import NailgunClient [as 別名]
# 或者: from fuelweb_test.models.nailgun_client.NailgunClient import get_node_disks [as 別名]
#.........這裏部分代碼省略.........
all([node_id in cluster_node_ids for node_id in node_ids]))
self.update_nodes_interfaces(cluster_id)
return nailgun_nodes
@logwrap
def update_node_networks(self, node_id, interfaces_dict, raw_data=None):
# fuelweb_admin is always on eth0
interfaces_dict['eth0'] = interfaces_dict.get('eth0', [])
if 'fuelweb_admin' not in interfaces_dict['eth0']:
interfaces_dict['eth0'].append('fuelweb_admin')
interfaces = self.client.get_node_interfaces(node_id)
if raw_data:
interfaces.append(raw_data)
all_networks = dict()
for interface in interfaces:
all_networks.update(
{net['name']: net for net in interface['assigned_networks']})
for interface in interfaces:
name = interface["name"]
interface['assigned_networks'] = \
[all_networks[i] for i in interfaces_dict.get(name, [])]
self.client.put_node_interfaces(
[{'id': node_id, 'interfaces': interfaces}])
@logwrap
def update_node_disk(self, node_id, disks_dict):
disks = self.client.get_node_disks(node_id)
for disk in disks:
dname = disk['name']
if dname not in disks_dict:
continue
for volume in disk['volumes']:
vname = volume['name']
if vname in disks_dict[dname]:
volume['size'] = disks_dict[dname][vname]
self.client.put_node_disks(node_id, disks)
@logwrap
def get_node_disk_size(self, node_id, disk_name):
disks = self.client.get_node_disks(node_id)
size = 0
for disk in disks:
if disk['name'] == disk_name:
for volume in disk['volumes']:
size += volume['size']
return size
@logwrap
def update_redhat_credentials(
self, license_type=help_data.REDHAT_LICENSE_TYPE,
username=help_data.REDHAT_USERNAME,
password=help_data.REDHAT_PASSWORD,
satellite_host=help_data.REDHAT_SATELLITE_HOST,
activation_key=help_data.REDHAT_ACTIVATION_KEY):
# release name is in environment variable OPENSTACK_RELEASE
release_id = self.client.get_release_id('RHOS')
self.client.update_redhat_setup({