diff options
| author | Sam Yaple <sam@yaple.net> | 2015-08-28 12:16:53 +0000 |
|---|---|---|
| committer | Sam Yaple <sam@yaple.net> | 2015-08-28 13:33:50 +0000 |
| commit | cbd42ca6e90cca2ff4b84f5e4e46224e6455e8b2 (patch) | |
| tree | 2e4256b6b7b8339da11b1d17250378596e61605b /docker/swift/swift-object-base | |
| parent | 3b5380ade021c9884551f427441cbfc0122eb0f0 (diff) | |
| download | kolla-cbd42ca6e90cca2ff4b84f5e4e46224e6455e8b2.tar.gz kolla-cbd42ca6e90cca2ff4b84f5e4e46224e6455e8b2.zip | |
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
Diffstat (limited to 'docker/swift/swift-object-base')
| -rw-r--r-- | docker/swift/swift-object-base/Dockerfile.j2 | 14 | ||||
| -rw-r--r-- | docker/swift/swift-object-base/config-swift-object.sh | 72 |
2 files changed, 86 insertions, 0 deletions
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} |
