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
diff --git a/debian/maas-agent.dirs b/debian/maas-agent.dirs
index deaaafe..c49d29d 100644
--- a/debian/maas-agent.dirs
+++ b/debian/maas-agent.dirs
@@ -1 +1,2 @@
1run/maas/agent
1var/cache/maas2var/cache/maas
diff --git a/debian/maas-agent.postinst b/debian/maas-agent.postinst
index a32648d..a57b8a6 100755
--- a/debian/maas-agent.postinst
+++ b/debian/maas-agent.postinst
@@ -2,16 +2,19 @@
2set -e2set -e
33
4cachedir=/var/cache/maas4cachedir=/var/cache/maas
5agent_rundir=/run/maas/agent
56
6ensure_cache_dir() {7ensure_dir() {
7 if [ ! -d $cachedir ]; then8 target_dir="$1"
8 install -d -o maas -g maas -m 0755 $cachedir9 if [ ! -d "$target_dir" ]; then
10 install -d -o maas -g maas -m 0755 "$target_dir"
9 fi11 fi
10 chown maas:maas $cachedir12 chown maas:maas "$target_dir"
11}13}
1214
13if [ "$1" = "configure" ]; then15if [ "$1" = "configure" ]; then
14 ensure_cache_dir16 ensure_dir $cachedir
17 ensure_dir $agent_rundir
15fi18fi
1619
17#DEBHELPER#20#DEBHELPER#
diff --git a/debian/maas-common.dirs b/debian/maas-common.dirs
index 9249b9e..90daa6c 100644
--- a/debian/maas-common.dirs
+++ b/debian/maas-common.dirs
@@ -1,3 +1,4 @@
1run/maas
1var/lib/maas2var/lib/maas
2var/lib/maas/http3var/lib/maas/http
3var/lib/maas/prometheus4var/lib/maas/prometheus
diff --git a/debian/maas-dhcp.maas-dhcpd.service b/debian/maas-dhcp.maas-dhcpd.service
index 6df8b20..f3cd864 100644
--- a/debian/maas-dhcp.maas-dhcpd.service
+++ b/debian/maas-dhcp.maas-dhcpd.service
@@ -5,13 +5,13 @@ Wants=network-online.target
5After=network-online.target5After=network-online.target
6After=time-sync.target6After=time-sync.target
7BindsTo=maas-rackd.service7BindsTo=maas-rackd.service
8ConditionPathExists=/run/maas/dhcp
8ConditionPathExists=/var/lib/maas/dhcpd.conf9ConditionPathExists=/var/lib/maas/dhcpd.conf
9ConditionPathExists=/var/lib/maas/dhcpd-interfaces10ConditionPathExists=/var/lib/maas/dhcpd-interfaces
1011
11[Service]12[Service]
12# Allow dhcp server to write lease and pid file as 'dhcpd' user13# Allow dhcp server to write lease and pid file as 'dhcpd' user
13# The leases files need to be root:dhcpd even when dropping privileges14# The leases files need to be root:dhcpd even when dropping privileges
14ExecStartPre=/bin/mkdir -p /run/maas/dhcp /var/lib/maas/dhcp
15ExecStart=/bin/sh -ec '\15ExecStart=/bin/sh -ec '\
16 INTERFACES=$(cat /var/lib/maas/dhcpd-interfaces); \16 INTERFACES=$(cat /var/lib/maas/dhcpd-interfaces); \
17 LEASES_FILE=/var/lib/maas/dhcp/dhcpd.leases; \17 LEASES_FILE=/var/lib/maas/dhcp/dhcpd.leases; \
diff --git a/debian/maas-dhcp.maas-dhcpd6.service b/debian/maas-dhcp.maas-dhcpd6.service
index 99b1b28..9fc55df 100644
--- a/debian/maas-dhcp.maas-dhcpd6.service
+++ b/debian/maas-dhcp.maas-dhcpd6.service
@@ -5,13 +5,13 @@ Wants=network-online.target
5After=network-online.target5After=network-online.target
6After=time-sync.target6After=time-sync.target
7BindsTo=maas-rackd.service7BindsTo=maas-rackd.service
8ConditionPathExists=/run/maas/dhcpd
8ConditionPathExists=/var/lib/maas/dhcpd6.conf9ConditionPathExists=/var/lib/maas/dhcpd6.conf
9ConditionPathExists=/var/lib/maas/dhcpd6-interfaces10ConditionPathExists=/var/lib/maas/dhcpd6-interfaces
1011
11[Service]12[Service]
12# Allow dhcp server to write lease and pid file as 'dhcpd' user13# Allow dhcp server to write lease and pid file as 'dhcpd' user
13# The leases files need to be root:dhcpd even when dropping privileges14# The leases files need to be root:dhcpd even when dropping privileges
14ExecStartPre=/bin/mkdir -p /run/maas/dhcp /var/lib/maas/dhcp
15ExecStart=/bin/sh -ec '\15ExecStart=/bin/sh -ec '\
16 INTERFACES=$(cat /var/lib/maas/dhcpd6-interfaces); \16 INTERFACES=$(cat /var/lib/maas/dhcpd6-interfaces); \
17 LEASES_FILE=/var/lib/maas/dhcp/dhcpd6.leases; \17 LEASES_FILE=/var/lib/maas/dhcp/dhcpd6.leases; \
diff --git a/debian/maas-dhcp.postinst b/debian/maas-dhcp.postinst
18old mode 10064418old mode 100644
19new mode 10075519new mode 100755
index 273a765..c1aaf89
--- a/debian/maas-dhcp.postinst
+++ b/debian/maas-dhcp.postinst
@@ -7,9 +7,9 @@ then
7 # Stop the dhcpd instance that came with the isc-dhcp-server package.7 # Stop the dhcpd instance that came with the isc-dhcp-server package.
8 # We run our own dhcpd instances.8 # We run our own dhcpd instances.
9 deb-systemd-invoke stop 'isc-dhcp-server.service' >/dev/null || true9 deb-systemd-invoke stop 'isc-dhcp-server.service' >/dev/null || true
10 deb-systemd-helper disble 'isc-dhcp-server.service'>/dev/null || true10 deb-systemd-helper disable 'isc-dhcp-server.service'>/dev/null || true
11 deb-systemd-invoke stop 'isc-dhcp-server6.service' >/dev/null || true11 deb-systemd-invoke stop 'isc-dhcp-server6.service' >/dev/null || true
12 deb-systemd-helper disble 'isc-dhcp-server6.service' >/dev/null || true12 deb-systemd-helper disable 'isc-dhcp-server6.service' >/dev/null || true
1313
14 dhcpd_prof="/etc/apparmor.d/usr.sbin.dhcpd"14 dhcpd_prof="/etc/apparmor.d/usr.sbin.dhcpd"
15 if [ -f "${dhcpd_prof}" ] && command -v apparmor_parser >/dev/null 2>&115 if [ -f "${dhcpd_prof}" ] && command -v apparmor_parser >/dev/null 2>&1
@@ -17,19 +17,9 @@ then
17 apparmor_parser --replace --write-cache --skip-read-cache "${dhcpd_prof}" || true17 apparmor_parser --replace --write-cache --skip-read-cache "${dhcpd_prof}" || true
18 fi18 fi
1919
20 # Starting from 1.9, these config files are no longer stored in
21 # /etc/maas, but are stored in /var/lib/maas. Note that these
22 # are created automatically by MAAS. On upgrades, however, these
23 # need to be moved to not break DHCP.
24 if [ -f /etc/maas/dhcpd.conf ]; then
25 mv /etc/maas/dhcpd.conf /var/lib/maas/
26 fi
27 if [ -f /etc/maas/dhcpd6.conf ]; then
28 mv /etc/maas/dhcpd6.conf /var/lib/maas/
29 fi
30
31 # Ensure ownership is correct20 # Ensure ownership is correct
32 chown root:dhcpd /var/lib/maas/dhcp21 install -d -o root -g dhcpd /var/lib/maas/dhcp
22 install -d -o root -g root /run/maas/dhcp
33fi23fi
3424
35#DEBHELPER#25#DEBHELPER#
diff --git a/debian/maas-proxy.maas-proxy.service b/debian/maas-proxy.maas-proxy.service
index a157363..f7bbb17 100644
--- a/debian/maas-proxy.maas-proxy.service
+++ b/debian/maas-proxy.maas-proxy.service
@@ -8,7 +8,7 @@ ConditionPathExists=/var/lib/maas/maas-proxy.conf
8Type=forking8Type=forking
9PIDFile=/run/squid.pid9PIDFile=/run/squid.pid
10Restart=always10Restart=always
11ExecStartPre=/bin/mkdir -p /run/maas/proxy11ExecStartPre=/bin/mkdir /run/maas/proxy
12ExecStartPre=/bin/sh -ec '\12ExecStartPre=/bin/sh -ec '\
13 . /usr/share/maas/maas-proxy-common.sh; \13 . /usr/share/maas/maas-proxy-common.sh; \
14 pre_start'14 pre_start'
diff --git a/debian/maas-proxy.postinst b/debian/maas-proxy.postinst
15old mode 10064415old mode 100644
16new mode 10075516new mode 100755
index f5dc0ba..558fe85
--- a/debian/maas-proxy.postinst
+++ b/debian/maas-proxy.postinst
@@ -11,15 +11,7 @@ then
11 systemctl disable squid >/dev/null 2>&1 || true11 systemctl disable squid >/dev/null 2>&1 || true
1212
13 # Ensure log folder is created.13 # Ensure log folder is created.
14 mkdir -p /var/log/maas/proxy14 install -d -o proxy -g proxy /var/log/maas/proxy
15 chown -R proxy:proxy /var/log/maas/proxy
16
17 # maas-proxy.conf is now generated by MAAS itself and if we are
18 # upgrading from an earlier version that used to ship maas-proxy.conf
19 # in /etc/maas, it is safe to remove
20 if [ -f /etc/maas/maas-proxy.conf ]; then
21 rm /etc/maas/maas-proxy.conf
22 fi
2315
24fi16fi
2517
diff --git a/debian/maas-region-api.install b/debian/maas-region-api.install
index 2bdc881..11e49c0 100644
--- a/debian/maas-region-api.install
+++ b/debian/maas-region-api.install
@@ -5,7 +5,7 @@ debian/tmp/usr/share/maas/web/static
5package-files/usr/share/maas/maas-http.conf usr/share/maas/5package-files/usr/share/maas/maas-http.conf usr/share/maas/
66
7# Install new preseed files7# Install new preseed files
8package-files/etc/maas/preseeds /etc/maas8package-files/etc/maas/preseeds etc/maas
99
10# Install driver configuration file10# Install driver configuration file
11package-files/etc/maas/drivers.yaml etc/maas11package-files/etc/maas/drivers.yaml etc/maas
@@ -18,4 +18,4 @@ debian/extras/maas_remote_syslog_compress etc/cron.d
1818
19# Install API application19# Install API application
20debian/tmp/usr/lib/python3*/dist-packages/maasapiserver20debian/tmp/usr/lib/python3*/dist-packages/maasapiserver
21usr/bin/maas-apiserver /usr/sbin21usr/bin/maas-apiserver usr/sbin
diff --git a/src/maasagent/cmd/maas-agent/main.go b/src/maasagent/cmd/maas-agent/main.go
index 346df5b..f362b5e 100644
--- a/src/maasagent/cmd/maas-agent/main.go
+++ b/src/maasagent/cmd/maas-agent/main.go
@@ -232,7 +232,7 @@ func getSocketDir() string {
232 return fmt.Sprintf("/run/snap.%s", name)232 return fmt.Sprintf("/run/snap.%s", name)
233 }233 }
234234
235 return "/run/maas"235 return "/run/maas/agent"
236}236}
237237
238func main() {238func main() {
diff --git a/src/maasagent/cmd/maas-agent/main_test.go b/src/maasagent/cmd/maas-agent/main_test.go
index 039972b..ded0256 100644
--- a/src/maasagent/cmd/maas-agent/main_test.go
+++ b/src/maasagent/cmd/maas-agent/main_test.go
@@ -20,7 +20,7 @@ func TestGetSocketDir(t *testing.T) {
20 "deb": {20 "deb": {
21 in: func(t *testing.T) {21 in: func(t *testing.T) {
22 t.Setenv("SNAP_INSTANCE_NAME", "")22 t.Setenv("SNAP_INSTANCE_NAME", "")
23 }, out: "/run/maas",23 }, out: "/run/maas/agent",
24 },24 },
25 }25 }
2626
diff --git a/src/maasagent/internal/httpproxy/service.go b/src/maasagent/internal/httpproxy/service.go
index b89efb5..c9bb1eb 100644
--- a/src/maasagent/internal/httpproxy/service.go
+++ b/src/maasagent/internal/httpproxy/service.go
@@ -16,7 +16,7 @@ import (
1616
17const (17const (
18 httpProxyServiceWorkerPoolGroup = "httpproxy-service"18 httpProxyServiceWorkerPoolGroup = "httpproxy-service"
19 socketFileName = "agent-httpproxy.sock"19 socketFileName = "httpproxy.sock"
20)20)
2121
22var (22var (
diff --git a/src/provisioningserver/rackdservices/http.py b/src/provisioningserver/rackdservices/http.py
index 6911921..39d5b28 100644
--- a/src/provisioningserver/rackdservices/http.py
+++ b/src/provisioningserver/rackdservices/http.py
@@ -177,7 +177,7 @@ class RackHTTPService(TimerService):
177 root_prefix = get_root_path()177 root_prefix = get_root_path()
178 httpproxy_socket_path = os.getenv(178 httpproxy_socket_path = os.getenv(
179 "MAAS_AGENT_HTTPPROXY_SOCKET_PATH",179 "MAAS_AGENT_HTTPPROXY_SOCKET_PATH",
180 str(get_maas_run_path() / "agent-httpproxy.sock"),180 str(get_maas_run_path() / "agent" / "httpproxy.sock"),
181 )181 )
182 try:182 try:
183 rendered = template.substitute(183 rendered = template.substitute(

Subscribers

People subscribed via source and target branches