From 39792060a3ea7bb6da1c32a7060d120bce5ddb60 Mon Sep 17 00:00:00 2001 From: Dan Voiculeasa Date: Thu, 4 Aug 2022 19:08:30 +0300 Subject: [PATCH] Debian: Reorganize controller&worker config related packages This work: - is part of Debian integration effort. - affect Debian only - will allow puppet manifests to be applied on worker node at unlock/reboot time. This specific commit: - allows controllerconfig and workerconfig-standalone packages to coexist on the same iso by letting files be selected at runtime - lets workerconfig service be installed by systemd - drops the Makefile usage for workerconfig-standalone to simplify debian packaging. Future work will account for storageconfig package to coexist with controllerconfig and workerconfig. Tests on Debian: PASS: controllers unlocked on Standard PASS: workerconfig started puppet manifest apply on worker node PASS: controllers unlocked on AIO-DX PASS: controllerconfig is running on AIO-DX, controllerconfig is running on Standard, workerconfig is not running on controller node AIO-DX & Standard, workerconfig is running on worker node Depends-On: https://review.opendev.org/c/starlingx/metal/+/852170/ Story: 2010211 Task: 45951 Signed-off-by: Dan Voiculeasa Change-Id: I308c7a10767c09c4781fd435d8192b250a8dba7b --- controllerconfig/debian/deb_folder/rules | 2 +- workerconfig/debian/deb_folder/rules | 11 ++++++---- .../deb_folder/workerconfig-standalone.dirs | 1 - .../workerconfig-standalone.install | 3 +-- ...rkerconfig-standalone.workerconfig.service | 22 +++++++++++++++++++ 5 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 workerconfig/debian/deb_folder/workerconfig-standalone.workerconfig.service diff --git a/controllerconfig/debian/deb_folder/rules b/controllerconfig/debian/deb_folder/rules index 4adfa7f48a..364ac1bb70 100755 --- a/controllerconfig/debian/deb_folder/rules +++ b/controllerconfig/debian/deb_folder/rules @@ -16,7 +16,7 @@ override_dh_install: install -p -D -m 700 scripts/upgrade_swact_migration.py $(ROOT)/usr/bin/upgrade_swact_migration.py install -p -D -m 755 scripts/image-backup.sh $(ROOT)/usr/bin/image-backup.sh install -d -m 755 $(ROOT)/etc/goenabled.d/ - install -p -D -m 700 scripts/config_goenabled_check.sh $(ROOT)/etc/goenabled.d/config_goenabled_check.sh + install -p -D -m 700 scripts/config_goenabled_check.sh $(ROOT)/etc/goenabled.d/config_goenabled_check.sh.controller install -d -m 755 $(ROOT)/etc/init.d install -p -D -m 755 scripts/controller_config $(ROOT)/etc/init.d/controller_config install -d -m 755 $(ROOT)/etc/upgrade.d diff --git a/workerconfig/debian/deb_folder/rules b/workerconfig/debian/deb_folder/rules index 7047d2fadf..8361837413 100755 --- a/workerconfig/debian/deb_folder/rules +++ b/workerconfig/debian/deb_folder/rules @@ -1,6 +1,8 @@ #!/usr/bin/make -f #export DH_VERBOSE = 1 +ROOT := $(CURDIR)/debian/tmp + %: dh $@ @@ -8,9 +10,10 @@ override_dh_auto_build: : # No build required override_dh_auto_install: - $(MAKE) INITDDIR=`pwd`/debian/tmp/etc/init.d \ - GOENABLEDDIR=`pwd`/debian/tmp/etc/goenabled.d \ - SYSTEMDDIR=`pwd`/debian/tmp/lib/systemd install + install -d -m 755 ${ROOT}/etc/init.d + install -p -D -m 700 worker_config ${ROOT}/etc/init.d/worker_config + install -d -m 755 $(ROOT)/etc/goenabled.d/ + install -p -D -m 700 config_goenabled_check.sh $(ROOT)/etc/goenabled.d/config_goenabled_check.sh.worker override_dh_installsystemd: - dh_installsystemd -pworkerconfig-standalone + dh_installsystemd -pworkerconfig-standalone --name=workerconfig --no-start workerconfig.service diff --git a/workerconfig/debian/deb_folder/workerconfig-standalone.dirs b/workerconfig/debian/deb_folder/workerconfig-standalone.dirs index 1ef23fd167..c31836c743 100644 --- a/workerconfig/debian/deb_folder/workerconfig-standalone.dirs +++ b/workerconfig/debian/deb_folder/workerconfig-standalone.dirs @@ -1,3 +1,2 @@ etc/init.d etc/goenabled.d -lib/systemd/system/config diff --git a/workerconfig/debian/deb_folder/workerconfig-standalone.install b/workerconfig/debian/deb_folder/workerconfig-standalone.install index 20045bdbad..d1875263c8 100644 --- a/workerconfig/debian/deb_folder/workerconfig-standalone.install +++ b/workerconfig/debian/deb_folder/workerconfig-standalone.install @@ -1,3 +1,2 @@ etc/init.d/worker_config -etc/goenabled.d/config_goenabled_check.sh -lib/systemd/config/workerconfig-standalone.service lib/systemd/system/workerconfig.service +etc/goenabled.d/* diff --git a/workerconfig/debian/deb_folder/workerconfig-standalone.workerconfig.service b/workerconfig/debian/deb_folder/workerconfig-standalone.workerconfig.service new file mode 100644 index 0000000000..97e6a1af38 --- /dev/null +++ b/workerconfig/debian/deb_folder/workerconfig-standalone.workerconfig.service @@ -0,0 +1,22 @@ +[Unit] +Description=workerconfig service +After=syslog.target network.service remote-fs.target +After=sw-patch.service +After=affine-platform.sh.service +After=opt-platform.service +After=sysinv-agent.service +After=network-online.target +Before=config.service worker-config-gate.service +Before=goenabled.service + +[Service] +Type=simple +ExecStart=/etc/init.d/worker_config start +ExecStop= +ExecReload= +StandardOutput=syslog+console +StandardError=syslog+console +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target