From cbd42ca6e90cca2ff4b84f5e4e46224e6455e8b2 Mon Sep 17 00:00:00 2001 From: Sam Yaple Date: Fri, 28 Aug 2015 12:16:53 +0000 Subject: Move docker_templates to docker dir Updated build.py to reflect this change. Deprecate --template option and make it a noop. Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2 Partially-Implements: blueprint remove-docker-dir --- docker/swift/swift-account-server/Dockerfile.j2 | 19 +++++ .../swift/swift-account-server/config-external.sh | 19 +++++ docker/swift/swift-account-server/start.sh | 16 ++++ docker/swift/swift-base/Dockerfile.j2 | 29 +++++++ docker/swift/swift-base/build-swift-ring.py | 93 ++++++++++++++++++++++ docker/swift/swift-base/config-swift.sh | 3 + docker/swift/swift-container-server/Dockerfile.j2 | 19 +++++ .../swift-container-server/config-external.sh | 21 +++++ docker/swift/swift-container-server/start.sh | 16 ++++ docker/swift/swift-object-auditor/Dockerfile.j2 | 9 +++ .../swift/swift-object-auditor/config-external.sh | 18 +++++ docker/swift/swift-object-auditor/start.sh | 16 ++++ docker/swift/swift-object-base/Dockerfile.j2 | 14 ++++ .../swift/swift-object-base/config-swift-object.sh | 72 +++++++++++++++++ docker/swift/swift-object-expirer/Dockerfile.j2 | 20 +++++ .../swift/swift-object-expirer/config-external.sh | 18 +++++ docker/swift/swift-object-expirer/start.sh | 16 ++++ docker/swift/swift-object-replicator/Dockerfile.j2 | 9 +++ .../swift-object-replicator/config-external.sh | 18 +++++ docker/swift/swift-object-replicator/start.sh | 16 ++++ docker/swift/swift-object-server/Dockerfile.j2 | 9 +++ .../swift/swift-object-server/config-external.sh | 27 +++++++ docker/swift/swift-object-server/start.sh | 16 ++++ docker/swift/swift-object-updater/Dockerfile.j2 | 9 +++ .../swift/swift-object-updater/config-external.sh | 18 +++++ docker/swift/swift-object-updater/start.sh | 16 ++++ docker/swift/swift-proxy-server/Dockerfile.j2 | 16 ++++ docker/swift/swift-proxy-server/config-external.sh | 33 ++++++++ docker/swift/swift-proxy-server/start.sh | 16 ++++ 29 files changed, 621 insertions(+) create mode 100644 docker/swift/swift-account-server/Dockerfile.j2 create mode 100644 docker/swift/swift-account-server/config-external.sh create mode 100755 docker/swift/swift-account-server/start.sh create mode 100644 docker/swift/swift-base/Dockerfile.j2 create mode 100644 docker/swift/swift-base/build-swift-ring.py create mode 100755 docker/swift/swift-base/config-swift.sh create mode 100644 docker/swift/swift-container-server/Dockerfile.j2 create mode 100644 docker/swift/swift-container-server/config-external.sh create mode 100755 docker/swift/swift-container-server/start.sh create mode 100644 docker/swift/swift-object-auditor/Dockerfile.j2 create mode 100644 docker/swift/swift-object-auditor/config-external.sh create mode 100755 docker/swift/swift-object-auditor/start.sh create mode 100644 docker/swift/swift-object-base/Dockerfile.j2 create mode 100644 docker/swift/swift-object-base/config-swift-object.sh create mode 100644 docker/swift/swift-object-expirer/Dockerfile.j2 create mode 100644 docker/swift/swift-object-expirer/config-external.sh create mode 100755 docker/swift/swift-object-expirer/start.sh create mode 100644 docker/swift/swift-object-replicator/Dockerfile.j2 create mode 100644 docker/swift/swift-object-replicator/config-external.sh create mode 100755 docker/swift/swift-object-replicator/start.sh create mode 100644 docker/swift/swift-object-server/Dockerfile.j2 create mode 100644 docker/swift/swift-object-server/config-external.sh create mode 100755 docker/swift/swift-object-server/start.sh create mode 100644 docker/swift/swift-object-updater/Dockerfile.j2 create mode 100644 docker/swift/swift-object-updater/config-external.sh create mode 100755 docker/swift/swift-object-updater/start.sh create mode 100644 docker/swift/swift-proxy-server/Dockerfile.j2 create mode 100755 docker/swift/swift-proxy-server/config-external.sh create mode 100755 docker/swift/swift-proxy-server/start.sh (limited to 'docker/swift') diff --git a/docker/swift/swift-account-server/Dockerfile.j2 b/docker/swift/swift-account-server/Dockerfile.j2 new file mode 100644 index 000000000..7320de9f4 --- /dev/null +++ b/docker/swift/swift-account-server/Dockerfile.j2 @@ -0,0 +1,19 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %} + +RUN yum -y install \ + openstack-swift-account \ + && yum clean all + + {% endif %} +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/swift/swift-account-server/config-external.sh b/docker/swift/swift-account-server/config-external.sh new file mode 100644 index 000000000..61adefcd0 --- /dev/null +++ b/docker/swift/swift-account-server/config-external.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +if [[ -f /opt/kolla/swift/swift.conf ]]; then + cp /opt/kolla/swift/swift.conf /etc/swift/ + chown swift: /etc/swift/swift.conf + chmod 0640 /etc/swift/swift.conf +fi + +if [[ -f "/opt/kolla/swift/account.ring.gz" ]]; then + cp /opt/kolla/swift/account.ring.gz /etc/swift/account.ring.gz + chown swift: /etc/swift/account.ring.gz + chmod 0640 /etc/swift/account.ring.gz +fi + +if [[ -f /opt/kolla/swift-account-server/account-server.conf ]]; then + cp /opt/kolla/swift-account-server/account-server.conf /etc/swift/ + chown swift: /etc/swift/account-server.conf + chmod 0640 /etc/swift/account-server.conf +fi diff --git a/docker/swift/swift-account-server/start.sh b/docker/swift/swift-account-server/start.sh new file mode 100755 index 000000000..402ee6f44 --- /dev/null +++ b/docker/swift/swift-account-server/start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit + +CMD="/usr/bin/swift-account-server" +ARGS="/etc/swift/account-server.conf --verbose" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +source /opt/kolla/config-swift.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker/swift/swift-base/Dockerfile.j2 b/docker/swift/swift-base/Dockerfile.j2 new file mode 100644 index 000000000..7102916f1 --- /dev/null +++ b/docker/swift/swift-base/Dockerfile.j2 @@ -0,0 +1,29 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %} + +RUN yum -y install openstack-swift && yum clean all + + {% elif base_distro in ['ubuntu', 'debian'] %} + +RUN echo '{{ install_type}} not yet available for {{ base_distro }}' \ + && /bin/false + + {% endif %} + +{% elif install_type == 'source' %} + +ADD swift.tar / +RUN ln -s /swift-* swift \ + && useradd --user-group swift \ + && pip --no-cache-dir install /swift \ + && mkdir -p /etc/swift /var/log/swift /home/swift \ + && cp -r /swift/etc/* /etc/swift/ \ + && chown -R swift: /etc/swift /var/log/swift /home/swift + +{% endif %} + +COPY config-swift.sh build-swift-ring.py /opt/kolla/ +RUN mkdir /opt/swift diff --git a/docker/swift/swift-base/build-swift-ring.py b/docker/swift/swift-base/build-swift-ring.py new file mode 100644 index 000000000..d7386392d --- /dev/null +++ b/docker/swift/swift-base/build-swift-ring.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python + +# Copyright 2015 Paul Bourke +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +This script is a simple wrapper used to create and rebalance Swift ring files. +""" + +import argparse +import subprocess +import sys + + +def setup_args(): + parser = argparse.ArgumentParser() + parser.add_argument("-f", "--ring-file", + required=True, + help="Path to ring file") + parser.add_argument("-p", "--part-power", + required=True, + help="Part power") + parser.add_argument("-r", "--num-replicas", + required=True, + help="Number of replicas") + parser.add_argument("-m", "--min-part-hours", + required=True, + help="Min part hours") + parser.add_argument("-H", "--hosts", + required=True, + help="Hosts in the ring, comma delimited") + parser.add_argument("-w", "--weights", + required=True, + help="Weight of each host, comma delimited") + parser.add_argument("-d", "--devices", + required=True, + help="Device on each host, comma delimited") + parser.add_argument("-z", "--zones", + required=True, + help="Zone of each host, comma delimited") + return parser.parse_args() + + +def run_cmd(cmd): + print(' '.join(cmd)) + subprocess.call(cmd) + + +def run(args): + hosts = args.hosts.split(',') + weights = args.weights.split(',') + zones = args.zones.split(',') + devices = args.devices.split(',') + if not (len(hosts) == len(weights) == len(zones) == len(devices)): + print('Error: an equal amount of hosts, devices, weights, ' + 'and zones are required') + sys.exit(1) + + run_cmd(['/usr/bin/swift-ring-builder', + args.ring_file, + 'create', + args.part_power, + args.num_replicas, + args.min_part_hours]) + + for i in xrange(len(hosts)): + run_cmd(['/usr/bin/swift-ring-builder', + args.ring_file, + 'add', + 'z{}-{}/{}'.format(zones[i], hosts[i], devices[i]), + weights[i]]) + + run_cmd(['/usr/bin/swift-ring-builder', args.ring_file, 'rebalance']) + + +def main(): + args = setup_args() + run(args) + + +if __name__ == "__main__": + main() diff --git a/docker/swift/swift-base/config-swift.sh b/docker/swift/swift-base/config-swift.sh new file mode 100755 index 000000000..b101b4e69 --- /dev/null +++ b/docker/swift/swift-base/config-swift.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +chown -R swift: /srv/node diff --git a/docker/swift/swift-container-server/Dockerfile.j2 b/docker/swift/swift-container-server/Dockerfile.j2 new file mode 100644 index 000000000..1a08c0f5d --- /dev/null +++ b/docker/swift/swift-container-server/Dockerfile.j2 @@ -0,0 +1,19 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %} + +RUN yum -y install \ + openstack-swift-container \ + && yum clean all + + {% endif %} +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/swift/swift-container-server/config-external.sh b/docker/swift/swift-container-server/config-external.sh new file mode 100644 index 000000000..d81ba6cc4 --- /dev/null +++ b/docker/swift/swift-container-server/config-external.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +OWNER="swift" + +if [[ -f "/opt/kolla/swift/swift.conf" ]]; then + cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf + chown ${OWNER}: /etc/swift/swift.conf + chmod 0640 /etc/swift/swift.conf +fi + +if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then + cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz + chown ${OWNER}: /etc/swift/container.ring.gz + chmod 0640 /etc/swift/container.ring.gz +fi + +if [[ -f "/opt/kolla/swift-container-server/container-server.conf" ]]; then + cp /opt/kolla/swift-container-server/container-server.conf /etc/swift/container-server.conf + chown ${OWNER}: /etc/swift/container-server.conf + chmod 0640 /etc/swift/container-server.conf +fi diff --git a/docker/swift/swift-container-server/start.sh b/docker/swift/swift-container-server/start.sh new file mode 100755 index 000000000..78070ab29 --- /dev/null +++ b/docker/swift/swift-container-server/start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit + +CMD="/usr/bin/swift-container-server" +ARGS="/etc/swift/container-server.conf --verbose" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +source /opt/kolla/config-swift.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker/swift/swift-object-auditor/Dockerfile.j2 b/docker/swift/swift-object-auditor/Dockerfile.j2 new file mode 100644 index 000000000..ab8a7adee --- /dev/null +++ b/docker/swift/swift-object-auditor/Dockerfile.j2 @@ -0,0 +1,9 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/swift/swift-object-auditor/config-external.sh b/docker/swift/swift-object-auditor/config-external.sh new file mode 100644 index 000000000..0fa02e985 --- /dev/null +++ b/docker/swift/swift-object-auditor/config-external.sh @@ -0,0 +1,18 @@ +#!/bin/bash +SOURCE="/opt/kolla/swift/swift.conf" +TARGET="/etc/swift/swift.conf" +SOURCE_OBJECT_SERVER="/opt/kolla/swift/object-server.conf" +TARGET_OBJECT_SERVER="/etc/swift/object-server.conf" +OWNER="swift" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0640 $TARGET +fi + +if [[ -f "$SOURCE_OBJECT_SERVER" ]]; then + cp $SOURCE_OBJECT_SERVER $TARGET_OBJECT_SERVER + chown ${OWNER}: $TARGET_OBJECT_SERVER + chmod 0640 $TARGET_OBJECT_SERVER +fi diff --git a/docker/swift/swift-object-auditor/start.sh b/docker/swift/swift-object-auditor/start.sh new file mode 100755 index 000000000..6319eed6b --- /dev/null +++ b/docker/swift/swift-object-auditor/start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit + +CMD="/usr/bin/swift-object-auditor" +ARGS="/etc/swift/object-server.conf --verbose" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +source /opt/kolla/config-swift.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker/swift/swift-object-base/Dockerfile.j2 b/docker/swift/swift-object-base/Dockerfile.j2 new file mode 100644 index 000000000..54997a114 --- /dev/null +++ b/docker/swift/swift-object-base/Dockerfile.j2 @@ -0,0 +1,14 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %} + +RUN yum -y install \ + openstack-swift-object \ + && yum clean all + + {% endif %} +{% endif %} + +COPY config-swift-object.sh /opt/kolla/ diff --git a/docker/swift/swift-object-base/config-swift-object.sh b/docker/swift/swift-object-base/config-swift-object.sh new file mode 100644 index 000000000..0d3d58dc3 --- /dev/null +++ b/docker/swift/swift-object-base/config-swift-object.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +. /opt/kolla/kolla-common.sh + +check_required_vars \ + SWIFT_CONTAINER_SVC_RING_DEVICES \ + SWIFT_CONTAINER_SVC_RING_HOSTS \ + SWIFT_CONTAINER_SVC_RING_MIN_PART_HOURS \ + SWIFT_CONTAINER_SVC_RING_NAME \ + SWIFT_CONTAINER_SVC_RING_PART_POWER \ + SWIFT_CONTAINER_SVC_RING_REPLICAS \ + SWIFT_CONTAINER_SVC_RING_WEIGHTS \ + SWIFT_CONTAINER_SVC_RING_ZONES \ + SWIFT_DIR \ + SWIFT_OBJECT_SVC_BIND_IP \ + SWIFT_OBJECT_SVC_BIND_PORT \ + SWIFT_OBJECT_SVC_DEVICES \ + SWIFT_OBJECT_SVC_MOUNT_CHECK \ + SWIFT_OBJECT_SVC_PIPELINE \ + SWIFT_OBJECT_SVC_RING_DEVICES \ + SWIFT_OBJECT_SVC_RING_HOSTS \ + SWIFT_OBJECT_SVC_RING_MIN_PART_HOURS \ + SWIFT_OBJECT_SVC_RING_NAME \ + SWIFT_OBJECT_SVC_RING_PART_POWER \ + SWIFT_OBJECT_SVC_RING_REPLICAS \ + SWIFT_OBJECT_SVC_RING_WEIGHTS \ + SWIFT_OBJECT_SVC_RING_ZONES \ + SWIFT_USER + +cfg=/etc/swift/object-server.conf + +crudini --set $cfg DEFAULT bind_ip "${SWIFT_OBJECT_SVC_BIND_IP}" +crudini --set $cfg DEFAULT bind_port "${SWIFT_OBJECT_SVC_BIND_PORT}" +crudini --set $cfg DEFAULT user "${SWIFT_USER}" +crudini --set $cfg DEFAULT swift_dir "${SWIFT_DIR}" +crudini --set $cfg DEFAULT devices "${SWIFT_OBJECT_SVC_DEVICES}" +crudini --set $cfg DEFAULT mount_check "${SWIFT_OBJECT_SVC_MOUNT_CHECK}" + +crudini --set $cfg pipeline:main pipeline "${SWIFT_OBJECT_SVC_PIPELINE}" + +# NOTE(pbourke): some services require a section in the conf, even if empty +crudini --set $cfg object-expirer + +# Create swift user and group if they don't exist +id -u swift &>/dev/null || useradd --user-group swift + +# Ensure proper ownership of the mount point directory structure +chown -R swift:swift /srv/node + +# TODO(pbourke): does this need to be on a data vol? +mkdir -p /var/cache/swift +chown -R swift:swift /var/cache/swift + +python /opt/kolla/build-swift-ring.py \ + -f ${SWIFT_OBJECT_SVC_RING_NAME} \ + -p ${SWIFT_OBJECT_SVC_RING_PART_POWER} \ + -r ${SWIFT_OBJECT_SVC_RING_REPLICAS} \ + -m ${SWIFT_OBJECT_SVC_RING_MIN_PART_HOURS} \ + -H ${SWIFT_OBJECT_SVC_RING_HOSTS} \ + -w ${SWIFT_OBJECT_SVC_RING_WEIGHTS} \ + -d ${SWIFT_OBJECT_SVC_RING_DEVICES} \ + -z ${SWIFT_OBJECT_SVC_RING_ZONES} + +python /opt/kolla/build-swift-ring.py \ + -f ${SWIFT_CONTAINER_SVC_RING_NAME} \ + -p ${SWIFT_CONTAINER_SVC_RING_PART_POWER} \ + -r ${SWIFT_CONTAINER_SVC_RING_REPLICAS} \ + -m ${SWIFT_CONTAINER_SVC_RING_MIN_PART_HOURS} \ + -H ${SWIFT_CONTAINER_SVC_RING_HOSTS} \ + -w ${SWIFT_CONTAINER_SVC_RING_WEIGHTS} \ + -d ${SWIFT_CONTAINER_SVC_RING_DEVICES} \ + -z ${SWIFT_CONTAINER_SVC_RING_ZONES} diff --git a/docker/swift/swift-object-expirer/Dockerfile.j2 b/docker/swift/swift-object-expirer/Dockerfile.j2 new file mode 100644 index 000000000..af9f3eb58 --- /dev/null +++ b/docker/swift/swift-object-expirer/Dockerfile.j2 @@ -0,0 +1,20 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %} + +RUN yum -y install \ + openstack-swift-proxy \ + openstack-swift-container \ + && yum clean all + + {% endif %} +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/swift/swift-object-expirer/config-external.sh b/docker/swift/swift-object-expirer/config-external.sh new file mode 100644 index 000000000..ff2bcf9f5 --- /dev/null +++ b/docker/swift/swift-object-expirer/config-external.sh @@ -0,0 +1,18 @@ +#!/bin/bash +SOURCE="/opt/kolla/swift/swift.conf" +TARGET="/etc/swift/swift.conf" +SOURCE_OBJECT_EXPIRER="/opt/kolla/swift/object-expirer.conf" +TARGET_OBJECT_EXPIRER="/etc/swift/object-expirer.conf" +OWNER="swift" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0640 $TARGET +fi + +if [[ -f "$SOURCE_OBJECT_EXPIRER" ]]; then + cp $SOURCE_OBJECT_EXPIRER $TARGET_OBJECT_EXPIRER + chown ${OWNER}: $TARGET_OBJECT_EXPIRER + chmod 0640 $TARGET_OBJECT_EXPIRER +fi diff --git a/docker/swift/swift-object-expirer/start.sh b/docker/swift/swift-object-expirer/start.sh new file mode 100755 index 000000000..434e8dc49 --- /dev/null +++ b/docker/swift/swift-object-expirer/start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit + +CMD="/usr/bin/swift-object-expirer" +ARGS="/etc/swift/object-server.conf --verbose" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +source /opt/kolla/config-swift.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker/swift/swift-object-replicator/Dockerfile.j2 b/docker/swift/swift-object-replicator/Dockerfile.j2 new file mode 100644 index 000000000..ab8a7adee --- /dev/null +++ b/docker/swift/swift-object-replicator/Dockerfile.j2 @@ -0,0 +1,9 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/swift/swift-object-replicator/config-external.sh b/docker/swift/swift-object-replicator/config-external.sh new file mode 100644 index 000000000..0fa02e985 --- /dev/null +++ b/docker/swift/swift-object-replicator/config-external.sh @@ -0,0 +1,18 @@ +#!/bin/bash +SOURCE="/opt/kolla/swift/swift.conf" +TARGET="/etc/swift/swift.conf" +SOURCE_OBJECT_SERVER="/opt/kolla/swift/object-server.conf" +TARGET_OBJECT_SERVER="/etc/swift/object-server.conf" +OWNER="swift" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0640 $TARGET +fi + +if [[ -f "$SOURCE_OBJECT_SERVER" ]]; then + cp $SOURCE_OBJECT_SERVER $TARGET_OBJECT_SERVER + chown ${OWNER}: $TARGET_OBJECT_SERVER + chmod 0640 $TARGET_OBJECT_SERVER +fi diff --git a/docker/swift/swift-object-replicator/start.sh b/docker/swift/swift-object-replicator/start.sh new file mode 100755 index 000000000..203f8864d --- /dev/null +++ b/docker/swift/swift-object-replicator/start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit + +CMD="/usr/bin/swift-object-replicator" +ARGS="/etc/swift/object-server.conf --verbose" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +source /opt/kolla/config-swift.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker/swift/swift-object-server/Dockerfile.j2 b/docker/swift/swift-object-server/Dockerfile.j2 new file mode 100644 index 000000000..ab8a7adee --- /dev/null +++ b/docker/swift/swift-object-server/Dockerfile.j2 @@ -0,0 +1,9 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/swift/swift-object-server/config-external.sh b/docker/swift/swift-object-server/config-external.sh new file mode 100644 index 000000000..a3fb1a2cc --- /dev/null +++ b/docker/swift/swift-object-server/config-external.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +OWNER="swift" + +if [[ -f "/opt/kolla/swift/swift.conf" ]]; then + cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf + chown ${OWNER}: /etc/swift/swift.conf + chmod 0640 /etc/swift/swift.conf +fi + +if [[ -f "/opt/kolla/swift/object.ring.gz" ]]; then + cp /opt/kolla/swift/object.ring.gz /etc/swift/object.ring.gz + chown ${OWNER}: /etc/swift/object.ring.gz + chmod 0640 /etc/swift/object.ring.gz +fi + +if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then + cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz + chown ${OWNER}: /etc/swift/container.ring.gz + chmod 0640 /etc/swift/container.ring.gz +fi + +if [[ -f "/opt/kolla/swift-object-server/object-server.conf" ]]; then + cp /opt/kolla/swift-object-server/object-server.conf /etc/swift/object-server.conf + chown ${OWNER}: /etc/swift/object-server.conf + chmod 0640 /etc/swift/object-server.conf +fi diff --git a/docker/swift/swift-object-server/start.sh b/docker/swift/swift-object-server/start.sh new file mode 100755 index 000000000..f2a32b4d3 --- /dev/null +++ b/docker/swift/swift-object-server/start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit + +CMD="/usr/bin/swift-object-server" +ARGS="/etc/swift/object-server.conf --verbose" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +source /opt/kolla/config-swift.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker/swift/swift-object-updater/Dockerfile.j2 b/docker/swift/swift-object-updater/Dockerfile.j2 new file mode 100644 index 000000000..ab8a7adee --- /dev/null +++ b/docker/swift/swift-object-updater/Dockerfile.j2 @@ -0,0 +1,9 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/swift/swift-object-updater/config-external.sh b/docker/swift/swift-object-updater/config-external.sh new file mode 100644 index 000000000..0fa02e985 --- /dev/null +++ b/docker/swift/swift-object-updater/config-external.sh @@ -0,0 +1,18 @@ +#!/bin/bash +SOURCE="/opt/kolla/swift/swift.conf" +TARGET="/etc/swift/swift.conf" +SOURCE_OBJECT_SERVER="/opt/kolla/swift/object-server.conf" +TARGET_OBJECT_SERVER="/etc/swift/object-server.conf" +OWNER="swift" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0640 $TARGET +fi + +if [[ -f "$SOURCE_OBJECT_SERVER" ]]; then + cp $SOURCE_OBJECT_SERVER $TARGET_OBJECT_SERVER + chown ${OWNER}: $TARGET_OBJECT_SERVER + chmod 0640 $TARGET_OBJECT_SERVER +fi diff --git a/docker/swift/swift-object-updater/start.sh b/docker/swift/swift-object-updater/start.sh new file mode 100755 index 000000000..744344f74 --- /dev/null +++ b/docker/swift/swift-object-updater/start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit + +CMD="/usr/bin/swift-object-updater" +ARGS="/etc/swift/object-server.conf --verbose" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +source /opt/kolla/config-swift.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker/swift/swift-proxy-server/Dockerfile.j2 b/docker/swift/swift-proxy-server/Dockerfile.j2 new file mode 100644 index 000000000..54d024f8b --- /dev/null +++ b/docker/swift/swift-proxy-server/Dockerfile.j2 @@ -0,0 +1,16 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net.kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %} + +RUN yum -y install openstack-swift-proxy && yum clean all + + {% endif %} +{% endif %} + +COPY ./start.sh /start.sh +COPY config-external.sh /opt/kolla/ +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/swift/swift-proxy-server/config-external.sh b/docker/swift/swift-proxy-server/config-external.sh new file mode 100755 index 000000000..434cce7e5 --- /dev/null +++ b/docker/swift/swift-proxy-server/config-external.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +OWNER="swift" + +if [[ -f "/opt/kolla/swift/swift.conf" ]]; then + cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf + chown ${OWNER}: /etc/swift/swift.conf + chmod 0640 /etc/swift/swift.conf +fi + +if [[ -f "/opt/kolla/swift/object.ring.gz" ]]; then + cp /opt/kolla/swift/object.ring.gz /etc/swift/object.ring.gz + chown ${OWNER}: /etc/swift/object.ring.gz + chmod 0640 /etc/swift/object.ring.gz +fi + +if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then + cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz + chown ${OWNER}: /etc/swift/container.ring.gz + chmod 0640 /etc/swift/container.ring.gz +fi + +if [[ -f "/opt/kolla/swift/account.ring.gz" ]]; then + cp /opt/kolla/swift/account.ring.gz /etc/swift/account.ring.gz + chown ${OWNER}: /etc/swift/account.ring.gz + chmod 0640 /etc/swift/account.ring.gz +fi + +if [[ -f "/opt/kolla/swift-proxy-server/proxy-server.conf" ]]; then + cp /opt/kolla/swift-proxy-server/proxy-server.conf /etc/swift/proxy-server.conf + chown ${OWNER}: /etc/swift/proxy-server.conf + chmod 0640 /etc/swift/proxy-server.conf +fi diff --git a/docker/swift/swift-proxy-server/start.sh b/docker/swift/swift-proxy-server/start.sh new file mode 100755 index 000000000..99a142e52 --- /dev/null +++ b/docker/swift/swift-proxy-server/start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit + +CMD="/usr/bin/swift-proxy-server" +ARGS="/etc/swift/proxy-server.conf --verbose" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +source /opt/kolla/config-swift.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS -- cgit v1.2.3