Merge ~adam-collard/maas:remove-unused-machine-list-fields into maas:master

Proposed by Adam Collard
Status: Merged
Approved by: Adam Collard
Approved revision: 7ebf4bc1f81e54859f594dc9c15d8df9a112dcbb
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~adam-collard/maas:remove-unused-machine-list-fields
Merge into: maas:master
Diff against target: 166 lines (+61/-51)
3 files modified
src/maasserver/websockets/handlers/machine.py (+4/-1)
src/maasserver/websockets/handlers/node.py (+7/-6)
src/maasserver/websockets/handlers/tests/test_machine.py (+50/-44)
Reviewer Review Type Date Requested Status
Alexsander de Souza Approve
MAAS Lander unittests Pending
Review via email: mp+416302@code.launchpad.net

Commit message

Remove unused fields from machine list
- cpu_speed
- commissioning_start_time
- commissioning_status

To post a comment you must log in.
Revision history for this message
Alexsander de Souza (alexsander-souza) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/websockets/handlers/machine.py b/src/maasserver/websockets/handlers/machine.py
2index b625225..77f9167 100644
3--- a/src/maasserver/websockets/handlers/machine.py
4+++ b/src/maasserver/websockets/handlers/machine.py
5@@ -238,7 +238,6 @@ class MachineHandler(NodeHandler):
6 "locked",
7 "owner",
8 "cpu_count",
9- "cpu_speed",
10 "description",
11 "error_description",
12 "memory",
13@@ -247,6 +246,10 @@ class MachineHandler(NodeHandler):
14 "pool",
15 "zone",
16 ]
17+ list_exclude = [
18+ "commissioning_start_time",
19+ "commissioning_status",
20+ ] + exclude
21 listen_channels = ["machine"]
22 create_permission = NodePermission.admin
23 view_permission = NodePermission.view
24diff --git a/src/maasserver/websockets/handlers/node.py b/src/maasserver/websockets/handlers/node.py
25index a5d1f06..8877140 100644
26--- a/src/maasserver/websockets/handlers/node.py
27+++ b/src/maasserver/websockets/handlers/node.py
28@@ -284,15 +284,16 @@ class NodeHandler(TimestampedModelHandler):
29 and script_result.started < testing_start_time
30 ):
31 testing_start_time = script_result.started
32- data["commissioning_status"] = self.dehydrate_test_statuses(
33- commissioning_script_results
34- )
35+ if not for_list:
36+ data["commissioning_status"] = self.dehydrate_test_statuses(
37+ commissioning_script_results
38+ )
39+ data["commissioning_start_time"] = dehydrate_datetime(
40+ commissioning_start_time
41+ )
42 data["testing_status"] = self.dehydrate_test_statuses(
43 testing_script_results
44 )
45- data["commissioning_start_time"] = dehydrate_datetime(
46- commissioning_start_time
47- )
48 data["testing_start_time"] = dehydrate_datetime(testing_start_time)
49 data["installation_start_time"] = dehydrate_datetime(
50 installation_start_time
51diff --git a/src/maasserver/websockets/handlers/tests/test_machine.py b/src/maasserver/websockets/handlers/tests/test_machine.py
52index 9b29ceb..16b94fb 100644
53--- a/src/maasserver/websockets/handlers/tests/test_machine.py
54+++ b/src/maasserver/websockets/handlers/tests/test_machine.py
55@@ -388,46 +388,49 @@ class TestMachineHandler(MAASServerTestCase):
56 data["sriov_support"] = any(
57 iface["sriov_max_vf"] > 0 for iface in data["interfaces"]
58 )
59- allowed_fields = MachineHandler.Meta.list_fields + [
60- "actions",
61- "architecture",
62- "commissioning_script_count",
63- "commissioning_start_time",
64- "commissioning_status",
65- "dhcp_on",
66- "distro_series",
67- "extra_macs",
68- "link_speeds",
69- "fabrics",
70- "fqdn",
71- "has_logs",
72- "installation_start_time",
73- "ip_addresses",
74- "link_type",
75- "metadata",
76- "node_type_display",
77- "numa_nodes_count",
78- "osystem",
79- "permissions",
80- "physical_disk_count",
81- "pod",
82- "pxe_mac",
83- "pxe_mac_vendor",
84- "spaces",
85- "sriov_support",
86- "status",
87- "status_code",
88- "status_message",
89- "storage",
90- "storage_tags",
91- "subnets",
92- "tags",
93- "testing_script_count",
94- "testing_start_time",
95- "testing_status",
96- "vlan",
97- "workload_annotations",
98- ]
99+ list_fields = set(MachineHandler.Meta.list_fields) - set(
100+ MachineHandler.Meta.list_exclude
101+ )
102+ allowed_fields = list_fields.union(
103+ {
104+ "actions",
105+ "architecture",
106+ "commissioning_script_count",
107+ "dhcp_on",
108+ "distro_series",
109+ "extra_macs",
110+ "link_speeds",
111+ "fabrics",
112+ "fqdn",
113+ "has_logs",
114+ "installation_start_time",
115+ "ip_addresses",
116+ "link_type",
117+ "metadata",
118+ "node_type_display",
119+ "numa_nodes_count",
120+ "osystem",
121+ "permissions",
122+ "physical_disk_count",
123+ "pod",
124+ "pxe_mac",
125+ "pxe_mac_vendor",
126+ "spaces",
127+ "sriov_support",
128+ "status",
129+ "status_code",
130+ "status_message",
131+ "storage",
132+ "storage_tags",
133+ "subnets",
134+ "tags",
135+ "testing_script_count",
136+ "testing_start_time",
137+ "testing_status",
138+ "vlan",
139+ "workload_annotations",
140+ }
141+ )
142 for key in list(data):
143 if key not in allowed_fields:
144 del data[key]
145@@ -2249,14 +2252,17 @@ class TestMachineHandler(MAASServerTestCase):
146 handler = MachineHandler(user, {}, None)
147 factory.make_PhysicalBlockDevice(node=node)
148 self.assertNotIn(node.id, handler._script_results.keys())
149- self.assertCountEqual(
150- [self.dehydrate_node(node, handler, for_list=True)],
151- handler.list({}),
152- )
153+ list_results = handler.list({})
154 self.assertDictEqual(
155 {node.id: {script_result.script.hardware_type: [script_result]}},
156 handler._script_results,
157 )
158+ self.assertNotIn("commissioning_status", list_results[0])
159+ self.assertNotIn("commissioning_start_time", list_results[0])
160+ self.assertNotIn("cpu_speed", list_results[0])
161+ self.assertCountEqual(
162+ [self.dehydrate_node(node, handler, for_list=True)], list_results
163+ )
164
165 def test_list_includes_numa_node_info(self):
166 user = factory.make_User()

Subscribers

People subscribed via source and target branches