From 38973e8bc393a4ca36090c58c8b6eb6d093ea69a Mon Sep 17 00:00:00 2001 From: Mark Asselstine Date: Fri, 1 Dec 2017 15:19:42 -0500 Subject: python-glance: uprev to latest stable/pike 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 Signed-off-by: Bruce Ashfield --- .../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 +++++++++++ 4 files changed, 94 insertions(+) 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 (limited to 'meta-openstack/recipes-devtools/python/python-glance') 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 -- cgit v1.2.3-54-g00ecf