diff --git a/shade/_normalize.py b/shade/_normalize.py index 890903b97..e72378b7c 100644 --- a/shade/_normalize.py +++ b/shade/_normalize.py @@ -1010,3 +1010,21 @@ class Normalizer(object): name=ret['name'], id=ret['id']) ret['properties'] = stack return ret + + def _normalize_machines(self, machines): + """Normalize Ironic Machines""" + ret = [] + for machine in machines: + ret.append(self._normalize_machine(machine)) + return ret + + def _normalize_machine(self, machine): + """Normalize Ironic Machine""" + machine = machine.copy() + + # Discard noise + self._remove_novaclient_artifacts(machine) + + # TODO(mordred) Normalize this resource + + return machine diff --git a/shade/operatorcloud.py b/shade/operatorcloud.py index d994081c5..ded7bc909 100644 --- a/shade/operatorcloud.py +++ b/shade/operatorcloud.py @@ -50,7 +50,8 @@ class OperatorCloud(openstackcloud.OpenStackCloud): return None def list_machines(self): - return self.manager.submit_task(_tasks.MachineNodeList()) + return self._normalize_machines( + self.manager.submit_task(_tasks.MachineNodeList())) def get_machine(self, name_or_id): """Get Machine by name or uuid @@ -64,8 +65,9 @@ class OperatorCloud(openstackcloud.OpenStackCloud): nodes are found. """ try: - return self.manager.submit_task( - _tasks.MachineNodeGet(node_id=name_or_id)) + return self._normalize_machine( + self.manager.submit_task( + _tasks.MachineNodeGet(node_id=name_or_id))) except ironic_exceptions.ClientException: return None