Merge ~lloydwaltersj/maas:fix-last-delpoy-time into maas:master

Proposed by Jack Lloyd-Walters
Status: Rejected
Rejected by: Jack Lloyd-Walters
Proposed branch: ~lloydwaltersj/maas:fix-last-delpoy-time
Merge into: maas:master
Diff against target: 68 lines (+17/-15)
3 files modified
src/maasserver/models/bootresource.py (+6/-13)
src/maasserver/models/tests/test_node.py (+10/-0)
src/maasserver/websockets/handlers/bootresource.py (+1/-2)
Reviewer Review Type Date Requested Status
MAAS Maintainers Pending
Review via email: mp+446769@code.launchpad.net

Commit message

make last deployment work again

To post a comment you must log in.
95fd52c... by Jack Lloyd-Walters

remove broken assert

Unmerged commits

95fd52c... by Jack Lloyd-Walters

remove broken assert

e3a7835... by Jack Lloyd-Walters

use only first field of arch

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/src/maasserver/models/bootresource.py b/src/maasserver/models/bootresource.py
index 04fb36d..9db0c9d 100644
--- a/src/maasserver/models/bootresource.py
+++ b/src/maasserver/models/bootresource.py
@@ -671,22 +671,15 @@ class BootResource(CleanSave, TimestampedModel):
671 return resource_set671 return resource_set
672 return None672 return None
673673
674 def get_last_deploy(self) -> datetime:674 def get_last_deploy(self) -> datetime | None:
675 from maasserver.models.event import Event675 from maasserver.models.event import Event
676 from provisioningserver.events import EVENT_TYPES676 from provisioningserver.events import EVENT_TYPES
677677
678 deploy_msg = f"deployed {self.name}/{self.architecture}"678 if events := Event.objects.filter(
679 try:679 type__name=EVENT_TYPES.IMAGE_DEPLOYED,
680 return (680 description__contains=f"{self.name}/{self.split_arch()[0]}",
681 Event.objects.filter(681 ).order_by("created"):
682 type__name=EVENT_TYPES.IMAGE_DEPLOYED,682 return events.last().created
683 description=deploy_msg,
684 )
685 .latest("created")
686 .created
687 )
688 except Event.DoesNotExist:
689 pass
690683
691 def split_arch(self):684 def split_arch(self):
692 return self.architecture.split("/")685 return self.architecture.split("/")
diff --git a/src/maasserver/models/tests/test_node.py b/src/maasserver/models/tests/test_node.py
index d675b14..bf61139 100644
--- a/src/maasserver/models/tests/test_node.py
+++ b/src/maasserver/models/tests/test_node.py
@@ -4844,6 +4844,16 @@ class TestNode(MAASServerTestCase):
4844 {EVENT_TYPES.IMAGE_DEPLOYED, EVENT_TYPES.DEPLOYED},4844 {EVENT_TYPES.IMAGE_DEPLOYED, EVENT_TYPES.DEPLOYED},
4845 )4845 )
48464846
4847 def test_end_deployment_emits_image_deploy_msg(self):
4848 self.disable_node_query()
4849 node = factory.make_Node(status=NODE_STATUS.DEPLOYING)
4850 start_time = datetime.now()
4851 node.end_deployment()
4852 [event] = Event.objects.filter(
4853 type__name=EVENT_TYPES.IMAGE_DEPLOYED,
4854 )
4855 assert event.created >= start_time
4856
4847 def test_end_deployment_sets_first_last_sync_value(self):4857 def test_end_deployment_sets_first_last_sync_value(self):
4848 self.disable_node_query()4858 self.disable_node_query()
4849 node = factory.make_Node(4859 node = factory.make_Node(
diff --git a/src/maasserver/websockets/handlers/bootresource.py b/src/maasserver/websockets/handlers/bootresource.py
index 66d45b9..773262a 100644
--- a/src/maasserver/websockets/handlers/bootresource.py
+++ b/src/maasserver/websockets/handlers/bootresource.py
@@ -496,8 +496,7 @@ class BootResourceHandler(Handler):
496 """Return the most recent deploy time for all resources."""496 """Return the most recent deploy time for all resources."""
497 last_deployed = None497 last_deployed = None
498 for resource in resources:498 for resource in resources:
499 this_deploy = resource.get_last_deploy()499 if this_deploy := resource.get_last_deploy():
500 if this_deploy is not None:
501 last_deployed = self.pick_latest_datetime(500 last_deployed = self.pick_latest_datetime(
502 last_deployed, this_deploy501 last_deployed, this_deploy
503 )502 )

Subscribers

People subscribed via source and target branches