I'm working on a nova live-migration hook which configures and starts the nova-serialproxy service, runs a subset of tempest tests, and tears down the previously started service. https://review.openstack.org/#/c/347471/47 After the change to "systemd", I thought all I have to do was to start the service with: systemctl enable devstack at n-sproxy systemctl restart devstack at n-sproxy But this results in the error "Failed to execute operation: No such file or directory". The reason is, that there is no systemd "user unit file". This file gets written in Devstack at: https://github.com/openstack-dev/devstack/blob/37a6b0b2d7d9615b9e89bbc8e8848cffc3bddd6d/functions-common#L1512-L1529 For that to happen, a service must be in the list "ENABLED_SERVICES": https://github.com/openstack-dev/devstack/blob/37a6b0b2d7d9615b9e89bbc8e8848cffc3bddd6d/functions-common#L1572-L1574 Which is *not* the case for the "n-sproxy" service: https://github.com/openstack-dev/devstack/blob/8b8441f3becbae2e704932569bff384dcc5c6713/stackrc#L55-L56 I'm not sure how to approach this problem. I could: 1) add "n-sproxy" to the default ENABLED_SERVICES list for Nova in Devstack 2) always write the systemd user unit file in Devstack (despite being an enabled service) 3) Write the "user unit file" on the fly in the hook (in Nova). 4) ? Right now I tend to option 2, as I think it brings more flexibility (for other services too) with less change in the set of default enabled services in the gate. Is this the right direction? Any other thoughts? -- Regards, Markus Zoeller (markus_z)