Show all os-extended-server-attributes
Patch I0cfe9090e8263f983fa5f42f42616a26407be47a adds hypervisor hostname to the instance details view. This patch adds the rest of instance attributes allowed by 'os_compute_api:os-extended-server-attributes' policy. Change-Id: Id39ee14e3054422a96248f8cdd0a5bf07c27f2fc Closes-Bug: #1874273
This commit is contained in:

committed by
Akihiro Motoki

parent
79e505520f
commit
d403b31d70
@@ -50,6 +50,10 @@ class Server(base.APIResourceWrapper):
|
|||||||
'tenant_id', 'user_id', 'created', 'locked',
|
'tenant_id', 'user_id', 'created', 'locked',
|
||||||
'OS-EXT-STS:power_state', 'OS-EXT-STS:task_state',
|
'OS-EXT-STS:power_state', 'OS-EXT-STS:task_state',
|
||||||
'OS-EXT-SRV-ATTR:instance_name', 'OS-EXT-SRV-ATTR:host',
|
'OS-EXT-SRV-ATTR:instance_name', 'OS-EXT-SRV-ATTR:host',
|
||||||
|
'OS-EXT-SRV-ATTR:hostname', 'OS-EXT-SRV-ATTR:kernel_id',
|
||||||
|
'OS-EXT-SRV-ATTR:ramdisk_id', 'OS-EXT-SRV-ATTR:root_device_name',
|
||||||
|
'OS-EXT-SRV-ATTR:root_device_name', 'OS-EXT-SRV-ATTR:user_data',
|
||||||
|
'OS-EXT-SRV-ATTR:reservation_id', 'OS-EXT-SRV-ATTR:launch_index',
|
||||||
'OS-EXT-AZ:availability_zone', 'OS-DCF:diskConfig']
|
'OS-EXT-AZ:availability_zone', 'OS-DCF:diskConfig']
|
||||||
|
|
||||||
def __init__(self, apiresource, request):
|
def __init__(self, apiresource, request):
|
||||||
@@ -75,17 +79,59 @@ class Server(base.APIResourceWrapper):
|
|||||||
self.image['name'] = None
|
self.image['name'] = None
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@property
|
|
||||||
def internal_name(self):
|
|
||||||
return getattr(self, 'OS-EXT-SRV-ATTR:instance_name', "")
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def availability_zone(self):
|
def availability_zone(self):
|
||||||
return getattr(self, 'OS-EXT-AZ:availability_zone', "")
|
return getattr(self, 'OS-EXT-AZ:availability_zone', "")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def has_extended_attrs(self):
|
||||||
|
return any(getattr(self, attr) for attr in [
|
||||||
|
'OS-EXT-SRV-ATTR:instance_name', 'OS-EXT-SRV-ATTR:host',
|
||||||
|
'OS-EXT-SRV-ATTR:hostname', 'OS-EXT-SRV-ATTR:kernel_id',
|
||||||
|
'OS-EXT-SRV-ATTR:ramdisk_id', 'OS-EXT-SRV-ATTR:root_device_name',
|
||||||
|
'OS-EXT-SRV-ATTR:root_device_name', 'OS-EXT-SRV-ATTR:user_data',
|
||||||
|
'OS-EXT-SRV-ATTR:reservation_id', 'OS-EXT-SRV-ATTR:launch_index',
|
||||||
|
])
|
||||||
|
|
||||||
|
@property
|
||||||
|
def internal_name(self):
|
||||||
|
return getattr(self, 'OS-EXT-SRV-ATTR:instance_name', "")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def host_server(self):
|
def host_server(self):
|
||||||
return getattr(self, 'OS-EXT-SRV-ATTR:host', '')
|
return getattr(self, 'OS-EXT-SRV-ATTR:host', "")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def instance_name(self):
|
||||||
|
return getattr(self, 'OS-EXT-SRV-ATTR:instance_name', "")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def reservation_id(self):
|
||||||
|
return getattr(self, 'OS-EXT-SRV-ATTR:reservation_id', "")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def launch_index(self):
|
||||||
|
return getattr(self, 'OS-EXT-SRV-ATTR:launch_index', "")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def hostname(self):
|
||||||
|
return getattr(self, 'OS-EXT-SRV-ATTR:hostname', "")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def kernel_id(self):
|
||||||
|
return getattr(self, 'OS-EXT-SRV-ATTR:kernel_id', "")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def ramdisk_id(self):
|
||||||
|
return getattr(self, 'OS-EXT-SRV-ATTR:ramdisk_id', "")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def root_device_name(self):
|
||||||
|
return getattr(self, 'OS-EXT-SRV-ATTR:root_device_name', "")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def user_data(self):
|
||||||
|
return getattr(self, 'OS-EXT-SRV-ATTR:user_data', "")
|
||||||
|
|
||||||
|
|
||||||
@memoized.memoized
|
@memoized.memoized
|
||||||
|
@@ -22,9 +22,25 @@
|
|||||||
<dd>{{ instance.created|parse_isotime }}</dd>
|
<dd>{{ instance.created|parse_isotime }}</dd>
|
||||||
<dt>{% trans "Age" %}</dt>
|
<dt>{% trans "Age" %}</dt>
|
||||||
<dd>{{ instance.created|parse_isotime|timesince }}</dd>
|
<dd>{{ instance.created|parse_isotime|timesince }}</dd>
|
||||||
{% if instance.host_server %}
|
{% if instance.has_extended_attrs %}
|
||||||
<dt>{% trans "Host" %}</dt>
|
<dt>{% trans "Host" %}</dt>
|
||||||
<dd>{{ instance.host_server }}</dd>
|
<dd>{{ instance.host_server|default:_("-") }}</dd>
|
||||||
|
<dt>{% trans "Instance Name" %}</dt>
|
||||||
|
<dd>{{ instance.instance_name|default:_("-") }}</dd>
|
||||||
|
<dt>{% trans "Reservation ID" %}</dt>
|
||||||
|
<dd>{{ instance.reservation_id|default:_("-") }}</dd>
|
||||||
|
<dt>{% trans "Launch Index" %}</dt>
|
||||||
|
<dd>{{ instance.launch_index|default:_("-") }}</dd>
|
||||||
|
<dt>{% trans "Hostname" %}</dt>
|
||||||
|
<dd>{{ instance.hostname|default:_("-") }}</dd>
|
||||||
|
<dt>{% trans "Kernel ID" %}</dt>
|
||||||
|
<dd>{{ instance.kernel_id|default:_("-") }}</dd>
|
||||||
|
<dt>{% trans "Ramdisk ID" %}</dt>
|
||||||
|
<dd>{{ instance.ramdisk_id|default:_("-") }}</dd>
|
||||||
|
<dt>{% trans "Device Name" %}</dt>
|
||||||
|
<dd>{{ instance.root_device_name|default:_("-") }}</dd>
|
||||||
|
<dt>{% trans "User Data" %}</dt>
|
||||||
|
<dd>{{ instance.user_data|default:_("-") }}</dd>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user