Merge lp:~jason-hobbs/maas/allow-mark-broken-when-disk-releasing-1.7 into lp:maas/1.7

Proposed by Jason Hobbs
Status: Merged
Approved by: Jason Hobbs
Approved revision: no longer in the source branch.
Merged at revision: 3296
Proposed branch: lp:~jason-hobbs/maas/allow-mark-broken-when-disk-releasing-1.7
Merge into: lp:maas/1.7
Diff against target: 55 lines (+15/-1)
3 files modified
src/maasserver/api/tests/test_node.py (+13/-0)
src/maasserver/node_action.py (+1/-1)
src/maasserver/node_status.py (+1/-0)
To merge this branch: bzr merge lp:~jason-hobbs/maas/allow-mark-broken-when-disk-releasing-1.7
Reviewer Review Type Date Requested Status
Jason Hobbs (community) Approve
Review via email: mp+240597@code.launchpad.net

Commit message

Allow marking a node in DISK_ERASING state as broken.

To post a comment you must log in.
Revision history for this message
Jason Hobbs (jason-hobbs) wrote :

Self approve trivial backport.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/maasserver/api/tests/test_node.py'
2--- src/maasserver/api/tests/test_node.py 2014-09-29 10:26:31 +0000
3+++ src/maasserver/api/tests/test_node.py 2014-11-04 16:13:15 +0000
4@@ -26,6 +26,7 @@
5 from maasserver.enum import (
6 IPADDRESS_TYPE,
7 NODE_STATUS,
8+ NODE_STATUS_CHOICES,
9 NODE_STATUS_CHOICES_DICT,
10 )
11 from maasserver.fields import (
12@@ -1213,6 +1214,18 @@
13 self.get_node_uri(node), {'op': 'mark_broken'})
14 self.assertEqual(httplib.FORBIDDEN, response.status_code)
15
16+ def test_mark_broken_allowed_from_any_other_state(self):
17+ for status, _ in NODE_STATUS_CHOICES:
18+ if status == NODE_STATUS.BROKEN:
19+ continue
20+
21+ node = factory.make_Node(status=status, owner=self.logged_in_user)
22+ response = self.client.post(
23+ self.get_node_uri(node), {'op': 'mark_broken'})
24+ self.expectThat(response.status_code, Equals(httplib.OK), response)
25+ node = reload_object(node)
26+ self.expectThat(node.status, Equals(NODE_STATUS.BROKEN))
27+
28
29 class TestMarkFixed(APITestCase):
30 """Tests for /api/1.0/nodes/<node>/?op=mark_fixed"""
31
32=== modified file 'src/maasserver/node_action.py'
33--- src/maasserver/node_action.py 2014-10-20 22:01:33 +0000
34+++ src/maasserver/node_action.py 2014-11-04 16:13:15 +0000
35@@ -415,7 +415,7 @@
36 actionable_statuses = [
37 NODE_STATUS.NEW, NODE_STATUS.COMMISSIONING,
38 NODE_STATUS.ALLOCATED, NODE_STATUS.RELEASING,
39- NODE_STATUS.DEPLOYING] + FAILED_STATUSES
40+ NODE_STATUS.DEPLOYING, NODE_STATUS.DISK_ERASING] + FAILED_STATUSES
41 permission = NODE_PERMISSION.EDIT
42
43 def execute(self, allow_redirect=True):
44
45=== modified file 'src/maasserver/node_status.py'
46--- src/maasserver/node_status.py 2014-10-15 13:55:21 +0000
47+++ src/maasserver/node_status.py 2014-11-04 16:13:15 +0000
48@@ -145,6 +145,7 @@
49 NODE_STATUS.BROKEN,
50 ],
51 NODE_STATUS.DISK_ERASING: [
52+ NODE_STATUS.BROKEN,
53 NODE_STATUS.DISK_ERASING,
54 NODE_STATUS.FAILED_DISK_ERASING,
55 NODE_STATUS.READY,

Subscribers

People subscribed via source and target branches

to all changes: