From 0f590885e4acdaabddb111aa045101309078b944 Mon Sep 17 00:00:00 2001 From: James Page Date: Fri, 2 Nov 2018 10:55:42 +0000 Subject: [PATCH] Major restructure --- .../{ => nginx}/drop-nginx-setgroups.patch | 0 scripts/mysql/mysql-startup | 75 ------------------- {snap => snap-overlay}/bin/sudo | 0 {snap => snap-overlay}/etc/cinder/cinder.conf | 0 .../etc/glance/glance.conf.d/database.conf | 0 .../etc/glance/glance.conf.d/keystone.conf | 0 .../etc/horizon/horizon.conf | 0 .../etc/keystone/keystone.conf | 0 .../keystone/keystone.conf.d/database.conf | 0 .../etc/neutron/dhcp_agent.ini | 0 .../etc/neutron/l3_agent.ini | 0 .../etc/neutron/metadata_agent.ini | 0 .../etc/neutron/neutron.conf | 0 .../etc/neutron/neutron.conf.d/database.conf | 0 .../etc/neutron/neutron.conf.d/keystone.conf | 0 .../etc/neutron/neutron.conf.d/nova.conf | 0 .../etc/neutron/neutron.conf.d/workers.conf | 0 .../etc/neutron/plugins/ml2/ml2_conf.ini | 0 .../neutron/plugins/ml2/openvswitch_agent.ini | 0 {snap => snap-overlay}/etc/nova/nova.conf | 0 .../etc/nova/nova.conf.d/database.conf | 0 .../etc/nova/nova.conf.d/glance.conf | 0 .../etc/nova/nova.conf.d/hypervisor.conf | 0 .../etc/nova/nova.conf.d/keystone.conf | 0 .../etc/nova/nova.conf.d/neutron.conf | 0 .../etc/nova/nova.conf.d/nova-placement.conf | 0 .../etc/nova/nova.conf.d/rabbitmq.conf | 0 .../etc/nova/nova.conf.d/scheduler.conf | 0 .../etc/nova/nova.conf.d/workers.conf | 0 {snap => snap-overlay}/etc/nova/policy.yaml | 0 {snap => snap-overlay}/snap-openstack.yaml | 0 .../templates/cinder-api.ini.j2 | 0 .../templates/cinder-nginx.conf.j2 | 0 .../templates/cinder-snap.conf.j2 | 0 .../templates/glance-snap.conf.j2 | 0 .../templates/horizon-nginx.conf.j2 | 0 .../templates/horizon-snap.conf.j2 | 0 .../templates/horizon.ini.j2 | 0 .../templates/keystone-api.ini.j2 | 0 .../templates/keystone-nginx.conf.j2 | 0 .../templates/keystone-snap.conf.j2 | 0 .../templates/neutron-snap.conf.j2 | 0 .../templates/nginx.conf.j2 | 0 .../templates/nova-nginx.conf.j2 | 0 .../templates/nova-placement-api.ini.j2 | 0 .../templates/nova-snap.conf.j2 | 0 .../mysql/mysql-start-client | 0 .../mysql/mysql-start-server | 0 {conf/bin => snap-wrappers/ovs}/ovs-wrapper | 0 {scripts => snap-wrappers}/rabbitmq/erl | 0 .../rabbitmq/rabbitmq-defaults | 0 .../rabbitmq/rabbitmq-script-wrapper | 0 snap/bin/launch-libvirtd | 14 ---- snap/bin/ovs-wrapper | 16 ---- snapcraft.yaml | 35 +++++---- stage_binaries.sh | 34 --------- 56 files changed, 21 insertions(+), 153 deletions(-) rename patches/{ => nginx}/drop-nginx-setgroups.patch (100%) delete mode 100755 scripts/mysql/mysql-startup rename {snap => snap-overlay}/bin/sudo (100%) rename {snap => snap-overlay}/etc/cinder/cinder.conf (100%) rename {snap => snap-overlay}/etc/glance/glance.conf.d/database.conf (100%) rename {snap => snap-overlay}/etc/glance/glance.conf.d/keystone.conf (100%) rename {snap => snap-overlay}/etc/horizon/horizon.conf (100%) rename {snap => snap-overlay}/etc/keystone/keystone.conf (100%) rename {snap => snap-overlay}/etc/keystone/keystone.conf.d/database.conf (100%) rename {snap => snap-overlay}/etc/neutron/dhcp_agent.ini (100%) rename {snap => snap-overlay}/etc/neutron/l3_agent.ini (100%) rename {snap => snap-overlay}/etc/neutron/metadata_agent.ini (100%) rename {snap => snap-overlay}/etc/neutron/neutron.conf (100%) rename {snap => snap-overlay}/etc/neutron/neutron.conf.d/database.conf (100%) rename {snap => snap-overlay}/etc/neutron/neutron.conf.d/keystone.conf (100%) rename {snap => snap-overlay}/etc/neutron/neutron.conf.d/nova.conf (100%) rename {snap => snap-overlay}/etc/neutron/neutron.conf.d/workers.conf (100%) rename {snap => snap-overlay}/etc/neutron/plugins/ml2/ml2_conf.ini (100%) rename {snap => snap-overlay}/etc/neutron/plugins/ml2/openvswitch_agent.ini (100%) rename {snap => snap-overlay}/etc/nova/nova.conf (100%) rename {snap => snap-overlay}/etc/nova/nova.conf.d/database.conf (100%) rename {snap => snap-overlay}/etc/nova/nova.conf.d/glance.conf (100%) rename {snap => snap-overlay}/etc/nova/nova.conf.d/hypervisor.conf (100%) rename {snap => snap-overlay}/etc/nova/nova.conf.d/keystone.conf (100%) rename {snap => snap-overlay}/etc/nova/nova.conf.d/neutron.conf (100%) rename {snap => snap-overlay}/etc/nova/nova.conf.d/nova-placement.conf (100%) rename {snap => snap-overlay}/etc/nova/nova.conf.d/rabbitmq.conf (100%) rename {snap => snap-overlay}/etc/nova/nova.conf.d/scheduler.conf (100%) rename {snap => snap-overlay}/etc/nova/nova.conf.d/workers.conf (100%) rename {snap => snap-overlay}/etc/nova/policy.yaml (100%) rename {snap => snap-overlay}/snap-openstack.yaml (100%) rename {snap => snap-overlay}/templates/cinder-api.ini.j2 (100%) rename {snap => snap-overlay}/templates/cinder-nginx.conf.j2 (100%) rename {snap => snap-overlay}/templates/cinder-snap.conf.j2 (100%) rename {snap => snap-overlay}/templates/glance-snap.conf.j2 (100%) rename {snap => snap-overlay}/templates/horizon-nginx.conf.j2 (100%) rename {snap => snap-overlay}/templates/horizon-snap.conf.j2 (100%) rename {snap => snap-overlay}/templates/horizon.ini.j2 (100%) rename {snap => snap-overlay}/templates/keystone-api.ini.j2 (100%) rename {snap => snap-overlay}/templates/keystone-nginx.conf.j2 (100%) rename {snap => snap-overlay}/templates/keystone-snap.conf.j2 (100%) rename {snap => snap-overlay}/templates/neutron-snap.conf.j2 (100%) rename {snap => snap-overlay}/templates/nginx.conf.j2 (100%) rename {snap => snap-overlay}/templates/nova-nginx.conf.j2 (100%) rename {snap => snap-overlay}/templates/nova-placement-api.ini.j2 (100%) rename {snap => snap-overlay}/templates/nova-snap.conf.j2 (100%) rename {scripts => snap-wrappers}/mysql/mysql-start-client (100%) rename {scripts => snap-wrappers}/mysql/mysql-start-server (100%) rename {conf/bin => snap-wrappers/ovs}/ovs-wrapper (100%) rename {scripts => snap-wrappers}/rabbitmq/erl (100%) rename {scripts => snap-wrappers}/rabbitmq/rabbitmq-defaults (100%) rename {scripts => snap-wrappers}/rabbitmq/rabbitmq-script-wrapper (100%) delete mode 100755 snap/bin/launch-libvirtd delete mode 100755 snap/bin/ovs-wrapper delete mode 100755 stage_binaries.sh diff --git a/patches/drop-nginx-setgroups.patch b/patches/nginx/drop-nginx-setgroups.patch similarity index 100% rename from patches/drop-nginx-setgroups.patch rename to patches/nginx/drop-nginx-setgroups.patch diff --git a/scripts/mysql/mysql-startup b/scripts/mysql/mysql-startup deleted file mode 100755 index 2c027cd..0000000 --- a/scripts/mysql/mysql-startup +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -set -e -init_config() { - mkdir "${CONFDIR}" - echo "Generating config file in ${CONFFILE}..." - touch "${CONFFILE}" - echo "[mysqld]" >> ${CONFFILE} - echo "pid-file=${RUNDIR}/mysqld.pid" >> ${CONFFILE} - echo "socket=${RUNDIR}/mysqld.sock" >> ${CONFFILE} - echo "datadir=${DATADIR}" >> ${CONFFILE} - echo "log-error=${LOGDIR}/error.log" >> ${CONFFILE} - echo "secure-file-priv=${FILESDIR}" >> ${CONFFILE} - echo "basedir=${BASEDIR}" >> ${CONFFILE} - echo "[mysql]" >> ${CONFFILE} - echo "socket=${RUNDIR}/mysqld.sock" >> ${CONFFILE} - echo "Done" -} - -init_database() { - echo "Initializing new database in ${DATADIR}..." - mkdir "${DATADIR}" - mysqld --defaults-file="${CONFFILE}" --initialize - echo "Done" - cat ${LOGDIR}/error.log | grep "temporary password" -} - -USERID=$(id -u) -if [ "${USERID}" = "0" ];then - MYSQL_SNAPDIR="${SNAP_COMMON}" -else - MYSQL_SNAPDIR="${SNAP_USER_COMMON}" -fi -DATADIR="${MYSQL_SNAPDIR}/data" -RUNDIR="${MYSQL_SNAPDIR}/run" -LOGDIR="${MYSQL_SNAPDIR}/log" -CONFDIR="${MYSQL_SNAPDIR}/conf" -CONFFILE="${CONFDIR}/my.cnf" -FILESDIR="${MYSQL_SNAPDIR}/files" -BASEDIR="${SNAP}/usr" - -[ -d "${LOGDIR}" ] || mkdir "${LOGDIR}" -[ -f "${LOGDIR}/error.log" ] || touch "${LOGDIR}/error.log" -[ -d "${FILESDIR}" ] || mkdir "${FILESDIR}" -[ -d "${RUNDIR}" ] || mkdir "${RUNDIR}" -[ -d "${CONFDIR}" ] || init_config -[ -d "${DATADIR}" ] || init_database - -if [ "${USERID}" = "0" ]; -then - # Ensure mysql user exists and that the correct permissions are set on various directories - getent group mysql || addgroup mysql - adduser --system --disabled-login --ingroup mysql --home /nonexistent --gecos "MySQL Server" --shell /bin/false mysql >/dev/null - chown -R mysql:mysql "${LOGDIR}" "${FILESDIR}" "${DATADIR}" "${RUNDIR}" - chmod 750 "${LOGDIR}" "${DATADIR}" - chmod 770 "${FILESDIR}" - chmod 755 "${RUNDIR}" - VARS="--user=mysql" -fi -echo "user=root" >> ${CONFFILE} -echo "password=`sudo cat /var/snap/microstack/common/log/error.log | grep "temporary password" | cut -d " " -f11`" >> ${CONFFILE} diff --git a/snap/bin/sudo b/snap-overlay/bin/sudo similarity index 100% rename from snap/bin/sudo rename to snap-overlay/bin/sudo diff --git a/snap/etc/cinder/cinder.conf b/snap-overlay/etc/cinder/cinder.conf similarity index 100% rename from snap/etc/cinder/cinder.conf rename to snap-overlay/etc/cinder/cinder.conf diff --git a/snap/etc/glance/glance.conf.d/database.conf b/snap-overlay/etc/glance/glance.conf.d/database.conf similarity index 100% rename from snap/etc/glance/glance.conf.d/database.conf rename to snap-overlay/etc/glance/glance.conf.d/database.conf diff --git a/snap/etc/glance/glance.conf.d/keystone.conf b/snap-overlay/etc/glance/glance.conf.d/keystone.conf similarity index 100% rename from snap/etc/glance/glance.conf.d/keystone.conf rename to snap-overlay/etc/glance/glance.conf.d/keystone.conf diff --git a/snap/etc/horizon/horizon.conf b/snap-overlay/etc/horizon/horizon.conf similarity index 100% rename from snap/etc/horizon/horizon.conf rename to snap-overlay/etc/horizon/horizon.conf diff --git a/snap/etc/keystone/keystone.conf b/snap-overlay/etc/keystone/keystone.conf similarity index 100% rename from snap/etc/keystone/keystone.conf rename to snap-overlay/etc/keystone/keystone.conf diff --git a/snap/etc/keystone/keystone.conf.d/database.conf b/snap-overlay/etc/keystone/keystone.conf.d/database.conf similarity index 100% rename from snap/etc/keystone/keystone.conf.d/database.conf rename to snap-overlay/etc/keystone/keystone.conf.d/database.conf diff --git a/snap/etc/neutron/dhcp_agent.ini b/snap-overlay/etc/neutron/dhcp_agent.ini similarity index 100% rename from snap/etc/neutron/dhcp_agent.ini rename to snap-overlay/etc/neutron/dhcp_agent.ini diff --git a/snap/etc/neutron/l3_agent.ini b/snap-overlay/etc/neutron/l3_agent.ini similarity index 100% rename from snap/etc/neutron/l3_agent.ini rename to snap-overlay/etc/neutron/l3_agent.ini diff --git a/snap/etc/neutron/metadata_agent.ini b/snap-overlay/etc/neutron/metadata_agent.ini similarity index 100% rename from snap/etc/neutron/metadata_agent.ini rename to snap-overlay/etc/neutron/metadata_agent.ini diff --git a/snap/etc/neutron/neutron.conf b/snap-overlay/etc/neutron/neutron.conf similarity index 100% rename from snap/etc/neutron/neutron.conf rename to snap-overlay/etc/neutron/neutron.conf diff --git a/snap/etc/neutron/neutron.conf.d/database.conf b/snap-overlay/etc/neutron/neutron.conf.d/database.conf similarity index 100% rename from snap/etc/neutron/neutron.conf.d/database.conf rename to snap-overlay/etc/neutron/neutron.conf.d/database.conf diff --git a/snap/etc/neutron/neutron.conf.d/keystone.conf b/snap-overlay/etc/neutron/neutron.conf.d/keystone.conf similarity index 100% rename from snap/etc/neutron/neutron.conf.d/keystone.conf rename to snap-overlay/etc/neutron/neutron.conf.d/keystone.conf diff --git a/snap/etc/neutron/neutron.conf.d/nova.conf b/snap-overlay/etc/neutron/neutron.conf.d/nova.conf similarity index 100% rename from snap/etc/neutron/neutron.conf.d/nova.conf rename to snap-overlay/etc/neutron/neutron.conf.d/nova.conf diff --git a/snap/etc/neutron/neutron.conf.d/workers.conf b/snap-overlay/etc/neutron/neutron.conf.d/workers.conf similarity index 100% rename from snap/etc/neutron/neutron.conf.d/workers.conf rename to snap-overlay/etc/neutron/neutron.conf.d/workers.conf diff --git a/snap/etc/neutron/plugins/ml2/ml2_conf.ini b/snap-overlay/etc/neutron/plugins/ml2/ml2_conf.ini similarity index 100% rename from snap/etc/neutron/plugins/ml2/ml2_conf.ini rename to snap-overlay/etc/neutron/plugins/ml2/ml2_conf.ini diff --git a/snap/etc/neutron/plugins/ml2/openvswitch_agent.ini b/snap-overlay/etc/neutron/plugins/ml2/openvswitch_agent.ini similarity index 100% rename from snap/etc/neutron/plugins/ml2/openvswitch_agent.ini rename to snap-overlay/etc/neutron/plugins/ml2/openvswitch_agent.ini diff --git a/snap/etc/nova/nova.conf b/snap-overlay/etc/nova/nova.conf similarity index 100% rename from snap/etc/nova/nova.conf rename to snap-overlay/etc/nova/nova.conf diff --git a/snap/etc/nova/nova.conf.d/database.conf b/snap-overlay/etc/nova/nova.conf.d/database.conf similarity index 100% rename from snap/etc/nova/nova.conf.d/database.conf rename to snap-overlay/etc/nova/nova.conf.d/database.conf diff --git a/snap/etc/nova/nova.conf.d/glance.conf b/snap-overlay/etc/nova/nova.conf.d/glance.conf similarity index 100% rename from snap/etc/nova/nova.conf.d/glance.conf rename to snap-overlay/etc/nova/nova.conf.d/glance.conf diff --git a/snap/etc/nova/nova.conf.d/hypervisor.conf b/snap-overlay/etc/nova/nova.conf.d/hypervisor.conf similarity index 100% rename from snap/etc/nova/nova.conf.d/hypervisor.conf rename to snap-overlay/etc/nova/nova.conf.d/hypervisor.conf diff --git a/snap/etc/nova/nova.conf.d/keystone.conf b/snap-overlay/etc/nova/nova.conf.d/keystone.conf similarity index 100% rename from snap/etc/nova/nova.conf.d/keystone.conf rename to snap-overlay/etc/nova/nova.conf.d/keystone.conf diff --git a/snap/etc/nova/nova.conf.d/neutron.conf b/snap-overlay/etc/nova/nova.conf.d/neutron.conf similarity index 100% rename from snap/etc/nova/nova.conf.d/neutron.conf rename to snap-overlay/etc/nova/nova.conf.d/neutron.conf diff --git a/snap/etc/nova/nova.conf.d/nova-placement.conf b/snap-overlay/etc/nova/nova.conf.d/nova-placement.conf similarity index 100% rename from snap/etc/nova/nova.conf.d/nova-placement.conf rename to snap-overlay/etc/nova/nova.conf.d/nova-placement.conf diff --git a/snap/etc/nova/nova.conf.d/rabbitmq.conf b/snap-overlay/etc/nova/nova.conf.d/rabbitmq.conf similarity index 100% rename from snap/etc/nova/nova.conf.d/rabbitmq.conf rename to snap-overlay/etc/nova/nova.conf.d/rabbitmq.conf diff --git a/snap/etc/nova/nova.conf.d/scheduler.conf b/snap-overlay/etc/nova/nova.conf.d/scheduler.conf similarity index 100% rename from snap/etc/nova/nova.conf.d/scheduler.conf rename to snap-overlay/etc/nova/nova.conf.d/scheduler.conf diff --git a/snap/etc/nova/nova.conf.d/workers.conf b/snap-overlay/etc/nova/nova.conf.d/workers.conf similarity index 100% rename from snap/etc/nova/nova.conf.d/workers.conf rename to snap-overlay/etc/nova/nova.conf.d/workers.conf diff --git a/snap/etc/nova/policy.yaml b/snap-overlay/etc/nova/policy.yaml similarity index 100% rename from snap/etc/nova/policy.yaml rename to snap-overlay/etc/nova/policy.yaml diff --git a/snap/snap-openstack.yaml b/snap-overlay/snap-openstack.yaml similarity index 100% rename from snap/snap-openstack.yaml rename to snap-overlay/snap-openstack.yaml diff --git a/snap/templates/cinder-api.ini.j2 b/snap-overlay/templates/cinder-api.ini.j2 similarity index 100% rename from snap/templates/cinder-api.ini.j2 rename to snap-overlay/templates/cinder-api.ini.j2 diff --git a/snap/templates/cinder-nginx.conf.j2 b/snap-overlay/templates/cinder-nginx.conf.j2 similarity index 100% rename from snap/templates/cinder-nginx.conf.j2 rename to snap-overlay/templates/cinder-nginx.conf.j2 diff --git a/snap/templates/cinder-snap.conf.j2 b/snap-overlay/templates/cinder-snap.conf.j2 similarity index 100% rename from snap/templates/cinder-snap.conf.j2 rename to snap-overlay/templates/cinder-snap.conf.j2 diff --git a/snap/templates/glance-snap.conf.j2 b/snap-overlay/templates/glance-snap.conf.j2 similarity index 100% rename from snap/templates/glance-snap.conf.j2 rename to snap-overlay/templates/glance-snap.conf.j2 diff --git a/snap/templates/horizon-nginx.conf.j2 b/snap-overlay/templates/horizon-nginx.conf.j2 similarity index 100% rename from snap/templates/horizon-nginx.conf.j2 rename to snap-overlay/templates/horizon-nginx.conf.j2 diff --git a/snap/templates/horizon-snap.conf.j2 b/snap-overlay/templates/horizon-snap.conf.j2 similarity index 100% rename from snap/templates/horizon-snap.conf.j2 rename to snap-overlay/templates/horizon-snap.conf.j2 diff --git a/snap/templates/horizon.ini.j2 b/snap-overlay/templates/horizon.ini.j2 similarity index 100% rename from snap/templates/horizon.ini.j2 rename to snap-overlay/templates/horizon.ini.j2 diff --git a/snap/templates/keystone-api.ini.j2 b/snap-overlay/templates/keystone-api.ini.j2 similarity index 100% rename from snap/templates/keystone-api.ini.j2 rename to snap-overlay/templates/keystone-api.ini.j2 diff --git a/snap/templates/keystone-nginx.conf.j2 b/snap-overlay/templates/keystone-nginx.conf.j2 similarity index 100% rename from snap/templates/keystone-nginx.conf.j2 rename to snap-overlay/templates/keystone-nginx.conf.j2 diff --git a/snap/templates/keystone-snap.conf.j2 b/snap-overlay/templates/keystone-snap.conf.j2 similarity index 100% rename from snap/templates/keystone-snap.conf.j2 rename to snap-overlay/templates/keystone-snap.conf.j2 diff --git a/snap/templates/neutron-snap.conf.j2 b/snap-overlay/templates/neutron-snap.conf.j2 similarity index 100% rename from snap/templates/neutron-snap.conf.j2 rename to snap-overlay/templates/neutron-snap.conf.j2 diff --git a/snap/templates/nginx.conf.j2 b/snap-overlay/templates/nginx.conf.j2 similarity index 100% rename from snap/templates/nginx.conf.j2 rename to snap-overlay/templates/nginx.conf.j2 diff --git a/snap/templates/nova-nginx.conf.j2 b/snap-overlay/templates/nova-nginx.conf.j2 similarity index 100% rename from snap/templates/nova-nginx.conf.j2 rename to snap-overlay/templates/nova-nginx.conf.j2 diff --git a/snap/templates/nova-placement-api.ini.j2 b/snap-overlay/templates/nova-placement-api.ini.j2 similarity index 100% rename from snap/templates/nova-placement-api.ini.j2 rename to snap-overlay/templates/nova-placement-api.ini.j2 diff --git a/snap/templates/nova-snap.conf.j2 b/snap-overlay/templates/nova-snap.conf.j2 similarity index 100% rename from snap/templates/nova-snap.conf.j2 rename to snap-overlay/templates/nova-snap.conf.j2 diff --git a/scripts/mysql/mysql-start-client b/snap-wrappers/mysql/mysql-start-client similarity index 100% rename from scripts/mysql/mysql-start-client rename to snap-wrappers/mysql/mysql-start-client diff --git a/scripts/mysql/mysql-start-server b/snap-wrappers/mysql/mysql-start-server similarity index 100% rename from scripts/mysql/mysql-start-server rename to snap-wrappers/mysql/mysql-start-server diff --git a/conf/bin/ovs-wrapper b/snap-wrappers/ovs/ovs-wrapper similarity index 100% rename from conf/bin/ovs-wrapper rename to snap-wrappers/ovs/ovs-wrapper diff --git a/scripts/rabbitmq/erl b/snap-wrappers/rabbitmq/erl similarity index 100% rename from scripts/rabbitmq/erl rename to snap-wrappers/rabbitmq/erl diff --git a/scripts/rabbitmq/rabbitmq-defaults b/snap-wrappers/rabbitmq/rabbitmq-defaults similarity index 100% rename from scripts/rabbitmq/rabbitmq-defaults rename to snap-wrappers/rabbitmq/rabbitmq-defaults diff --git a/scripts/rabbitmq/rabbitmq-script-wrapper b/snap-wrappers/rabbitmq/rabbitmq-script-wrapper similarity index 100% rename from scripts/rabbitmq/rabbitmq-script-wrapper rename to snap-wrappers/rabbitmq/rabbitmq-script-wrapper diff --git a/snap/bin/launch-libvirtd b/snap/bin/launch-libvirtd deleted file mode 100755 index 4b69d66..0000000 --- a/snap/bin/launch-libvirtd +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -e - -if [ "$SNAP_ARCH" = "amd64" ]; then - ARCH="x86_64-linux-gnu" -elif [ "$SNAP_ARCH" = "armhf" ]; then - ARCH="arm-linux-gnueabihf" -elif [ "$SNAP_ARCH" = "arm64" ]; then - ARCH="aarch64-linux-gnu" -else - ARCH="$SNAP_ARCH-linux-gnu" -fi - -export LD_LIBRARY_PATH=$SNAP/lib/$ARCH:$SNAP/usr/lib/$ARCH:$LD_LIBRARY_PATH -exec $SNAP/sbin/libvirtd diff --git a/snap/bin/ovs-wrapper b/snap/bin/ovs-wrapper deleted file mode 100755 index 0c276e5..0000000 --- a/snap/bin/ovs-wrapper +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -e - -export OVS_LOGDIR=${SNAP_COMMON}/log/openvswitch -export OVS_RUNDIR=${SNAP_COMMON}/run/openvswitch -export OVS_SYSCONFDIR=${SNAP_COMMON}/etc -export OVS_PKGDATADIR=${SNAP}/share/openvswitch -export OVS_BINDIR=${SNAP}/bin -export OVS_SBINDIR=${SNAP}/sbin - -mkdir -p ${OVS_LOGDIR} -mkdir -p ${OVS_RUNDIR} -mkdir -p ${OVS_SYSCONFDIR}/openvswitch - -exec $@ diff --git a/snapcraft.yaml b/snapcraft.yaml index 5a42ac9..fa1438e 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -8,7 +8,7 @@ description: | grade: devel confinement: classic environment: - LD_LIBRARY_PATH: $SNAP/lib:$SNAP/usr/lib:$SNAP/usr/lib/x86_64-linux-gnu + LD_LIBRARY_PATH: $SNAP/lib:$SNAP/lib/$SNAPCRAFT_ARCH_TRIPLET:$SNAP/usr/lib:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET PATH: $SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH LC_ALL: C OS_PLACEMENT_CONFIG_DIR: $SNAP/etc/nova/ @@ -215,13 +215,10 @@ apps: # Libvirt/Qemu libvirt-bin: - command: bin/launch-libvirtd + command: sbin/libvirtd daemon: simple virsh: - command: bin/virsh - environment: - PATH: $SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH - LC_ALL: C + command: virsh # MySQL # MySQL @@ -464,10 +461,12 @@ parts: snapcraftctl build ovs-wrapper: - source: conf + source: ./snap-wrappers/ovs plugin: dump after: - openvswitch + organize: + ovs-wrapper: bin/ovs-wrapper nginx: source: http://www.nginx.org/download/nginx-1.13.0.tar.gz @@ -489,9 +488,16 @@ parts: - libssl-dev - python-six override-build: | - export SNAP_ROOT="../../.." - export SNAP_SOURCE="$SNAP_ROOT/parts/nginx/build" - patch -d $SNAP_SOURCE -p1 < $SNAP_ROOT/patches/drop-nginx-setgroups.patch + # Apply patches + for patch in ${SNAPCRAFT_STAGE}/patches/nginx/*.patch; do + echo "Applying $(basename "$patch") ..." + patch \ + --batch \ + --forward \ + --strip 1 \ + --input "$patch" + echo + done snapcraftctl build libxml2: @@ -553,6 +559,7 @@ parts: - try: [libnuma1] - libcurl3-gnutls - libpciaccess0 + - libxml2-utils configflags: - --with-qemu - --without-bhyve @@ -589,7 +596,7 @@ parts: # MySQL mysql-server: plugin: dump - source: ./scripts/mysql + source: ./snap-wrappers/mysql stage-packages: - mysql-server - mysql-client @@ -599,7 +606,7 @@ parts: # RabbitMQ rabbitmq-server: - source: ./scripts/rabbitmq + source: ./snap-wrappers/rabbitmq plugin: dump stage-packages: - rabbitmq-server @@ -666,7 +673,7 @@ parts: - "--with-kmod=no" # Openstack Shared Parts - templates: + overlay: after: - keystone-config - nova-config @@ -682,7 +689,7 @@ parts: - rabbitmq-server - memcached plugin: dump - source: snap + source: snap-overlay configure-the-things: plugin: dump diff --git a/stage_binaries.sh b/stage_binaries.sh deleted file mode 100755 index ad57a3f..0000000 --- a/stage_binaries.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -SNAPDIR=$(pwd) -SNAPTMP=$(mktemp -d) -cd ${SNAPTMP} -MYSQL_VERSION_MAJOR=5.7 -MYSQL_VERSION_FULL=5.7.17-1ubuntu16.04 -FILENAME="mysql-server_${MYSQL_VERSION_FULL}_amd64.deb-bundle.tar" -wget "http://dev.mysql.com/get/Downloads/MySQL-{MYSQL_VERSION_MAJOR}/${FILENAME}" -tar -xvf "${FILENAME}" -ar x mysql-community-client_${MYSQL_VERSION_FULL}_amd64.deb -tar -xvf data.tar.xz -rm data.tar.xz -ar x mysql-community-server_${MYSQL_VERSION_FULL}_amd64.deb -tar -xvf data.tar.xz -mkdir staging-files -mv usr staging-files/ -rm -rf ${SNAPDIR}/staging-files -mv staging-files ${SNAPDIR} -cd ${SNAPDIR}