Merge ~andreserl/maas:lp1787381_2.4_maas_proxy_port into maas:2.4

Proposed by Andres Rodriguez
Status: Merged
Approved by: Andres Rodriguez
Approved revision: 1f287d912cbf8c759de9b0015a4687b927e27854
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~andreserl/maas:lp1787381_2.4_maas_proxy_port
Merge into: maas:2.4
Diff against target: 49 lines (+14/-3)
3 files modified
src/maasserver/compose_preseed.py (+2/-0)
src/maasserver/forms/__init__.py (+11/-2)
src/maasserver/models/config.py (+1/-1)
Reviewer Review Type Date Requested Status
Andres Rodriguez (community) Approve
Review via email: mp+353269@code.launchpad.net

Commit message

Backport 3d9ace9 - LP: #1787381 - Prevent the UI from re-setting proxy config settings.

To post a comment you must log in.
Revision history for this message
Andres Rodriguez (andreserl) wrote :

selfie!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/compose_preseed.py b/src/maasserver/compose_preseed.py
2index 8e5897d..f24b10f 100644
3--- a/src/maasserver/compose_preseed.py
4+++ b/src/maasserver/compose_preseed.py
5@@ -42,6 +42,8 @@ def get_apt_proxy(rack_controller=None, default_region_ip=None):
6 return http_proxy
7 else:
8 maas_proxy_port = Config.objects.get_config("maas_proxy_port")
9+ if not maas_proxy_port:
10+ maas_proxy_port = 8000
11 url = "http://:%d/" % maas_proxy_port
12 return compose_URL(
13 url, get_maas_facing_server_host(
14diff --git a/src/maasserver/forms/__init__.py b/src/maasserver/forms/__init__.py
15index 5e37481..d59b282 100644
16--- a/src/maasserver/forms/__init__.py
17+++ b/src/maasserver/forms/__init__.py
18@@ -1477,8 +1477,17 @@ class ProxyForm(ConfigForm):
19 enable_http_proxy = get_config_field('enable_http_proxy')
20 use_peer_proxy = get_config_field('use_peer_proxy')
21 http_proxy = get_config_field('http_proxy')
22- prefer_v4_proxy = get_config_field('prefer_v4_proxy')
23- maas_proxy_port = get_config_field('maas_proxy_port')
24+ # LP: #1787381 - Fix an issue where the UI is overriding config fields
25+ # that are *only* exposed over the API.
26+ #
27+ # XXX - since the UI for these options has been converted to Angular,
28+ # MAAS no longer automatically creates fields for these based on the
29+ # settings forms. As such, this form doesn't validate against the
30+ # settings form (as the DNSForm would do, for example). As such
31+ # .
32+ # These fields need to be added back once LP: #1787467 is fixed.
33+ # prefer_v4_proxy = get_config_field('prefer_v4_proxy')
34+ # maas_proxy_port = get_config_field('maas_proxy_port')
35
36
37 class DNSForm(ConfigForm):
38diff --git a/src/maasserver/models/config.py b/src/maasserver/models/config.py
39index 199e9ee..39873b7 100644
40--- a/src/maasserver/models/config.py
41+++ b/src/maasserver/models/config.py
42@@ -182,7 +182,7 @@ class ConfigManager(Manager):
43 return {
44 name: configs.get(name).value
45 if configs.get(name)
46- else DEFAULT_CONFIG.get(name, default)
47+ else copy.deepcopy(DEFAULT_CONFIG.get(name, default))
48 for name, default in zip(names, defaults)
49 }
50

Subscribers

People subscribed via source and target branches