本文整理汇总了Python中nova.api.ec2.ec2utils.image_type函数的典型用法代码示例。如果您正苦于以下问题:Python image_type函数的具体用法?Python image_type怎么用?Python image_type使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了image_type函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_get_ec2_ids
def test_get_ec2_ids(self):
expected = {
'instance-id': 'ec2-inst-id',
'ami-id': 'ec2-ami-id',
'kernel-id': 'ami-kernel-ec2-kernelid',
'ramdisk-id': 'ami-ramdisk-ec2-ramdiskid',
}
inst = {
'uuid': 'fake-uuid',
'kernel_id': 'ec2-kernelid',
'ramdisk_id': 'ec2-ramdiskid',
'image_ref': 'fake-image',
}
self.mox.StubOutWithMock(ec2utils, 'id_to_ec2_inst_id')
self.mox.StubOutWithMock(ec2utils, 'glance_id_to_ec2_id')
self.mox.StubOutWithMock(ec2utils, 'image_type')
ec2utils.id_to_ec2_inst_id(inst['uuid']).AndReturn(
expected['instance-id'])
ec2utils.glance_id_to_ec2_id(self.context,
inst['image_ref']).AndReturn(
expected['ami-id'])
for image_type in ['kernel', 'ramdisk']:
image_id = inst['%s_id' % image_type]
ec2utils.image_type(image_type).AndReturn('ami-' + image_type)
ec2utils.glance_id_to_ec2_id(self.context, image_id,
'ami-' + image_type).AndReturn(
'ami-%s-ec2-%sid' % (image_type, image_type))
self.mox.ReplayAll()
result = self.conductor.get_ec2_ids(self.context, inst)
self.assertEqual(result, expected)
开发者ID:gminator,项目名称:nova,代码行数:32,代码来源:test_conductor.py
示例2: test_get_ec2_ids
def test_get_ec2_ids(self):
expected = {
"instance-id": "ec2-inst-id",
"ami-id": "ec2-ami-id",
"kernel-id": "ami-kernel-ec2-kernelid",
"ramdisk-id": "ami-ramdisk-ec2-ramdiskid",
}
inst = {
"uuid": "fake-uuid",
"kernel_id": "ec2-kernelid",
"ramdisk_id": "ec2-ramdiskid",
"image_ref": "fake-image",
}
self.mox.StubOutWithMock(ec2utils, "id_to_ec2_inst_id")
self.mox.StubOutWithMock(ec2utils, "glance_id_to_ec2_id")
self.mox.StubOutWithMock(ec2utils, "image_type")
ec2utils.id_to_ec2_inst_id(inst["uuid"]).AndReturn(expected["instance-id"])
ec2utils.glance_id_to_ec2_id(self.context, inst["image_ref"]).AndReturn(expected["ami-id"])
for image_type in ["kernel", "ramdisk"]:
image_id = inst["%s_id" % image_type]
ec2utils.image_type(image_type).AndReturn("ami-" + image_type)
ec2utils.glance_id_to_ec2_id(self.context, image_id, "ami-" + image_type).AndReturn(
"ami-%s-ec2-%sid" % (image_type, image_type)
)
self.mox.ReplayAll()
result = self.conductor.get_ec2_ids(self.context, inst)
self.assertEqual(result, expected)
开发者ID:tr3buchet,项目名称:nova,代码行数:29,代码来源:test_conductor.py
示例3: __init__
def __init__(self, instance, address=None):
self.instance = instance
ctxt = context.get_admin_context()
services = db.service_get_all_by_host(ctxt.elevated(), instance["host"])
self.availability_zone = ec2utils.get_availability_zone_by_host(services, instance["host"])
self.ip_info = ec2utils.get_ip_info_for_instance(ctxt, instance)
self.security_groups = db.security_group_get_by_instance(ctxt, instance["id"])
self.mappings = _format_instance_mapping(ctxt, instance)
if instance.get("user_data", None) is not None:
self.userdata_b64 = base64.b64decode(instance["user_data"])
else:
self.userdata_b64 = None
self.ec2_ids = {}
self.ec2_ids["instance-id"] = ec2utils.id_to_ec2_inst_id(instance["id"])
self.ec2_ids["ami-id"] = ec2utils.glance_id_to_ec2_id(ctxt, instance["image_ref"])
for image_type in ["kernel", "ramdisk"]:
if self.instance.get("%s_id" % image_type):
image_id = self.instance["%s_id" % image_type]
ec2_image_type = ec2utils.image_type(image_type)
ec2_id = ec2utils.glance_id_to_ec2_id(ctxt, image_id, ec2_image_type)
self.ec2_ids["%s-id" % image_type] = ec2_id
self.address = address
开发者ID:nati,项目名称:nova,代码行数:32,代码来源:base.py
示例4: get_ec2_ids
def get_ec2_ids(self, context, instance):
ec2_ids = {}
ec2_ids["instance-id"] = ec2utils.id_to_ec2_inst_id(instance["uuid"])
ec2_ids["ami-id"] = ec2utils.glance_id_to_ec2_id(context, instance["image_ref"])
for image_type in ["kernel", "ramdisk"]:
image_id = instance.get("%s_id" % image_type)
if image_id is not None:
ec2_image_type = ec2utils.image_type(image_type)
ec2_id = ec2utils.glance_id_to_ec2_id(context, image_id, ec2_image_type)
ec2_ids["%s-id" % image_type] = ec2_id
return ec2_ids
开发者ID:nash-x,项目名称:hws,代码行数:13,代码来源:manager.py
示例5: get_ec2_ids
def get_ec2_ids(self, context, instance):
ec2_ids = {}
ec2_ids['instance-id'] = ec2utils.id_to_ec2_inst_id(instance['uuid'])
ec2_ids['ami-id'] = ec2utils.glance_id_to_ec2_id(context,
instance['image_ref'])
for image_type in ['kernel', 'ramdisk']:
if '%s_id' % image_type in instance:
image_id = instance['%s_id' % image_type]
ec2_image_type = ec2utils.image_type(image_type)
ec2_id = ec2utils.glance_id_to_ec2_id(context, image_id,
ec2_image_type)
ec2_ids['%s-id' % image_type] = ec2_id
return ec2_ids
开发者ID:k-i-t-e,项目名称:nova,代码行数:15,代码来源:manager.py
示例6: _get_ec2_ids
def _get_ec2_ids(context, instance):
ec2_ids = {}
ec2_ids['instance_id'] = ec2utils.id_to_ec2_inst_id(instance.uuid)
ec2_ids['ami_id'] = ec2utils.glance_id_to_ec2_id(context,
instance.image_ref)
for image_type in ['kernel', 'ramdisk']:
image_id = getattr(instance, '%s_id' % image_type)
ec2_id = None
if image_id is not None:
ec2_image_type = ec2utils.image_type(image_type)
ec2_id = ec2utils.glance_id_to_ec2_id(context, image_id,
ec2_image_type)
ec2_ids['%s_id' % image_type] = ec2_id
return ec2_ids
开发者ID:4everming,项目名称:nova,代码行数:16,代码来源:ec2.py
示例7: __init__
def __init__(self, instance, address=None):
self.instance = instance
ctxt = context.get_admin_context()
services = db.service_get_all_by_host(ctxt.elevated(),
instance['host'])
self.availability_zone = ec2utils.get_availability_zone_by_host(
services, instance['host'])
self.ip_info = ec2utils.get_ip_info_for_instance(ctxt, instance)
self.security_groups = db.security_group_get_by_instance(ctxt,
instance['id'])
self.mappings = _format_instance_mapping(ctxt, instance)
if instance.get('user_data', None) is not None:
self.userdata_b64 = base64.b64decode(instance['user_data'])
else:
self.userdata_b64 = None
self.ec2_ids = {}
self.ec2_ids['instance-id'] = ec2utils.id_to_ec2_id(instance['id'])
self.ec2_ids['ami-id'] = ec2utils.glance_id_to_ec2_id(ctxt,
instance['image_ref'])
for image_type in ['kernel', 'ramdisk']:
if self.instance.get('%s_id' % image_type):
image_id = self.instance['%s_id' % image_type]
image_type = ec2utils.image_type(image_type)
ec2_id = ec2utils.glance_id_to_ec2_id(ctxt, image_id,
image_type)
self.ec2_ids['%s-id' % image_type] = ec2_id
self.address = address
开发者ID:judu,项目名称:nova,代码行数:37,代码来源:base.py
示例8: get_metadata
def get_metadata(self, address):
ctxt = context.get_admin_context()
search_opts = {"fixed_ip": address, "deleted": False}
try:
instance_ref = self.compute_api.get_all(ctxt, search_opts=search_opts)
except exception.NotFound:
instance_ref = None
if not instance_ref:
return None
# This ensures that all attributes of the instance
# are populated.
instance_ref = db.instance_get(ctxt, instance_ref[0]["id"])
mpi = self._get_mpi_data(ctxt, instance_ref["project_id"])
hostname = "%s.%s" % (instance_ref["hostname"], FLAGS.dhcp_domain)
host = instance_ref["host"]
services = db.service_get_all_by_host(ctxt.elevated(), host)
availability_zone = ec2utils.get_availability_zone_by_host(services, host)
ip_info = ec2utils.get_ip_info_for_instance(ctxt, instance_ref)
floating_ips = ip_info["floating_ips"]
floating_ip = floating_ips and floating_ips[0] or ""
ec2_id = ec2utils.id_to_ec2_id(instance_ref["id"])
image_ec2_id = ec2utils.image_ec2_id(instance_ref["image_ref"])
security_groups = db.security_group_get_by_instance(ctxt, instance_ref["id"])
security_groups = [x["name"] for x in security_groups]
mappings = self._format_instance_mapping(ctxt, instance_ref)
data = {
"user-data": base64.b64decode(instance_ref["user_data"]),
"meta-data": {
"ami-id": image_ec2_id,
"ami-launch-index": instance_ref["launch_index"],
"ami-manifest-path": "FIXME",
"block-device-mapping": mappings,
"hostname": hostname,
"instance-action": "none",
"instance-id": ec2_id,
"instance-type": instance_ref["instance_type"]["name"],
"local-hostname": hostname,
"local-ipv4": address,
"placement": {"availability-zone": availability_zone},
"public-hostname": hostname,
"public-ipv4": floating_ip,
"reservation-id": instance_ref["reservation_id"],
"security-groups": security_groups,
"mpi": mpi,
},
}
# public-keys should be in meta-data only if user specified one
if instance_ref["key_name"]:
data["meta-data"]["public-keys"] = {
"0": {"_name": instance_ref["key_name"], "openssh-key": instance_ref["key_data"]}
}
for image_type in ["kernel", "ramdisk"]:
if instance_ref.get("%s_id" % image_type):
ec2_id = ec2utils.image_ec2_id(instance_ref["%s_id" % image_type], ec2utils.image_type(image_type))
data["meta-data"]["%s-id" % image_type] = ec2_id
if False: # TODO(vish): store ancestor ids
data["ancestor-ami-ids"] = []
if False: # TODO(vish): store product codes
data["product-codes"] = []
return data
开发者ID:nicoleLiu,项目名称:nova,代码行数:67,代码来源:handler.py
示例9: __init__
def __init__(self, instance, address=None, content=[], extra_md=None):
"""Creation of this object should basically cover all time consuming
collection. Methods after that should not cause time delays due to
network operations or lengthy cpu operations.
The user should then get a single instance and make multiple method
calls on it.
"""
self.instance = instance
self.extra_md = extra_md
ctxt = context.get_admin_context()
services = db.service_get_all_by_host(ctxt.elevated(),
instance['host'])
self.availability_zone = ec2utils.get_availability_zone_by_host(
services, instance['host'])
self.ip_info = ec2utils.get_ip_info_for_instance(ctxt, instance)
self.security_groups = db.security_group_get_by_instance(ctxt,
instance['id'])
self.mappings = _format_instance_mapping(ctxt, instance)
if instance.get('user_data', None) is not None:
self.userdata_raw = base64.b64decode(instance['user_data'])
else:
self.userdata_raw = None
self.ec2_ids = {}
self.ec2_ids['instance-id'] = ec2utils.id_to_ec2_inst_id(
instance['id'])
self.ec2_ids['ami-id'] = ec2utils.glance_id_to_ec2_id(ctxt,
instance['image_ref'])
for image_type in ['kernel', 'ramdisk']:
if self.instance.get('%s_id' % image_type):
image_id = self.instance['%s_id' % image_type]
ec2_image_type = ec2utils.image_type(image_type)
ec2_id = ec2utils.glance_id_to_ec2_id(ctxt, image_id,
ec2_image_type)
self.ec2_ids['%s-id' % image_type] = ec2_id
self.address = address
# expose instance metadata.
self.launch_metadata = {}
for item in instance.get('metadata', []):
self.launch_metadata[item['key']] = item['value']
self.uuid = instance.get('uuid')
self.content = {}
self.files = []
# get network info, and the rendered network template
ctxt = context.get_admin_context()
network_info = network.API().get_instance_nw_info(ctxt, instance)
self.network_config = None
cfg = netutils.get_injected_network_template(network_info)
if cfg:
key = "%04i" % len(self.content)
self.content[key] = cfg
self.network_config = {"name": "network_config",
'content_path': "/%s/%s" % (CONTENT_DIR, key)}
# 'content' is passed in from the configdrive code in
# nova/virt/libvirt/driver.py. Thats how we get the injected files
# (personalities) in. AFAIK they're not stored in the db at all,
# so are not available later (web service metadata time).
for (path, contents) in content:
key = "%04i" % len(self.content)
self.files.append({'path': path,
'content_path': "/%s/%s" % (CONTENT_DIR, key)})
self.content[key] = contents
开发者ID:corystone,项目名称:nova,代码行数:80,代码来源:base.py
示例10: get_metadata
def get_metadata(self, address):
ctxt = context.get_admin_context()
search_opts = {'fixed_ip': address, 'deleted': False}
try:
instance_ref = self.compute_api.get_all(ctxt,
search_opts=search_opts)
except exception.NotFound:
instance_ref = None
if not instance_ref:
return None
# This ensures that all attributes of the instance
# are populated.
instance_ref = db.instance_get(ctxt, instance_ref[0]['id'])
mpi = self._get_mpi_data(ctxt, instance_ref['project_id'])
hostname = "%s.%s" % (instance_ref['hostname'], FLAGS.dhcp_domain)
host = instance_ref['host']
services = db.service_get_all_by_host(ctxt.elevated(), host)
availability_zone = ec2utils.get_availability_zone_by_host(services,
host)
ip_info = ec2utils.get_ip_info_for_instance(ctxt, instance_ref)
floating_ips = ip_info['floating_ips']
floating_ip = floating_ips and floating_ips[0] or ''
ec2_id = ec2utils.id_to_ec2_id(instance_ref['id'])
image_ec2_id = ec2utils.image_ec2_id(instance_ref['image_ref'])
security_groups = db.security_group_get_by_instance(ctxt,
instance_ref['id'])
security_groups = [x['name'] for x in security_groups]
mappings = self._format_instance_mapping(ctxt, instance_ref)
data = {
'user-data': base64.b64decode(instance_ref['user_data']),
'meta-data': {
'ami-id': image_ec2_id,
'ami-launch-index': instance_ref['launch_index'],
'ami-manifest-path': 'FIXME',
'block-device-mapping': mappings,
'hostname': hostname,
'instance-action': 'none',
'instance-id': ec2_id,
'instance-type': instance_ref['instance_type']['name'],
'local-hostname': hostname,
'local-ipv4': address,
'placement': {'availability-zone': availability_zone},
'public-hostname': hostname,
'public-ipv4': floating_ip,
'reservation-id': instance_ref['reservation_id'],
'security-groups': security_groups,
'mpi': mpi}}
# public-keys should be in meta-data only if user specified one
if instance_ref['key_name']:
data['meta-data']['public-keys'] = {
'0': {'_name': instance_ref['key_name'],
'openssh-key': instance_ref['key_data']}}
for image_type in ['kernel', 'ramdisk']:
if instance_ref.get('%s_id' % image_type):
ec2_id = ec2utils.image_ec2_id(
instance_ref['%s_id' % image_type],
ec2utils.image_type(image_type))
data['meta-data']['%s-id' % image_type] = ec2_id
if False: # TODO(vish): store ancestor ids
data['ancestor-ami-ids'] = []
if False: # TODO(vish): store product codes
data['product-codes'] = []
return data
开发者ID:geekontheway,项目名称:nova,代码行数:70,代码来源:handler.py
示例11: get_metadata
def get_metadata(self, address):
if not address:
raise exception.FixedIpNotFoundForAddress(address=address)
cache_key = 'metadata-%s' % address
data = self._cache.get(cache_key)
if data:
return data
ctxt = context.get_admin_context()
try:
fixed_ip = self.network_api.get_fixed_ip_by_address(ctxt, address)
instance_ref = db.instance_get(ctxt, fixed_ip['instance_id'])
except exception.NotFound:
return None
hostname = "%s.%s" % (instance_ref['hostname'], FLAGS.dhcp_domain)
host = instance_ref['host']
services = db.service_get_all_by_host(ctxt.elevated(), host)
availability_zone = ec2utils.get_availability_zone_by_host(services,
host)
ip_info = ec2utils.get_ip_info_for_instance(ctxt, instance_ref)
floating_ips = ip_info['floating_ips']
floating_ip = floating_ips and floating_ips[0] or ''
ec2_id = ec2utils.id_to_ec2_id(instance_ref['id'])
image_id = instance_ref['image_ref']
ctxt = context.get_admin_context()
image_ec2_id = ec2utils.glance_id_to_ec2_id(ctxt, image_id)
security_groups = db.security_group_get_by_instance(ctxt,
instance_ref['id'])
security_groups = [x['name'] for x in security_groups]
mappings = self._format_instance_mapping(ctxt, instance_ref)
data = {
'user-data': base64.b64decode(instance_ref['user_data']),
'meta-data': {
'ami-id': image_ec2_id,
'ami-launch-index': instance_ref['launch_index'],
'ami-manifest-path': 'FIXME',
'block-device-mapping': mappings,
'hostname': hostname,
'instance-action': 'none',
'instance-id': ec2_id,
'instance-type': instance_ref['instance_type']['name'],
'local-hostname': hostname,
'local-ipv4': address,
'placement': {'availability-zone': availability_zone},
'public-hostname': hostname,
'public-ipv4': floating_ip,
'reservation-id': instance_ref['reservation_id'],
'security-groups': security_groups}}
# public-keys should be in meta-data only if user specified one
if instance_ref['key_name']:
data['meta-data']['public-keys'] = {
'0': {'_name': instance_ref['key_name'],
'openssh-key': instance_ref['key_data']}}
for image_type in ['kernel', 'ramdisk']:
if instance_ref.get('%s_id' % image_type):
image_id = instance_ref['%s_id' % image_type]
image_type = ec2utils.image_type(image_type)
ec2_id = ec2utils.glance_id_to_ec2_id(ctxt,
image_id,
image_type)
data['meta-data']['%s-id' % image_type] = ec2_id
if False: # TODO(vish): store ancestor ids
data['ancestor-ami-ids'] = []
if False: # TODO(vish): store product codes
data['product-codes'] = []
self._cache.set(cache_key, data, 15)
return data
开发者ID:AsylumCorp,项目名称:nova,代码行数:76,代码来源:handler.py
注:本文中的nova.api.ec2.ec2utils.image_type函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论