Complete the uprev and the transition to systemd. The configuration is cleaned up to match the setup documentation found in the openstack installation guide. Once a build is completed with these changes the controller image is able to have images added via:
%> . /etc/keystone/admin-openrc %> openstack image create "cirros" \ --file cirros-0.3.5-x86_64-disk.img \ --disk-format qcow2 --container-format bare \ --public Images can be listed with 'openstack image list' or 'glance image-list' or via the horizon web interface. Requires introduction of python-glance-store... Signed-off-by: Mark Asselstine <[email protected]> --- .../python/python-glance/glance-api.service | 20 ++ .../python/python-glance/glance-init | 42 ++++ .../python/python-glance/glance-init.service | 12 + .../python/python-glance/glance-registry.service | 20 ++ .../recipes-devtools/python/python-glance_git.bb | 261 +++++++++++---------- 5 files changed, 225 insertions(+), 130 deletions(-) create mode 100644 meta-openstack/recipes-devtools/python/python-glance/glance-api.service create mode 100644 meta-openstack/recipes-devtools/python/python-glance/glance-init create mode 100644 meta-openstack/recipes-devtools/python/python-glance/glance-init.service create mode 100644 meta-openstack/recipes-devtools/python/python-glance/glance-registry.service diff --git a/meta-openstack/recipes-devtools/python/python-glance/glance-api.service b/meta-openstack/recipes-devtools/python/python-glance/glance-api.service new file mode 100644 index 0000000..6777496 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-glance/glance-api.service @@ -0,0 +1,20 @@ +[Unit] +Description=OpenStack Image Service API +After=postgresql.service keystone.service ntp.service rabbitmq-server.service + +[Service] +User=%USER% +Group=%GROUP% +Type=simple +WorkingDirectory=%LOCALSTATEDIR%/lib/glance +PermissionsStartOnly=true +ExecStartPre=/bin/mkdir -p %LOCALSTATEDIR%/lock/glance %LOCALSTATEDIR%/log/glance %LOCALSTATEDIR%/lib/glance +ExecStartPre=/bin/chown %USER%:%GROUP% %LOCALSTATEDIR%/lock/glance %LOCALSTATEDIR%/lib/glance +ExecStartPre=/bin/chown %USER%:adm %LOCALSTATEDIR%/log/glance +ExecStart=/usr/bin/glance-api --config-file=%SYSCONFDIR%/glance/glance-api.conf --log-file=%LOCALSTATEDIR%/log/glance/glance-api.log +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +WantedBy=multi-user.target diff --git a/meta-openstack/recipes-devtools/python/python-glance/glance-init b/meta-openstack/recipes-devtools/python/python-glance/glance-init new file mode 100644 index 0000000..8551399 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-glance/glance-init @@ -0,0 +1,42 @@ +#!/bin/bash +# +# Basic glance setup based on: +# https://docs.openstack.org/glance/pike/install/install-debian.html +# +# Prerequisites: keystone must be available and bootstrapped +# + +# Substitutions setup at do_intall() +DB_USER=%DB_USER% +GLANCE_USER=%GLANCE_USER% +GLANCE_GROUP=%GLANCE_GROUP% +CONTROLLER_IP=%CONTROLLER_IP% +ADMIN_USER=%ADMIN_USER% +ADMIN_PASSWORD=%ADMIN_PASSWORD% +ADMIN_ROLE=%ADMIN_ROLE% +SYSCONFDIR=%SYSCONFDIR% + +# Create the glance DB and grant the necessary permissions +sudo -u postgres psql -c "CREATE DATABASE glance" 2> /dev/null +sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE glance TO ${DB_USER}" 2> /dev/null + +source ${SYSCONFDIR}/keystone/admin-openrc + +openstack user create --domain default --password ${ADMIN_PASSWORD} ${GLANCE_USER} + +# Ensure the 'service' project exists +openstack project show service > /dev/null 2>&1 +if [ $? -ne 0 ]; then + openstack project create service --domain default +fi +openstack role add --project service --user ${GLANCE_USER} ${ADMIN_ROLE} + +openstack service create --name glance --description "OpenStack Image" image +openstack endpoint create --region RegionOne image public http://${CONTROLLER_IP}:9292 +openstack endpoint create --region RegionOne image internal http://${CONTROLLER_IP}:9292 +openstack endpoint create --region RegionOne image admin http://${CONTROLLER_IP}:9292 + +sudo -u ${GLANCE_USER} glance-manage db_sync + +systemctl restart glance-registry +systemctl restart glance-api diff --git a/meta-openstack/recipes-devtools/python/python-glance/glance-init.service b/meta-openstack/recipes-devtools/python/python-glance/glance-init.service new file mode 100644 index 0000000..34941b9 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-glance/glance-init.service @@ -0,0 +1,12 @@ +[Unit] +Description=Barebones OpenStack glance initialization +After=postgresql-init.service keystone-init.service + +[Service] +Type=oneshot +ExecStart=%SYSCONFDIR%/glance/glance-init +ExecStartPost=/bin/systemctl --no-reload disable glance-init.service +RemainAfterExit=No + +[Install] +WantedBy=multi-user.target diff --git a/meta-openstack/recipes-devtools/python/python-glance/glance-registry.service b/meta-openstack/recipes-devtools/python/python-glance/glance-registry.service new file mode 100644 index 0000000..a72e6ea --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-glance/glance-registry.service @@ -0,0 +1,20 @@ +[Unit] +Description=OpenStack Image Service Registry +After=postgresql.service keystone.service ntp.service rabbitmq-server.service + +[Service] +User=%USER% +Group=%GROUP% +Type=simple +WorkingDirectory=%LOCALSTATEDIR%/lib/glance +PermissionsStartOnly=true +ExecStartPre=/bin/mkdir -p %LOCALSTATEDIR%/lock/glance %LOCALSTATEDIR%/log/glance %LOCALSTATEDIR%/lib/glance +ExecStartPre=/bin/chown %USER%:%GROUP% %LOCALSTATEDIR%/lock/glance %LOCALSTATEDIR%/lib/glance +ExecStartPre=/bin/chown %USER%:adm %LOCALSTATEDIR%/log/glance +ExecStart=/usr/bin/glance-registry --config-file=%SYSCONFDIR%/glance/glance-registry.conf --log-file=%LOCALSTATEDIR%/log/glance/glance-registry.log +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +WantedBy=multi-user.target diff --git a/meta-openstack/recipes-devtools/python/python-glance_git.bb b/meta-openstack/recipes-devtools/python/python-glance_git.bb index 4c408c9..6a6cded 100644 --- a/meta-openstack/recipes-devtools/python/python-glance_git.bb +++ b/meta-openstack/recipes-devtools/python/python-glance_git.bb @@ -6,19 +6,27 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" SRCNAME = "glance" -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=master \ +SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/pike \ file://glance.init \ + file://glance-api.service \ + file://glance-registry.service \ + file://glance-init.service \ + file://glance-init \ " -# removed. juno uses store library: file://0001-glance-store-only-load-known-stores-not-all-stores.patch -# file://glance-change-builtin-tests-config-location.patch - -SRCREV = "69516fad5f651a085a047a337a05c58b39023c1b" -PV = "11.0.0+git${SRCPV}" +SRCREV = "06af2eb5abe0332f7035a7d7c2fbfd19fbc4dae7" +PV = "15.0.0+git${SRCPV}" S = "${WORKDIR}/git" -inherit setuptools update-rc.d identity default_configs hosts monitor +inherit setuptools identity default_configs hosts monitor useradd systemd + +USER = "glance" +GROUP = "glance" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system ${GROUP}" +USERADD_PARAM_${PN} = "--system -m -d ${localstatedir}/lib/glance -s /bin/false -g ${GROUP} ${USER}" GLANCE_DEFAULT_STORE ?= "file" GLANCE_KNOWN_STORES ?= "glance.store.rbd.Store,\ @@ -40,9 +48,9 @@ SERVICECREATE_PARAM_${SRCNAME}-setup = "name type description region publicurl a python () { flags = {'type':'image',\ 'description':'OpenStack Image Service',\ - 'publicurl':"'http://${KEYSTONE_HOST}:9292/v2'",\ - 'adminurl':"'http://${KEYSTONE_HOST}:9292/v2'",\ - 'internalurl':"'http://${KEYSTONE_HOST}:9292/v2'"} + 'publicurl':"'http://${KEYSTONE_HOST}:5000'",\ + 'adminurl':"'http://${KEYSTONE_HOST}:35357'",\ + 'internalurl':"'http://${KEYSTONE_HOST}:35357'"} d.setVarFlags("SERVICECREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags) } @@ -55,110 +63,105 @@ do_install_prepend() { } do_install_append() { - TEMPLATE_CONF_DIR=${S}${sysconfdir} + SRC_SYSCONFDIR=${S}${sysconfdir} GLANCE_CONF_DIR=${D}${sysconfdir}/glance - - for file in api registry cache - do - install -m 0600 ${TEMPLATE_CONF_DIR}/glance-$file.conf ${WORKDIR} - sed -e "s!^#connection =.*!connection = postgresql://%DB_USER%:%DB_PASSWORD%@localhost/glance!g" \ - -i ${WORKDIR}/glance-$file.conf - sed -i '/\[keystone_authtoken\]/aidentity_uri=http://127.0.0.1:8081/keystone/admin' ${WORKDIR}/glance-$file.conf - done - - sed -e "s:^filesystem_store_datadir =.*:filesystem_store_datadir = ${sysconfdir}/${SRCNAME}/images/:g" \ - -i ${WORKDIR}/glance-api.conf - # send samples to rabbitmq for ceilometer integration - sed -e "s:^# notification_driver = noop:notification_driver = rabbit:g" \ - -i ${WORKDIR}/glance-api.conf + install -o root -g ${GROUP} -m 750 -d ${GLANCE_CONF_DIR} - sed 's:^default_store =.*:default_store = ${GLANCE_DEFAULT_STORE}:g' -i ${WORKDIR}/glance-api.conf - sed 's:^swift_store_auth_address =.*:swift_store_auth_address = http\://127.0.0.1\:8081/keystone/main/:g' -i ${WORKDIR}/glance-api.conf - sed 's:^swift_store_user =.*:swift_store_user = %SERVICE_TENANT_NAME%\:${SRCNAME}:g' -i ${WORKDIR}/glance-api.conf - sed 's:^swift_store_key =.*:swift_store_key = %SERVICE_PASSWORD%:g' -i ${WORKDIR}/glance-api.conf - sed 's:^swift_store_create_container_on_put =.*:swift_store_create_container_on_put = True:g' -i ${WORKDIR}/glance-api.conf - - # multi line match, replace the known stores with the ones we support. - sed '1!N; s:#known_stores = glance.store.*\n.*#.*glance.store.http.*:known_stores = ${GLANCE_KNOWN_STORES}:g' -i ${WORKDIR}/glance-api.conf - - install -d ${GLANCE_CONF_DIR} - install -m 600 ${WORKDIR}/glance-registry.conf ${GLANCE_CONF_DIR}/ - install -m 600 ${WORKDIR}/glance-api.conf ${GLANCE_CONF_DIR}/ - install -m 600 ${WORKDIR}/glance-cache.conf ${GLANCE_CONF_DIR}/ - - install -m 600 ${S}/etc/glance-registry-paste.ini ${GLANCE_CONF_DIR}/ - install -m 600 ${S}/etc/glance-api-paste.ini ${GLANCE_CONF_DIR}/ - install -m 600 ${S}/etc/policy.json ${GLANCE_CONF_DIR}/ - install -m 600 ${S}/etc/schema-image.json ${GLANCE_CONF_DIR}/ - - install -d ${GLANCE_CONF_DIR}/images - install -d ${D}${localstatedir}/lib/glance/image_cache - - install -d ${D}${localstatedir}/log/${SRCNAME} + # Start with pristine copies from upstream + install -m 644 -o root -g ${GROUP} ${SRC_SYSCONFDIR}/glance-registry.conf ${GLANCE_CONF_DIR}/ + install -m 644 -o root -g ${GROUP} ${SRC_SYSCONFDIR}/glance-api.conf ${GLANCE_CONF_DIR}/ + install -m 644 -o root -g ${GROUP} ${SRC_SYSCONFDIR}/glance-cache.conf ${GLANCE_CONF_DIR}/ + install -m 644 -o root -g ${GROUP} ${SRC_SYSCONFDIR}/glance-registry-paste.ini ${GLANCE_CONF_DIR}/ + install -m 644 -o root -g ${GROUP} ${SRC_SYSCONFDIR}/glance-api-paste.ini ${GLANCE_CONF_DIR}/ + install -m 644 -o root -g ${GROUP} ${SRC_SYSCONFDIR}/policy.json ${GLANCE_CONF_DIR}/ + install -m 644 -o root -g ${GROUP} ${SRC_SYSCONFDIR}/schema-image.json ${GLANCE_CONF_DIR}/ for file in api registry cache do - sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \ - -i ${GLANCE_CONF_DIR}/glance-$file.conf - sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${GLANCE_CONF_DIR}/glance-$file.conf - sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \ - -i ${GLANCE_CONF_DIR}/glance-$file.conf - sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" \ - -i ${GLANCE_CONF_DIR}/glance-$file.conf - sed -e "s:%DB_USER%:${DB_USER}:g" \ + sed -e "/^#connection = .*/aconnection = postgresql+psycopg2://${DB_USER}:${DB_PASSWORD}@localhost/glance" \ + -i ${GLANCE_CONF_DIR}/glance-$file.conf + sed -e "/^#filesystem_store_datadir = .*/afilesystem_store_datadir = ${localstatedir}/lib/${SRCNAME}/images/" \ + -i ${GLANCE_CONF_DIR}/glance-$file.conf + sed -e "/^#service_token_roles_required = .*/aservice_token_roles_required = true" \ -i ${GLANCE_CONF_DIR}/glance-$file.conf done - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/init.d - sed 's:@suffix@:api:' < ${WORKDIR}/glance.init >${WORKDIR}/glance-api.init.sh - install -m 0755 ${WORKDIR}/glance-api.init.sh ${D}${sysconfdir}/init.d/glance-api - sed 's:@suffix@:registry:' < ${WORKDIR}/glance.init >${WORKDIR}/glance-registry.init.sh - install -m 0755 ${WORKDIR}/glance-registry.init.sh ${D}${sysconfdir}/init.d/glance-registry - fi + CONF_FILE=${GLANCE_CONF_DIR}/glance-api.conf + sed -e '/^#stores = .*/astores = ${GLANCE_KNOWN_STORES}' -i ${CONF_FILE} + sed -e '/^#default_store = .*/adefault_store = ${GLANCE_DEFAULT_STORE}' -i ${CONF_FILE} + #sed -e 's:^swift_store_auth_address =.*:swift_store_auth_address = http\://127.0.0.1\:8081/keystone/main/:g' -i ${CONF_FILE} + #sed -e 's:^swift_store_user =.*:swift_store_user = %SERVICE_TENANT_NAME%\:${SRCNAME}:g' -i ${CONF_FILE} + #sed -e 's:^swift_store_key =.*:swift_store_key = %SERVICE_PASSWORD%:g' -i ${CONF_FILE} + sed -e '/^#swift_store_create_container_on_put = .*/aswift_store_create_container_on_put = True' -i ${CONF_FILE} - cp run_tests.sh ${GLANCE_CONF_DIR} -} + # As documented in https://docs.openstack.org/glance/pike/install/install-debian.html + for file in api registry + do + CONF_FILE=${GLANCE_CONF_DIR}/glance-$file.conf + keystone_authtoken="#\n# Setup at install by python-glance_git.bb\n#" + keystone_authtoken="$keystone_authtoken\nauth_uri = http://${CONTROLLER_IP}:5000" + keystone_authtoken="$keystone_authtoken\nauth_url = http://${CONTROLLER_IP}:35357" + keystone_authtoken="$keystone_authtoken\nmemcached_servers = ${CONTROLLER_IP}:11211" + keystone_authtoken="$keystone_authtoken\nauth_type = password" + keystone_authtoken="$keystone_authtoken\nproject_domain_name = Default" + keystone_authtoken="$keystone_authtoken\nuser_domain_name = Default" + keystone_authtoken="$keystone_authtoken\nproject_name = service" + keystone_authtoken="$keystone_authtoken\nusername = ${USER}" + keystone_authtoken="$keystone_authtoken\npassword = ${ADMIN_PASSWORD}" + sed -e "/^\[keystone_authtoken\].*/a$keystone_authtoken" -i ${CONF_FILE} + sed -e "/^#flavor = .*/aflavor = keystone" -i ${CONF_FILE} + done + + # Install and setup systemd service files + install -d ${D}${systemd_system_unitdir}/ + for service in glance-api.service glance-registry.service glance-init.service + do + SERVICE_FILE=${D}${systemd_system_unitdir}/$service + install -m 644 ${WORKDIR}/$service ${D}${systemd_system_unitdir}/ + sed -e "s:%SYSCONFDIR%:${sysconfdir}:g" -i ${SERVICE_FILE} + sed -e "s:%LOCALSTATEDIR%:${localstatedir}:g" -i ${SERVICE_FILE} + sed -e "s:%USER%:${USER}:g" -i ${SERVICE_FILE} + sed -e "s:%GROUP%:${GROUP}:g" -i ${SERVICE_FILE} + done -pkg_postinst_${SRCNAME}-setup () { - if [ -z "$D" ]; then - # This is to make sure postgres is configured and running - if ! pidof postmaster > /dev/null; then - /etc/init.d/postgresql-init - /etc/init.d/postgresql start - sleep 5 - fi - - mkdir /var/log/glance - sudo -u postgres createdb glance - glance-manage db_sync - fi + # Setup the glance initialization script + INIT_FILE=${GLANCE_CONF_DIR}/glance-init + install -o root -g ${USER} -m 750 ${WORKDIR}/glance-init ${INIT_FILE} + sed -e "s:%DB_USER%:${DB_USER}:g" -i ${INIT_FILE} + sed -e "s:%GLANCE_USER%:${USER}:g" -i ${INIT_FILE} + sed -e "s:%GLANCE_GROUP%:${GROUP}:g" -i ${INIT_FILE} + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${INIT_FILE} + sed -e "s:%ADMIN_USER%:${ADMIN_USER}:g" -i ${INIT_FILE} + sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${INIT_FILE} + sed -e "s:%ADMIN_ROLE%:${ADMIN_ROLE}:g" -i ${INIT_FILE} + sed -e "s:%SYSCONFDIR%:${sysconfdir}:g" -i ${INIT_FILE} } -PACKAGES += " ${SRCNAME}-tests ${SRCNAME} ${SRCNAME}-setup ${SRCNAME}-api ${SRCNAME}-registry" -ALLOW_EMPTY_${SRCNAME}-setup = "1" -ALLOW_EMPTY_${SRCNAME}-registry = "1" -ALLOW_EMPTY_${SRCNAME}-api = "1" +PACKAGES += " ${SRCNAME} ${SRCNAME}-setup ${SRCNAME}-api ${SRCNAME}-registry" FILES_${PN} = " \ ${libdir}/* \ ${datadir}/etc/${SRCNAME}* \ " -FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/run_tests.sh" - FILES_${SRCNAME} = "${bindir}/* \ ${sysconfdir}/${SRCNAME}/* \ ${localstatedir}/* \ " -FILES_${SRCNAME}-api = "${bindir}/glance-api \ - ${sysconfdir}/init.d/glance-api \ +FILES_${SRCNAME}-setup = " \ + ${systemd_unitdir}/system/glance-init.service \ + " + +FILES_${SRCNAME}-api = " \ + ${bindir}/glance-api \ + ${systemd_unitdir}/system/glance-api.service \ " -FILES_${SRCNAME}-registry = "${bindir}/glance-registry \ - ${sysconfdir}/init.d/glance-registry \ +FILES_${SRCNAME}-registry = "\ + ${bindir}/glance-registry \ + ${systemd_unitdir}/system/glance-registry.service \ " DEPENDS += " \ @@ -166,68 +169,66 @@ DEPENDS += " \ python-pbr \ " -RDEPENDS_${PN} += "python-greenlet \ - python-sqlalchemy \ - python-anyjson \ - python-eventlet \ - python-pastedeploy \ - python-routes \ - python-webob \ - python-boto \ - python-sqlalchemy-migrate \ - python-httplib2 \ - python-kombu \ - python-iso8601 \ - python-oslo.config \ - python-pip \ - python-lxml \ - python-paste \ - python-pycrypto \ - python-jsonschema \ - python-keystoneclient \ - python-swiftclient \ - python-pbr \ - python-i18n \ - python-oslo.i18n \ - python-osprofiler \ - python-retrying \ - python-glancestore \ - python-enum34 \ - python-semantic-version \ - python-oslo.vmware \ +RDEPENDS_${PN} += " \ + coreutils \ + python-pbr \ + python-sqlalchemy \ + python-eventlet \ + python-pastedeploy \ + python-routes \ + python-webob \ + python-sqlalchemy-migrate \ + python-sqlparse \ + python-alembic \ + python-httplib2 \ + python-oslo.config \ python-oslo.concurrency \ python-oslo.context \ - python-oslo.service \ python-oslo.utils \ python-stevedore \ python-futurist \ python-taskflow \ + python-keystoneauth1 \ python-keystonemiddleware \ python-wsme \ + python-prettytable \ + python-paste \ + python-jsonschema \ + python-keystoneclient \ python-pyopenssl \ python-six \ python-oslo.db \ + python-oslo.i18n \ python-oslo.log \ - python-oslo.messaging \ + python-oslo.messaging \ python-oslo.middleware \ python-oslo.policy \ - python-oslo.serialization \ - python-castellan \ + python-retrying \ + python-osprofiler \ + python-glance-store \ + python-debtcollector \ python-cryptography \ - " + python-cursive \ + python-iso8601 \ + python-monotonic \ + " + +RDEPENDS_${SRCNAME} = " \ + ${PN} \ + postgresql \ + postgresql-client \ + python-psycopg2 \ + " -RDEPENDS_${SRCNAME} = "${PN} \ - postgresql postgresql-client python-psycopg2" RDEPENDS_${SRCNAME}-api = "${SRCNAME}" RDEPENDS_${SRCNAME}-registry = "${SRCNAME}" -RDEPENDS_${SRCNAME}-setup = "postgresql sudo ${SRCNAME}" +RDEPENDS_${SRCNAME}-setup = "postgresql-setup keystone-setup sudo ${SRCNAME}" RDEPENDS_${SRCNAME}-tests = "python-psutil qpid-python bash" -INITSCRIPT_PACKAGES = "${SRCNAME}-api ${SRCNAME}-registry" -INITSCRIPT_NAME_${SRCNAME}-api = "glance-api" -INITSCRIPT_PARAMS_${SRCNAME}-api = "${OS_DEFAULT_INITSCRIPT_PARAMS}" -INITSCRIPT_NAME_${SRCNAME}-registry = "glance-registry" -INITSCRIPT_PARAMS_${SRCNAME}-registry = "${OS_DEFAULT_INITSCRIPT_PARAMS}" +SYSTEMD_PACKAGES = "${SRCNAME}-api ${SRCNAME}-registry ${SRCNAME}-setup" +SYSTEMD_SERVICE_${SRCNAME}-api = "glance-api.service" +SYSTEMD_SERVICE_${SRCNAME}-registry = "glance-registry.service" +SYSTEMD_SERVICE_${SRCNAME}-setup = "glance-init.service" MONITOR_SERVICE_PACKAGES = "${SRCNAME}" MONITOR_SERVICE_${SRCNAME} = "glance" -- 2.7.4 -- _______________________________________________ meta-virtualization mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-virtualization
