Merge lp:~allenap/maas/remove-get-interfaces-definition--bug-1587864 into lp:~maas-committers/maas/trunk

Proposed by Gavin Panella
Status: Merged
Approved by: Gavin Panella
Approved revision: no longer in the source branch.
Merged at revision: 5083
Proposed branch: lp:~allenap/maas/remove-get-interfaces-definition--bug-1587864
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 163 lines (+5/-97)
4 files modified
src/provisioningserver/networks.py (+0/-39)
src/provisioningserver/rpc/clusterservice.py (+3/-3)
src/provisioningserver/support_dump.py (+2/-3)
src/provisioningserver/tests/test_networks.py (+0/-52)
To merge this branch: bzr merge lp:~allenap/maas/remove-get-interfaces-definition--bug-1587864
Reviewer Review Type Date Requested Status
Blake Rouse (community) Approve
Review via email: mp+296526@code.launchpad.net

Commit message

Remove p.networks; it's no longer necessary.

To post a comment you must log in.
Revision history for this message
Blake Rouse (blake-rouse) wrote :

Looks good. I am going to approve this only because I assume that previous code landed that I did not review, where this is no longer needed? This used to be used in the interface updating service on the rack controller.

review: Approve
Revision history for this message
Gavin Panella (allenap) wrote :

> Looks good. I am going to approve this only because I assume that
> previous code landed that I did not review, where this is no longer
> needed? This used to be used in the interface updating service on the
> rack controller.

Yep, r5074 on lp:maas changed that.

Thanks!

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

Attempt to merge into lp:maas failed due to conflicts:

text conflict in src/provisioningserver/rpc/clusterservice.py

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed file 'src/provisioningserver/networks.py'
2--- src/provisioningserver/networks.py 2016-02-29 22:14:24 +0000
3+++ src/provisioningserver/networks.py 1970-01-01 00:00:00 +0000
4@@ -1,39 +0,0 @@
5-# Copyright 2016 Canonical Ltd. This software is licensed under the
6-# GNU Affero General Public License version 3 (see the file LICENSE).
7-
8-"""Get /etc/network/interface definition for the rack controller."""
9-
10-__all__ = [
11- "get_interfaces_definition",
12- "clear_current_interfaces_definition",
13-]
14-
15-from provisioningserver.utils.network import get_all_interfaces_definition
16-
17-# Holds the current interfaces definition that the rack controller has
18-# processed.
19-_current_definition = None
20-
21-
22-def get_interfaces_definition():
23- """Return tuple containing the /etc/network/interfaces definition and a
24- boolean for it the definition has changed since the last time this method
25- was called.
26- """
27- global _current_definition
28- if _current_definition is None:
29- _current_definition = get_all_interfaces_definition()
30- return _current_definition, True
31- else:
32- new_definition = get_all_interfaces_definition()
33- if _current_definition != new_definition:
34- _current_definition = new_definition
35- return _current_definition, True
36- else:
37- return _current_definition, False
38-
39-
40-def clear_current_interfaces_definition():
41- """Clear the current cached interfaces definition."""
42- global _current_definition
43- _current_definition = None
44
45=== modified file 'src/provisioningserver/rpc/clusterservice.py'
46--- src/provisioningserver/rpc/clusterservice.py 2016-06-02 18:23:20 +0000
47+++ src/provisioningserver/rpc/clusterservice.py 2016-06-07 09:08:18 +0000
48@@ -33,7 +33,6 @@
49 from provisioningserver.drivers.power.mscm import probe_and_enlist_mscm
50 from provisioningserver.drivers.power.msftocs import probe_and_enlist_msftocs
51 from provisioningserver.logger.log import get_maas_logger
52-from provisioningserver.networks import get_interfaces_definition
53 from provisioningserver.power.change import maybe_change_power_state
54 from provisioningserver.power.query import get_power_state
55 from provisioningserver.refresh import (
56@@ -71,6 +70,7 @@
57 get_maas_id,
58 set_maas_id,
59 )
60+from provisioningserver.utils.network import get_all_interfaces_definition
61 from provisioningserver.utils.shell import (
62 call_and_check,
63 ExternalProcessError,
64@@ -384,7 +384,7 @@
65 def perform_refresh():
66 architecture = get_architecture()
67 os_release = get_os_release()
68- interfaces, _ = get_interfaces_definition()
69+ interfaces = get_all_interfaces_definition()
70 return architecture, os_release, interfaces
71
72 def cb_result(result):
73@@ -555,7 +555,7 @@
74 system_id = ''
75
76 # Gather the interface definition and hostname.
77- interfaces, _ = get_interfaces_definition()
78+ interfaces = get_all_interfaces_definition()
79 hostname = gethostname().split('.')[0]
80
81 def cb_register(data):
82
83=== modified file 'src/provisioningserver/support_dump.py'
84--- src/provisioningserver/support_dump.py 2016-03-18 21:11:49 +0000
85+++ src/provisioningserver/support_dump.py 2016-06-07 09:08:18 +0000
86@@ -19,9 +19,9 @@
87 list_boot_images,
88 )
89 from provisioningserver.config import ClusterConfiguration
90-from provisioningserver.networks import get_interfaces_definition
91 from provisioningserver.utils.ipaddr import get_ip_addr
92 from provisioningserver.utils.iproute import get_ip_route
93+from provisioningserver.utils.network import get_all_interfaces_definition
94
95
96 all_arguments = (
97@@ -73,8 +73,7 @@
98 "function": get_ip_route
99 },
100 {
101- "title": "get_interfaces_definition()",
102- "function": lambda: get_interfaces_definition()[0]
103+ "function": get_all_interfaces_definition,
104 },
105 ]
106
107
108=== removed file 'src/provisioningserver/tests/test_networks.py'
109--- src/provisioningserver/tests/test_networks.py 2016-05-12 19:07:37 +0000
110+++ src/provisioningserver/tests/test_networks.py 1970-01-01 00:00:00 +0000
111@@ -1,52 +0,0 @@
112-# Copyright 2016 Canonical Ltd. This software is licensed under the
113-# GNU Affero General Public License version 3 (see the file LICENSE).
114-
115-"""Test networks module."""
116-
117-__all__ = [
118- ]
119-
120-from unittest.mock import sentinel
121-
122-from maastesting.testcase import MAASTestCase
123-from provisioningserver import networks
124-
125-
126-class TestGetInterfacesDefinition(MAASTestCase):
127- """Tests for `get_interfaces_definition`."""
128-
129- def test__sets_global_when_None(self):
130- networks._current_definition = None
131- patched_getter = self.patch(networks, "get_all_interfaces_definition")
132- patched_getter.return_value = sentinel.definition
133- expected_value, updated = networks.get_interfaces_definition()
134- self.assertEquals(sentinel.definition, expected_value)
135- self.assertEquals(sentinel.definition, networks._current_definition)
136- self.assertTrue(updated)
137-
138- def test__sets_global_when_different(self):
139- networks._current_definition = sentinel.old_definition
140- patched_getter = self.patch(networks, "get_all_interfaces_definition")
141- patched_getter.return_value = sentinel.definition
142- expected_value, updated = networks.get_interfaces_definition()
143- self.assertEquals(sentinel.definition, expected_value)
144- self.assertEquals(sentinel.definition, networks._current_definition)
145- self.assertTrue(updated)
146-
147- def test__returns_not_changed_if_same(self):
148- networks._current_definition = sentinel.definition
149- patched_getter = self.patch(networks, "get_all_interfaces_definition")
150- patched_getter.return_value = sentinel.definition
151- expected_value, updated = networks.get_interfaces_definition()
152- self.assertEquals(sentinel.definition, expected_value)
153- self.assertEquals(sentinel.definition, networks._current_definition)
154- self.assertFalse(updated)
155-
156-
157-class TestClearCurrentInterfacesDefinition(MAASTestCase):
158- """Tests for `clear_current_interfaces_definition`."""
159-
160- def test__sets_global_to_None(self):
161- networks._current_definition = sentinel.old_definition
162- networks.clear_current_interfaces_definition()
163- self.assertIsNone(networks._current_definition)