aboutsummaryrefslogtreecommitdiff
path: root/docker/swift/swift-object-base
diff options
context:
space:
mode:
authorSam Yaple <sam@yaple.net>2015-09-30 11:23:39 +0000
committerSam Yaple <sam@yaple.net>2015-10-06 03:30:26 +0000
commitcb4e875ae1e1ec2e6ddf8a6b37f42283697fd50c (patch)
treeda1028203186b45f869828dc5b4d17c13fadea94 /docker/swift/swift-object-base
parent3a56ce182662bcc9cf753024275034907ea36032 (diff)
downloadkolla-cb4e875ae1e1ec2e6ddf8a6b37f42283697fd50c.tar.gz
kolla-cb4e875ae1e1ec2e6ddf8a6b37f42283697fd50c.zip
Common start.sh
The majority of the start.sh code is identical. This removes that duplicate code while still maintaining the ability to call code in a specific container. The start.sh is moved into /usr/local/bin/kolla_start in the container The extend_start.sh script is called by the kolla_start script at the location /usr/local/bin/kolla_extend_start . It always exists because we create a noop kolla_extend_start in the base directory. We override it with extend_start.sh in a specific image should we need to. Of note, the neutron-agents container is exempt from this new structure due to it being a fat container. Additionally, we fix the inconsistent permissions throughout. 644 for repo files and the scripts are set to 755 via a Docker RUN command to ensure someones local perm change won't break upstream containers. Change-Id: I7da8d19965463ad30ee522a71183e3f092e0d6ad Closes-Bug: #1501295
Diffstat (limited to 'docker/swift/swift-object-base')
-rw-r--r--docker/swift/swift-object-base/Dockerfile.j25
-rw-r--r--docker/swift/swift-object-base/config-swift-object.sh72
2 files changed, 1 insertions, 76 deletions
diff --git a/docker/swift/swift-object-base/Dockerfile.j2 b/docker/swift/swift-object-base/Dockerfile.j2
index 5479ac2e8..f89d8da88 100644
--- a/docker/swift/swift-object-base/Dockerfile.j2
+++ b/docker/swift/swift-object-base/Dockerfile.j2
@@ -4,11 +4,8 @@ MAINTAINER Kolla Project (https://launchpad.net.kolla)
{% if install_type == 'binary' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
-RUN yum -y install \
- openstack-swift-object \
+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
deleted file mode 100644
index 0d3d58dc3..000000000
--- a/docker/swift/swift-object-base/config-swift-object.sh
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/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}