Fix service enablement during init
Some services were disabled in the install hook and then started during the init phase without being enabled. Thus, after a machine restart they were not brought back up by systemd. Change-Id: I27f7d7fa6b8df104567b91b5bc998ebe98b478a2
This commit is contained in:
parent
6087f4cb3b
commit
a2cc37e278
@ -24,12 +24,15 @@ snapctl stop --disable $SNAP_INSTANCE_NAME.nova-api-metadata
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.nova-spicehtml5proxy
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.nova-scheduler
|
||||
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.horizon-uwsgi
|
||||
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.neutron-api
|
||||
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.glance-api
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.registry
|
||||
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.cinder-uwsgi
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.cinder-scheduler
|
||||
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.ovsdb-server
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.neutron-ovn-metadata-agent
|
||||
@ -39,6 +42,9 @@ snapctl stop --disable $SNAP_INSTANCE_NAME.ovs-vswitchd
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.ovn-northd
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.ovn-controller
|
||||
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.rabbitmq-server
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.mysqld
|
||||
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.iscsid
|
||||
snapctl stop --disable $SNAP_INSTANCE_NAME.target
|
||||
|
||||
|
@ -29,7 +29,7 @@ from os import path
|
||||
|
||||
from init import shell
|
||||
from init.shell import (check, call, check_output, sql, nc_wait, log_wait,
|
||||
start, restart, download, disable, enable)
|
||||
restart, download, disable, enable)
|
||||
from init.config import Env, log
|
||||
from init import cluster_tls
|
||||
from init.questions.question import Question
|
||||
@ -327,7 +327,7 @@ class RabbitMq(Question):
|
||||
config_key = 'config.services.control-plane'
|
||||
|
||||
def _wait(self) -> None:
|
||||
restart('rabbitmq-server') # Restart server for plugs
|
||||
enable('rabbitmq-server')
|
||||
rabbit_port = check_output(
|
||||
'snapctl', 'get', 'config.network.ports.rabbit')
|
||||
nc_wait(_env['control_ip'], rabbit_port)
|
||||
@ -362,6 +362,7 @@ class DatabaseSetup(Question):
|
||||
config_key = 'config.services.control-plane'
|
||||
|
||||
def _wait(self) -> None:
|
||||
enable('mysqld')
|
||||
mysql_port = check_output(
|
||||
'snapctl', 'get', 'config.network.ports.mysql')
|
||||
nc_wait(_env['control_ip'], mysql_port)
|
||||
@ -416,10 +417,7 @@ class DatabaseSetup(Question):
|
||||
|
||||
check('snapctl', 'set', 'database.ready=true')
|
||||
|
||||
# Start keystone-uwsgi. We use snapctl, because systemd
|
||||
# doesn't yet know about the service.
|
||||
start('nginx')
|
||||
start('keystone-uwsgi')
|
||||
enable('nginx')
|
||||
|
||||
log.info('Configuring Keystone Fernet Keys ...')
|
||||
check('snap-openstack', 'launch', 'keystone-manage',
|
||||
@ -427,7 +425,7 @@ class DatabaseSetup(Question):
|
||||
'--keystone-group', 'root')
|
||||
check('snap-openstack', 'launch', 'keystone-manage', 'db_sync')
|
||||
|
||||
restart('keystone-uwsgi')
|
||||
enable('keystone-uwsgi')
|
||||
|
||||
log.info('Bootstrapping Keystone ...')
|
||||
self._bootstrap()
|
||||
@ -456,10 +454,14 @@ class NovaHypervisor(Question):
|
||||
|
||||
def yes(self, answer):
|
||||
log.info('Configuring nova compute hypervisor ...')
|
||||
start('nova-compute')
|
||||
enable('libvirtd')
|
||||
enable('virtlogd')
|
||||
enable('nova-compute')
|
||||
|
||||
def no(self, answer):
|
||||
log.info('Disabling nova compute service ...')
|
||||
disable('libvirtd')
|
||||
disable('virtlogd')
|
||||
disable('nova-compute')
|
||||
|
||||
|
||||
@ -471,7 +473,7 @@ class NovaSpiceConsoleSetup(Question):
|
||||
|
||||
def yes(self, answer):
|
||||
log.info('Configuring the Spice HTML5 console service...')
|
||||
start('nova-spicehtml5proxy')
|
||||
enable('nova-spicehtml5proxy')
|
||||
|
||||
def no(self, answer):
|
||||
log.info('Disabling nova compute service ...')
|
||||
@ -507,12 +509,9 @@ class PlacementSetup(Question):
|
||||
'microstack', 'placement', endpoint,
|
||||
'http://{control_ip}:8778'.format(**_env))
|
||||
|
||||
start('placement-uwsgi')
|
||||
|
||||
log.info('Running Placement DB migrations...')
|
||||
check('snap-openstack', 'launch', 'placement-manage', 'db', 'sync')
|
||||
|
||||
restart('placement-uwsgi')
|
||||
enable('placement-uwsgi')
|
||||
|
||||
def no(self, answer):
|
||||
log.info('Disabling the Placement service...')
|
||||
@ -562,12 +561,6 @@ class NovaControlPlane(Question):
|
||||
check('openstack', 'role', 'add', '--project',
|
||||
'service', '--user', 'nova', 'reader')
|
||||
|
||||
# Use snapctl to start nova services. We need to call them
|
||||
# out manually, because systemd doesn't know about them yet.
|
||||
# TODO: parse the output of `snapctl services` to get this
|
||||
# list automagically.
|
||||
start('nova-api')
|
||||
|
||||
log.info('Running Nova API DB migrations'
|
||||
' (this may take a lot of time)...')
|
||||
check('snap-openstack', 'launch', 'nova-manage', 'api_db', 'sync')
|
||||
@ -588,7 +581,7 @@ class NovaControlPlane(Question):
|
||||
' (this may take a lot of time)...')
|
||||
check('snap-openstack', 'launch', 'nova-manage', 'db', 'sync')
|
||||
|
||||
restart('nova-api')
|
||||
enable('nova-api')
|
||||
restart('nova-compute')
|
||||
|
||||
for service in [
|
||||
@ -596,7 +589,7 @@ class NovaControlPlane(Question):
|
||||
'nova-conductor',
|
||||
'nova-scheduler',
|
||||
]:
|
||||
start(service)
|
||||
enable(service)
|
||||
|
||||
nc_wait(_env['compute_ip'], '8774')
|
||||
|
||||
@ -663,13 +656,11 @@ class CinderSetup(Question):
|
||||
f'http://{control_ip}:8776/{api_version}/'
|
||||
'$(project_id)s'
|
||||
)
|
||||
restart('cinder-uwsgi')
|
||||
|
||||
log.info('Running Cinder DB migrations...')
|
||||
check('snap-openstack', 'launch', 'cinder-manage', 'db', 'sync')
|
||||
|
||||
restart('cinder-uwsgi')
|
||||
restart('cinder-scheduler')
|
||||
enable('cinder-uwsgi')
|
||||
enable('cinder-scheduler')
|
||||
|
||||
def no(self, answer):
|
||||
log.info('Disabling Cinder services...')
|
||||
@ -736,16 +727,10 @@ class NeutronControlPlane(Question):
|
||||
'microstack', 'network', endpoint,
|
||||
'http://{control_ip}:9696'.format(**_env))
|
||||
|
||||
start('neutron-api')
|
||||
|
||||
check('snap-openstack', 'launch', 'neutron-db-manage', 'upgrade',
|
||||
'head')
|
||||
|
||||
for service in [
|
||||
'neutron-api',
|
||||
'neutron-ovn-metadata-agent',
|
||||
]:
|
||||
restart(service)
|
||||
enable('neutron-api')
|
||||
enable('neutron-ovn-metadata-agent')
|
||||
|
||||
nc_wait(_env['control_ip'], '9696')
|
||||
|
||||
@ -852,16 +837,14 @@ class GlanceSetup(Question):
|
||||
'microstack', 'image', endpoint,
|
||||
'http://{compute_ip}:9292'.format(**_env))
|
||||
|
||||
check('snap-openstack', 'launch', 'glance-manage', 'db_sync')
|
||||
# TODO: remove the glance registry
|
||||
# https://blueprints.launchpad.net/glance/+spec/deprecate-registry
|
||||
for service in [
|
||||
'glance-api',
|
||||
'registry', # TODO rename to glance-registery
|
||||
'registry',
|
||||
]:
|
||||
start(service)
|
||||
|
||||
check('snap-openstack', 'launch', 'glance-manage', 'db_sync')
|
||||
|
||||
restart('glance-api')
|
||||
restart('registry')
|
||||
enable(service)
|
||||
|
||||
nc_wait(_env['compute_ip'], '9292')
|
||||
|
||||
@ -925,7 +908,7 @@ class PostSetup(Question):
|
||||
# database readiness and hence the clustering service is enabled
|
||||
# and started here. There needs to be a better way to do this.
|
||||
enable('cluster-uwsgi')
|
||||
restart('horizon-uwsgi')
|
||||
enable('horizon-uwsgi')
|
||||
|
||||
check('snapctl', 'set', 'initialized=true')
|
||||
log.info('Complete. Marked microstack as initialized!')
|
||||
|
Loading…
Reference in New Issue
Block a user