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@n-sproxy
   systemctl restart devstack@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)


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to