Merge ~lloydwaltersj/maas:last-deploy-mock-data into maas:master

Proposed by Jack Lloyd-Walters
Status: Merged
Approved by: Jack Lloyd-Walters
Approved revision: 93eea4277a2474ce5154a845125b162b4d9b0ee7
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~lloydwaltersj/maas:last-deploy-mock-data
Merge into: maas:master
Diff against target: 52 lines (+15/-1)
2 files modified
src/maasserver/models/bootresource.py (+12/-1)
src/maasserver/websockets/handlers/bootresource.py (+3/-0)
Reviewer Review Type Date Requested Status
Adam Collard (community) Approve
MAAS Lander Approve
Review via email: mp+434244@code.launchpad.net

Commit message

add mock deployment data

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b last-deploy-mock-data lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/1563/consoleText
COMMIT: f38be17ae643eb5f512c7176eb9659d606b199ec

review: Needs Fixing
6319f17... by Jack Lloyd-Walters

update for linting

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

UNIT TESTS
-b last-deploy-mock-data lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 6319f17f88d825cd2a57ec2ca683b605abab9bfb

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

UNIT TESTS
-b last-deploy-mock-data lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/1565/consoleText
COMMIT: 8198bf537e1d5c78656653d140790a2d993a5d1d

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

UNIT TESTS
-b last-deploy-mock-data lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/1566/consoleText
COMMIT: c816b818e935d98aa14203f3a114254508afc2e9

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

UNIT TESTS
-b last-deploy-mock-data lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/1567/consoleText
COMMIT: 60f070d2c9d8507fdabbb4dacb427ba9c6cb65f1

review: Needs Fixing
93eea42... by Jack Lloyd-Walters

make everything happier

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

UNIT TESTS
-b last-deploy-mock-data lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 93eea4277a2474ce5154a845125b162b4d9b0ee7

review: Approve
Revision history for this message
Adam Collard (adam-collard) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/models/bootresource.py b/src/maasserver/models/bootresource.py
2index 9389830..3ec9528 100644
3--- a/src/maasserver/models/bootresource.py
4+++ b/src/maasserver/models/bootresource.py
5@@ -16,6 +16,7 @@ from django.db.models import (
6 Prefetch,
7 Sum,
8 )
9+from django.utils import timezone
10
11 from maasserver.enum import (
12 BOOT_RESOURCE_FILE_TYPE,
13@@ -114,7 +115,7 @@ class BootResourceManager(Manager):
14 def get_usable_architectures(self):
15 """Return the set of usable architectures.
16
17- Return the architectures for which the has at least one
18+ Return the architectures for which the resource has at least one
19 commissioning image and at least one install image.
20 """
21 arches = set()
22@@ -515,6 +516,16 @@ class BootResource(CleanSave, TimestampedModel):
23 """Return rtype text as displayed to the user."""
24 return BOOT_RESOURCE_TYPE_CHOICES_DICT[self.rtype]
25
26+ @property
27+ def last_deployed(self) -> timezone.datetime:
28+ """Returns the most recent time of deplyment for an image."""
29+ # Mock data: Generates a random time based on the hash of the
30+ # resource name.
31+ ms_py = 3153600000000
32+ return timezone.datetime(2022, 6, 1) + timezone.timedelta(
33+ microseconds=hash(self.name) % ms_py
34+ )
35+
36 def clean(self):
37 """Validate the model.
38
39diff --git a/src/maasserver/websockets/handlers/bootresource.py b/src/maasserver/websockets/handlers/bootresource.py
40index 89d3fd3..908af1e 100644
41--- a/src/maasserver/websockets/handlers/bootresource.py
42+++ b/src/maasserver/websockets/handlers/bootresource.py
43@@ -597,6 +597,9 @@ class BootResourceHandler(Handler):
44 "lastUpdate": resource.last_update.strftime(
45 "%a, %d %b. %Y %H:%M:%S"
46 ),
47+ "lastDeployed": resource.last_deployed.strftime(
48+ "%a, %d %b. %Y %H:%M:%S"
49+ ),
50 }
51 for resource in self.combine_resources(
52 BootResource.objects.filter(bootloader_type=None)

Subscribers

People subscribed via source and target branches