diff --git a/trove/instance/views.py b/trove/instance/views.py index b317bfa47f..4f1dc2a064 100644 --- a/trove/instance/views.py +++ b/trove/instance/views.py @@ -63,6 +63,9 @@ class InstanceView(object): if self.instance.slave_of_id is not None: instance_dict['replica_of'] = self._build_master_info() + if self.instance.slaves: + instance_dict['replicas'] = self._build_slaves_info() + LOG.debug(instance_dict) return {"instance": instance_dict} @@ -81,6 +84,16 @@ class InstanceView(object): self.instance.slave_of_id) } + def _build_slaves_info(self): + data = [] + for slave in self.instance.slaves: + data.append({ + "id": slave.id, + "links": create_links("instances", self.req, slave.id) + }) + + return data + class InstanceDetailView(InstanceView): """Works with a full-blown instance.""" @@ -104,9 +117,6 @@ class InstanceDetailView(InstanceView): if self.instance.fault: result['instance']['fault'] = self._build_fault_info() - if self.instance.slaves: - result['instance']['replicas'] = self._build_slaves_info() - if self.instance.configuration is not None: result['instance']['configuration'] = (self. _build_configuration_info()) @@ -147,15 +157,6 @@ class InstanceDetailView(InstanceView): "details": self.instance.fault.details, } - def _build_slaves_info(self): - data = [] - for slave in self.instance.slaves: - data.append({ - "id": slave.id, - "links": create_links("instances", self.req, slave.id) - }) - return data - def _build_configuration_info(self): return { "id": self.instance.configuration.id,