mirror of
https://github.com/ansible/awx.git
synced 2026-01-09 23:12:08 -03:30
Merge pull request #13176 from jessicamack/13019_add_node_type
Add node_type to instance info and capacity metrics
This commit is contained in:
commit
0933a96d60
@ -238,7 +238,9 @@ def instance_info(since, include_hostnames=False, **kwargs):
|
|||||||
info = {}
|
info = {}
|
||||||
# Use same method that the TaskManager does to compute consumed capacity without querying all running jobs for each Instance
|
# Use same method that the TaskManager does to compute consumed capacity without querying all running jobs for each Instance
|
||||||
active_tasks = models.UnifiedJob.objects.filter(status__in=['running', 'waiting']).only('task_impact', 'controller_node', 'execution_node')
|
active_tasks = models.UnifiedJob.objects.filter(status__in=['running', 'waiting']).only('task_impact', 'controller_node', 'execution_node')
|
||||||
tm_instances = TaskManagerInstances(active_tasks, instance_fields=['uuid', 'version', 'capacity', 'cpu', 'memory', 'managed_by_policy', 'enabled'])
|
tm_instances = TaskManagerInstances(
|
||||||
|
active_tasks, instance_fields=['uuid', 'version', 'capacity', 'cpu', 'memory', 'managed_by_policy', 'enabled', 'node_type']
|
||||||
|
)
|
||||||
for tm_instance in tm_instances.instances_by_hostname.values():
|
for tm_instance in tm_instances.instances_by_hostname.values():
|
||||||
instance = tm_instance.obj
|
instance = tm_instance.obj
|
||||||
instance_info = {
|
instance_info = {
|
||||||
@ -251,6 +253,7 @@ def instance_info(since, include_hostnames=False, **kwargs):
|
|||||||
'enabled': instance.enabled,
|
'enabled': instance.enabled,
|
||||||
'consumed_capacity': tm_instance.consumed_capacity,
|
'consumed_capacity': tm_instance.consumed_capacity,
|
||||||
'remaining_capacity': instance.capacity - tm_instance.consumed_capacity,
|
'remaining_capacity': instance.capacity - tm_instance.consumed_capacity,
|
||||||
|
'node_type': instance.node_type,
|
||||||
}
|
}
|
||||||
if include_hostnames is True:
|
if include_hostnames is True:
|
||||||
instance_info['hostname'] = instance.hostname
|
instance_info['hostname'] = instance.hostname
|
||||||
|
|||||||
@ -57,6 +57,7 @@ def metrics():
|
|||||||
[
|
[
|
||||||
'hostname',
|
'hostname',
|
||||||
'instance_uuid',
|
'instance_uuid',
|
||||||
|
'node_type',
|
||||||
],
|
],
|
||||||
registry=REGISTRY,
|
registry=REGISTRY,
|
||||||
)
|
)
|
||||||
@ -84,6 +85,7 @@ def metrics():
|
|||||||
[
|
[
|
||||||
'hostname',
|
'hostname',
|
||||||
'instance_uuid',
|
'instance_uuid',
|
||||||
|
'node_type',
|
||||||
],
|
],
|
||||||
registry=REGISTRY,
|
registry=REGISTRY,
|
||||||
)
|
)
|
||||||
@ -111,6 +113,7 @@ def metrics():
|
|||||||
[
|
[
|
||||||
'hostname',
|
'hostname',
|
||||||
'instance_uuid',
|
'instance_uuid',
|
||||||
|
'node_type',
|
||||||
],
|
],
|
||||||
registry=REGISTRY,
|
registry=REGISTRY,
|
||||||
)
|
)
|
||||||
@ -120,6 +123,7 @@ def metrics():
|
|||||||
[
|
[
|
||||||
'hostname',
|
'hostname',
|
||||||
'instance_uuid',
|
'instance_uuid',
|
||||||
|
'node_type',
|
||||||
],
|
],
|
||||||
registry=REGISTRY,
|
registry=REGISTRY,
|
||||||
)
|
)
|
||||||
@ -180,12 +184,13 @@ def metrics():
|
|||||||
instance_data = instance_info(None, include_hostnames=True)
|
instance_data = instance_info(None, include_hostnames=True)
|
||||||
for uuid, info in instance_data.items():
|
for uuid, info in instance_data.items():
|
||||||
hostname = info['hostname']
|
hostname = info['hostname']
|
||||||
INSTANCE_CAPACITY.labels(hostname=hostname, instance_uuid=uuid).set(instance_data[uuid]['capacity'])
|
node_type = info['node_type']
|
||||||
|
INSTANCE_CAPACITY.labels(hostname=hostname, instance_uuid=uuid, node_type=node_type).set(instance_data[uuid]['capacity'])
|
||||||
INSTANCE_CPU.labels(hostname=hostname, instance_uuid=uuid).set(instance_data[uuid]['cpu'])
|
INSTANCE_CPU.labels(hostname=hostname, instance_uuid=uuid).set(instance_data[uuid]['cpu'])
|
||||||
INSTANCE_MEMORY.labels(hostname=hostname, instance_uuid=uuid).set(instance_data[uuid]['memory'])
|
INSTANCE_MEMORY.labels(hostname=hostname, instance_uuid=uuid).set(instance_data[uuid]['memory'])
|
||||||
INSTANCE_CONSUMED_CAPACITY.labels(hostname=hostname, instance_uuid=uuid).set(instance_data[uuid]['consumed_capacity'])
|
INSTANCE_CONSUMED_CAPACITY.labels(hostname=hostname, instance_uuid=uuid, node_type=node_type).set(instance_data[uuid]['consumed_capacity'])
|
||||||
INSTANCE_REMAINING_CAPACITY.labels(hostname=hostname, instance_uuid=uuid).set(instance_data[uuid]['remaining_capacity'])
|
INSTANCE_REMAINING_CAPACITY.labels(hostname=hostname, instance_uuid=uuid, node_type=node_type).set(instance_data[uuid]['remaining_capacity'])
|
||||||
INSTANCE_INFO.labels(hostname=hostname, instance_uuid=uuid).info(
|
INSTANCE_INFO.labels(hostname=hostname, instance_uuid=uuid, node_type=node_type).info(
|
||||||
{
|
{
|
||||||
'enabled': str(instance_data[uuid]['enabled']),
|
'enabled': str(instance_data[uuid]['enabled']),
|
||||||
'managed_by_policy': str(instance_data[uuid]['managed_by_policy']),
|
'managed_by_policy': str(instance_data[uuid]['managed_by_policy']),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user