← Back to team overview

sts-sponsors team mailing list archive

[Merge] ~ack/maas:ws-machine-list-cleanup into maas:master

 

Alberto Donato has proposed merging ~ack/maas:ws-machine-list-cleanup into maas:master.

Commit message:
reorder fields collection in machine listing handler, drop duplicates



Requested reviews:
  MAAS Maintainers (maas-maintainers)

For more details, see:
https://code.launchpad.net/~ack/maas/+git/maas/+merge/434441
-- 
Your team MAAS Maintainers is requested to review the proposed merge of ~ack/maas:ws-machine-list-cleanup into maas:master.
diff --git a/src/maasserver/websockets/handlers/machine.py b/src/maasserver/websockets/handlers/machine.py
index d5ae491..26407c6 100644
--- a/src/maasserver/websockets/handlers/machine.py
+++ b/src/maasserver/websockets/handlers/machine.py
@@ -323,9 +323,8 @@ class MachineHandler(NodeHandler):
     def dehydrate(self, obj, data, for_list=False):
         """Add extra fields to `data`."""
         data = super().dehydrate(obj, data, for_list=for_list)
-        data.update(
-            {"locked": obj.locked, "pool": self.dehydrate_pool(obj.pool)}
-        )
+        data["workload_annotations"] = OwnerData.objects.get_owner_data(obj)
+        data["parent"] = getattr(obj.parent, "system_id", None)
         # Try to use the annotated event description so its loaded in the same
         # query as loading the machines. Otherwise fallback to the method on
         # the machine.
@@ -424,8 +423,6 @@ class MachineHandler(NodeHandler):
             node_script_results
         )
 
-        data["workload_annotations"] = OwnerData.objects.get_owner_data(obj)
-        data["parent"] = getattr(obj.parent, "system_id", None)
         if not for_list:
             # Add info specific to a machine.
             data["show_os_info"] = self.dehydrate_show_os_info(obj)
diff --git a/src/maasserver/websockets/handlers/node.py b/src/maasserver/websockets/handlers/node.py
index 3290e09..9d6c548 100644
--- a/src/maasserver/websockets/handlers/node.py
+++ b/src/maasserver/websockets/handlers/node.py
@@ -397,12 +397,6 @@ class NodeHandler(TimestampedModelHandler):
                     obj.status, SIMPLIFIED_NODE_STATUS.OTHER
                 )
 
-        if for_list:
-            for attr in ("numa_nodes_count", "sriov_support"):
-                value = getattr(obj, attr, None)
-                if value is not None:
-                    data[attr] = value
-
         # Filters are only available on machines and devices.
         if not obj.is_controller:
             # For filters
@@ -421,7 +415,12 @@ class NodeHandler(TimestampedModelHandler):
                 }
             )
 
-        if not for_list:
+        if for_list:
+            for attr in ("numa_nodes_count", "sriov_support"):
+                value = getattr(obj, attr, None)
+                if value is not None:
+                    data[attr] = value
+        else:
             data["on_network"] = obj.on_network()
             if obj.node_type != NODE_TYPE.DEVICE:
                 data["numa_nodes"] = [

Follow ups