Merge ~adam-collard/maas:maas-agent-run-dir into maas:master

Proposed by Adam Collard
Status: Merged
Approved by: Adam Collard
Approved revision: c867edb13455aaa9b6e594532ddae83bce0a1ba3
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~adam-collard/maas:maas-agent-run-dir
Merge into: maas:master
Diff against target: 230 lines (+24/-37)
13 files modified
debian/maas-agent.dirs (+1/-0)
debian/maas-agent.postinst (+8/-5)
debian/maas-common.dirs (+1/-0)
debian/maas-dhcp.maas-dhcpd.service (+1/-1)
debian/maas-dhcp.maas-dhcpd6.service (+1/-1)
debian/maas-dhcp.postinst (+4/-14)
debian/maas-proxy.maas-proxy.service (+1/-1)
debian/maas-proxy.postinst (+1/-9)
debian/maas-region-api.install (+2/-2)
src/maasagent/cmd/maas-agent/main.go (+1/-1)
src/maasagent/cmd/maas-agent/main_test.go (+1/-1)
src/maasagent/internal/httpproxy/service.go (+1/-1)
src/provisioningserver/rackdservices/http.py (+1/-1)
Reviewer Review Type Date Requested Status
MAAS Lander Approve
Anton Troyanov Approve
Review via email: mp+461020@code.launchpad.net

Commit message

fix: move agent socket to /run/maas/agent/*.sock

/run/maas owned by maas-common package, root:root

/run/maas/agent owned by maas-agent package, maas:maas

Drive-by fixes to packaging

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

UNIT TESTS
-b maas-agent-run-dir lp:~adam-collard/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/4707/console
COMMIT: edccc5f9545fd8fcbb6c9b68ae4cb2932e004a86

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

UNIT TESTS
-b maas-agent-run-dir lp:~adam-collard/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 7c8ea8e887da7202f0cde25d58e2cf56980f1d35

review: Approve
c867edb... by Adam Collard

fix: remove ExecStartPre, mkdir as part of packaging

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/maas-agent.dirs b/debian/maas-agent.dirs
2index deaaafe..c49d29d 100644
3--- a/debian/maas-agent.dirs
4+++ b/debian/maas-agent.dirs
5@@ -1 +1,2 @@
6+run/maas/agent
7 var/cache/maas
8diff --git a/debian/maas-agent.postinst b/debian/maas-agent.postinst
9index a32648d..a57b8a6 100755
10--- a/debian/maas-agent.postinst
11+++ b/debian/maas-agent.postinst
12@@ -2,16 +2,19 @@
13 set -e
14
15 cachedir=/var/cache/maas
16+agent_rundir=/run/maas/agent
17
18-ensure_cache_dir() {
19- if [ ! -d $cachedir ]; then
20- install -d -o maas -g maas -m 0755 $cachedir
21+ensure_dir() {
22+ target_dir="$1"
23+ if [ ! -d "$target_dir" ]; then
24+ install -d -o maas -g maas -m 0755 "$target_dir"
25 fi
26- chown maas:maas $cachedir
27+ chown maas:maas "$target_dir"
28 }
29
30 if [ "$1" = "configure" ]; then
31- ensure_cache_dir
32+ ensure_dir $cachedir
33+ ensure_dir $agent_rundir
34 fi
35
36 #DEBHELPER#
37diff --git a/debian/maas-common.dirs b/debian/maas-common.dirs
38index 9249b9e..90daa6c 100644
39--- a/debian/maas-common.dirs
40+++ b/debian/maas-common.dirs
41@@ -1,3 +1,4 @@
42+run/maas
43 var/lib/maas
44 var/lib/maas/http
45 var/lib/maas/prometheus
46diff --git a/debian/maas-dhcp.maas-dhcpd.service b/debian/maas-dhcp.maas-dhcpd.service
47index 6df8b20..f3cd864 100644
48--- a/debian/maas-dhcp.maas-dhcpd.service
49+++ b/debian/maas-dhcp.maas-dhcpd.service
50@@ -5,13 +5,13 @@ Wants=network-online.target
51 After=network-online.target
52 After=time-sync.target
53 BindsTo=maas-rackd.service
54+ConditionPathExists=/run/maas/dhcp
55 ConditionPathExists=/var/lib/maas/dhcpd.conf
56 ConditionPathExists=/var/lib/maas/dhcpd-interfaces
57
58 [Service]
59 # Allow dhcp server to write lease and pid file as 'dhcpd' user
60 # The leases files need to be root:dhcpd even when dropping privileges
61-ExecStartPre=/bin/mkdir -p /run/maas/dhcp /var/lib/maas/dhcp
62 ExecStart=/bin/sh -ec '\
63 INTERFACES=$(cat /var/lib/maas/dhcpd-interfaces); \
64 LEASES_FILE=/var/lib/maas/dhcp/dhcpd.leases; \
65diff --git a/debian/maas-dhcp.maas-dhcpd6.service b/debian/maas-dhcp.maas-dhcpd6.service
66index 99b1b28..9fc55df 100644
67--- a/debian/maas-dhcp.maas-dhcpd6.service
68+++ b/debian/maas-dhcp.maas-dhcpd6.service
69@@ -5,13 +5,13 @@ Wants=network-online.target
70 After=network-online.target
71 After=time-sync.target
72 BindsTo=maas-rackd.service
73+ConditionPathExists=/run/maas/dhcpd
74 ConditionPathExists=/var/lib/maas/dhcpd6.conf
75 ConditionPathExists=/var/lib/maas/dhcpd6-interfaces
76
77 [Service]
78 # Allow dhcp server to write lease and pid file as 'dhcpd' user
79 # The leases files need to be root:dhcpd even when dropping privileges
80-ExecStartPre=/bin/mkdir -p /run/maas/dhcp /var/lib/maas/dhcp
81 ExecStart=/bin/sh -ec '\
82 INTERFACES=$(cat /var/lib/maas/dhcpd6-interfaces); \
83 LEASES_FILE=/var/lib/maas/dhcp/dhcpd6.leases; \
84diff --git a/debian/maas-dhcp.postinst b/debian/maas-dhcp.postinst
85old mode 100644
86new mode 100755
87index 273a765..c1aaf89
88--- a/debian/maas-dhcp.postinst
89+++ b/debian/maas-dhcp.postinst
90@@ -7,9 +7,9 @@ then
91 # Stop the dhcpd instance that came with the isc-dhcp-server package.
92 # We run our own dhcpd instances.
93 deb-systemd-invoke stop 'isc-dhcp-server.service' >/dev/null || true
94- deb-systemd-helper disble 'isc-dhcp-server.service'>/dev/null || true
95+ deb-systemd-helper disable 'isc-dhcp-server.service'>/dev/null || true
96 deb-systemd-invoke stop 'isc-dhcp-server6.service' >/dev/null || true
97- deb-systemd-helper disble 'isc-dhcp-server6.service' >/dev/null || true
98+ deb-systemd-helper disable 'isc-dhcp-server6.service' >/dev/null || true
99
100 dhcpd_prof="/etc/apparmor.d/usr.sbin.dhcpd"
101 if [ -f "${dhcpd_prof}" ] && command -v apparmor_parser >/dev/null 2>&1
102@@ -17,19 +17,9 @@ then
103 apparmor_parser --replace --write-cache --skip-read-cache "${dhcpd_prof}" || true
104 fi
105
106- # Starting from 1.9, these config files are no longer stored in
107- # /etc/maas, but are stored in /var/lib/maas. Note that these
108- # are created automatically by MAAS. On upgrades, however, these
109- # need to be moved to not break DHCP.
110- if [ -f /etc/maas/dhcpd.conf ]; then
111- mv /etc/maas/dhcpd.conf /var/lib/maas/
112- fi
113- if [ -f /etc/maas/dhcpd6.conf ]; then
114- mv /etc/maas/dhcpd6.conf /var/lib/maas/
115- fi
116-
117 # Ensure ownership is correct
118- chown root:dhcpd /var/lib/maas/dhcp
119+ install -d -o root -g dhcpd /var/lib/maas/dhcp
120+ install -d -o root -g root /run/maas/dhcp
121 fi
122
123 #DEBHELPER#
124diff --git a/debian/maas-proxy.maas-proxy.service b/debian/maas-proxy.maas-proxy.service
125index a157363..f7bbb17 100644
126--- a/debian/maas-proxy.maas-proxy.service
127+++ b/debian/maas-proxy.maas-proxy.service
128@@ -8,7 +8,7 @@ ConditionPathExists=/var/lib/maas/maas-proxy.conf
129 Type=forking
130 PIDFile=/run/squid.pid
131 Restart=always
132-ExecStartPre=/bin/mkdir -p /run/maas/proxy
133+ExecStartPre=/bin/mkdir /run/maas/proxy
134 ExecStartPre=/bin/sh -ec '\
135 . /usr/share/maas/maas-proxy-common.sh; \
136 pre_start'
137diff --git a/debian/maas-proxy.postinst b/debian/maas-proxy.postinst
138old mode 100644
139new mode 100755
140index f5dc0ba..558fe85
141--- a/debian/maas-proxy.postinst
142+++ b/debian/maas-proxy.postinst
143@@ -11,15 +11,7 @@ then
144 systemctl disable squid >/dev/null 2>&1 || true
145
146 # Ensure log folder is created.
147- mkdir -p /var/log/maas/proxy
148- chown -R proxy:proxy /var/log/maas/proxy
149-
150- # maas-proxy.conf is now generated by MAAS itself and if we are
151- # upgrading from an earlier version that used to ship maas-proxy.conf
152- # in /etc/maas, it is safe to remove
153- if [ -f /etc/maas/maas-proxy.conf ]; then
154- rm /etc/maas/maas-proxy.conf
155- fi
156+ install -d -o proxy -g proxy /var/log/maas/proxy
157
158 fi
159
160diff --git a/debian/maas-region-api.install b/debian/maas-region-api.install
161index 2bdc881..11e49c0 100644
162--- a/debian/maas-region-api.install
163+++ b/debian/maas-region-api.install
164@@ -5,7 +5,7 @@ debian/tmp/usr/share/maas/web/static
165 package-files/usr/share/maas/maas-http.conf usr/share/maas/
166
167 # Install new preseed files
168-package-files/etc/maas/preseeds /etc/maas
169+package-files/etc/maas/preseeds etc/maas
170
171 # Install driver configuration file
172 package-files/etc/maas/drivers.yaml etc/maas
173@@ -18,4 +18,4 @@ debian/extras/maas_remote_syslog_compress etc/cron.d
174
175 # Install API application
176 debian/tmp/usr/lib/python3*/dist-packages/maasapiserver
177-usr/bin/maas-apiserver /usr/sbin
178+usr/bin/maas-apiserver usr/sbin
179diff --git a/src/maasagent/cmd/maas-agent/main.go b/src/maasagent/cmd/maas-agent/main.go
180index 346df5b..f362b5e 100644
181--- a/src/maasagent/cmd/maas-agent/main.go
182+++ b/src/maasagent/cmd/maas-agent/main.go
183@@ -232,7 +232,7 @@ func getSocketDir() string {
184 return fmt.Sprintf("/run/snap.%s", name)
185 }
186
187- return "/run/maas"
188+ return "/run/maas/agent"
189 }
190
191 func main() {
192diff --git a/src/maasagent/cmd/maas-agent/main_test.go b/src/maasagent/cmd/maas-agent/main_test.go
193index 039972b..ded0256 100644
194--- a/src/maasagent/cmd/maas-agent/main_test.go
195+++ b/src/maasagent/cmd/maas-agent/main_test.go
196@@ -20,7 +20,7 @@ func TestGetSocketDir(t *testing.T) {
197 "deb": {
198 in: func(t *testing.T) {
199 t.Setenv("SNAP_INSTANCE_NAME", "")
200- }, out: "/run/maas",
201+ }, out: "/run/maas/agent",
202 },
203 }
204
205diff --git a/src/maasagent/internal/httpproxy/service.go b/src/maasagent/internal/httpproxy/service.go
206index b89efb5..c9bb1eb 100644
207--- a/src/maasagent/internal/httpproxy/service.go
208+++ b/src/maasagent/internal/httpproxy/service.go
209@@ -16,7 +16,7 @@ import (
210
211 const (
212 httpProxyServiceWorkerPoolGroup = "httpproxy-service"
213- socketFileName = "agent-httpproxy.sock"
214+ socketFileName = "httpproxy.sock"
215 )
216
217 var (
218diff --git a/src/provisioningserver/rackdservices/http.py b/src/provisioningserver/rackdservices/http.py
219index 6911921..39d5b28 100644
220--- a/src/provisioningserver/rackdservices/http.py
221+++ b/src/provisioningserver/rackdservices/http.py
222@@ -177,7 +177,7 @@ class RackHTTPService(TimerService):
223 root_prefix = get_root_path()
224 httpproxy_socket_path = os.getenv(
225 "MAAS_AGENT_HTTPPROXY_SOCKET_PATH",
226- str(get_maas_run_path() / "agent-httpproxy.sock"),
227+ str(get_maas_run_path() / "agent" / "httpproxy.sock"),
228 )
229 try:
230 rendered = template.substitute(

Subscribers

People subscribed via source and target branches