Merge ~lloydwaltersj/maas:controller-certificate-metadata into maas:master

Proposed by Jack Lloyd-Walters
Status: Merged
Approved by: Jack Lloyd-Walters
Approved revision: b98e12068fc14f01dd9e17434d6c75e342971b22
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~lloydwaltersj/maas:controller-certificate-metadata
Merge into: maas:master
Diff against target: 34 lines (+14/-1)
1 file modified
src/maasserver/websockets/handlers/controller.py (+14/-1)
Reviewer Review Type Date Requested Status
MAAS Lander Approve
Alexsander de Souza Approve
Review via email: mp+425444@code.launchpad.net

Commit message

add certificate metadata to controller websocket model

To post a comment you must log in.
Revision history for this message
Anton Troyanov (troyanov) wrote :

Oh, probably this branch was not started from master? I see some changes referenced here, but they are from different MP `test_create_logical_volume_creates_max_logical_volume_if_size_empty`

Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b controller-certificate-metadata lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: d04618b0defab2eaaa5d4007d57c68e9689e4a8e

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b controller-certificate-metadata lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 299ddd09135d8d43120a84d4064f55b724c0a950

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b controller-certificate-metadata lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: b98e12068fc14f01dd9e17434d6c75e342971b22

review: Approve
Revision history for this message
Alexsander de Souza (alexsander-souza) wrote :

+1

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :

LANDING
-b controller-certificate-metadata lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED BUILD
LOG: http://maas-ci.internal:8080/job/maas/job/branch-tester/13142/consoleText

Revision history for this message
Jack Lloyd-Walters (lloydwaltersj) wrote :

jenkins: !test

Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b controller-certificate-metadata lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: b98e12068fc14f01dd9e17434d6c75e342971b22

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/src/maasserver/websockets/handlers/controller.py b/src/maasserver/websockets/handlers/controller.py
index 872ff1c..dad5976 100644
--- a/src/maasserver/websockets/handlers/controller.py
+++ b/src/maasserver/websockets/handlers/controller.py
@@ -24,8 +24,13 @@ from maasserver.models import Config, Controller, Event, RackController, VLAN
24from maasserver.models.controllerinfo import get_target_version24from maasserver.models.controllerinfo import get_target_version
25from maasserver.node_action import compile_node_actions25from maasserver.node_action import compile_node_actions
26from maasserver.permissions import NodePermission26from maasserver.permissions import NodePermission
27from maasserver.websockets.base import HandlerError, HandlerPermissionError27from maasserver.websockets.base import (
28 dehydrate_certificate,
29 HandlerError,
30 HandlerPermissionError,
31)
28from maasserver.websockets.handlers.node import node_prefetch, NodeHandler32from maasserver.websockets.handlers.node import node_prefetch, NodeHandler
33from provisioningserver.certificates import Certificate
2934
30# return the list of VLAN ids connected to a controller35# return the list of VLAN ids connected to a controller
31_vlan_ids_aggr = ArrayAgg(36_vlan_ids_aggr = ArrayAgg(
@@ -183,6 +188,14 @@ class ControllerHandler(NodeHandler):
183 interface.vlan_id188 interface.vlan_id
184 for interface in obj.current_config.interface_set.all()189 for interface in obj.current_config.interface_set.all()
185 ]190 ]
191
192 # include certificate info if present
193 certificate = obj.power_parameters.get("certificate")
194 key = obj.power_parameters.get("key")
195 if certificate and key:
196 cert = Certificate.from_pem(certificate, key)
197 data["certificate"] = dehydrate_certificate(cert)
198
186 return data199 return data
187200
188 def dehydrate_versions(self, info):201 def dehydrate_versions(self, info):

Subscribers

People subscribed via source and target branches