diff options
| author | Sam Yaple <sam@yaple.net> | 2015-05-13 06:46:24 -0500 |
|---|---|---|
| committer | Sam Yaple <sam@yaple.net> | 2015-05-15 01:32:22 -0500 |
| commit | 13062e23e86b5d86020949754540460cb5b0b4fe (patch) | |
| tree | e0b3c8411418949a3d8df221da7c8cb2831b6d5d /docker/centos/binary/swift | |
| parent | 354ba01c8f5c7e1695cbea3bfc07aee5b75e76d9 (diff) | |
| download | kolla-13062e23e86b5d86020949754540460cb5b0b4fe.tar.gz kolla-13062e23e86b5d86020949754540460cb5b0b4fe.zip | |
Restructure builds to allow more flexibility
As a restructure, nothing is changed from the original behaviour and
naming despite the file structure changing. The symlinks to build had
to be updated generating lots of "deleted" and "new_file".
The new structure is:
docker/${base_distro}/${type}/${container}
base_distro == centos, ubuntu, fedora, etc
type == source, binary, rdo
type rdo is a symlink to binary for backwards compatibility
Two new flags are added to the build-all script to support the ability
to support different base distros and a flag to support binary or source
containers.
There are several added folders that are empty to hold the directory
structure for future containers of these types.
To use a prefix other than centos-rdo- you can set PREFIX in the toplevel
directory .buildconf file
Change-Id: Ifc7bac0d827470f506c8b5c004a833da9ce13b90
Diffstat (limited to 'docker/centos/binary/swift')
15 files changed, 155 insertions, 0 deletions
diff --git a/docker/centos/binary/swift/swift-account/Dockerfile b/docker/centos/binary/swift/swift-account/Dockerfile new file mode 100644 index 000000000..2c26802e3 --- /dev/null +++ b/docker/centos/binary/swift/swift-account/Dockerfile @@ -0,0 +1,6 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%swift-base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +ADD ./start.sh /start.sh +CMD ["/start.sh"] + diff --git a/docker/centos/binary/swift/swift-account/build b/docker/centos/binary/swift/swift-account/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/swift/swift-account/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/swift/swift-account/start.sh b/docker/centos/binary/swift/swift-account/start.sh new file mode 100644 index 000000000..f634f6e54 --- /dev/null +++ b/docker/centos/binary/swift/swift-account/start.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +: ${SWIFT_DB_USER:=swift} +: ${SWIFT_DB_NAME:=swift} +: ${KEYSTONE_AUTH_PROTOCOL:=http} +: ${SWIFT_KEYSTONE_USER:=swift} +: ${ADMIN_TENANT_NAME:=admin} + +check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ + SWIFT_ADMIN_PASSWORD +fail_unless_db +fail_unless_os_service_running keystone + +if ! [ "$SWIFT_DB_PASSWORD" ]; then + SWIFT_DB_PASSWORD=$(openssl rand -hex 15) + export SWIFT_DB_PASSWORD +fi + +sh /opt/swift/config-swift.sh account-server + +mysql -h ${MARIADB_SERVICE_HOST} -u root \ + -p${DB_ROOT_PASSWORD} mysql <<EOF +CREATE DATABASE IF NOT EXISTS ${SWIFT_DB_NAME}; +GRANT ALL PRIVILEGES ON swift* TO + '${SWIFT_DB_USER}'@'%' IDENTIFIED BY '${SWIFT_DB_PASSWORD}' +EOF + +export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" +export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0" + +/bin/keystone user-create --name ${SWIFT_KEYSTONE_USER} --pass ${SWIFT_ADMIN_PASSWORD} +/bin/keystone role-create --name ${SWIFT_KEYSTONE_USER} +/bin/keystone user-role-add --user ${SWIFT_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME} + +exec /usr/bin/swift-engine diff --git a/docker/centos/binary/swift/swift-base/24q124 b/docker/centos/binary/swift/swift-base/24q124 new file mode 100644 index 000000000..99e00593e --- /dev/null +++ b/docker/centos/binary/swift/swift-base/24q124 @@ -0,0 +1,8 @@ +FROM fedora-rdo-base +MAINTAINER Steven Dake <sdake@redhat.com> + +RUN yum -y install openstack-utils openstack-swift && yum clean all + +# These will come after we sort out start time config +RUN mkdir /opt/swift +#COPY config-swift.sh /opt/swift/config-swift.sh diff --git a/docker/centos/binary/swift/swift-base/Dockerfile b/docker/centos/binary/swift/swift-base/Dockerfile new file mode 100644 index 000000000..59600a23d --- /dev/null +++ b/docker/centos/binary/swift/swift-base/Dockerfile @@ -0,0 +1,8 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum -y install openstack-utils openstack-swift && yum clean all + +# These will come after we sort out start time config +RUN mkdir /opt/swift +config-swift.sh /opt/swift/config-swift.sh diff --git a/docker/centos/binary/swift/swift-base/build b/docker/centos/binary/swift/swift-base/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/swift/swift-base/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/swift/swift-container/Dockerfile b/docker/centos/binary/swift/swift-container/Dockerfile new file mode 100644 index 000000000..2c26802e3 --- /dev/null +++ b/docker/centos/binary/swift/swift-container/Dockerfile @@ -0,0 +1,6 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%swift-base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +ADD ./start.sh /start.sh +CMD ["/start.sh"] + diff --git a/docker/centos/binary/swift/swift-container/build b/docker/centos/binary/swift/swift-container/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/swift/swift-container/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/swift/swift-container/start.sh b/docker/centos/binary/swift/swift-container/start.sh new file mode 100644 index 000000000..6e303872b --- /dev/null +++ b/docker/centos/binary/swift/swift-container/start.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +: ${SWIFT_DB_USER:=swift} +: ${SWIFT_DB_NAME:=swift} +: ${KEYSTONE_AUTH_PROTOCOL:=http} +: ${SWIFT_KEYSTONE_USER:=swift} +: ${ADMIN_TENANT_NAME:=admin} + +check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ + SWIFT_ADMIN_PASSWORD +fail_unless_db +fail_unless_os_service_running keystone + +if ! [ "$SWIFT_DB_PASSWORD" ]; then + SWIFT_DB_PASSWORD=$(openssl rand -hex 15) + export SWIFT_DB_PASSWORD +fi + +sh /opt/swift/config-swift.sh container + +mysql -h ${MARIADB_SERVICE_HOST} -u root \ + -p${DB_ROOT_PASSWORD} mysql <<EOF +CREATE DATABASE IF NOT EXISTS ${SWIFT_DB_NAME}; +GRANT ALL PRIVILEGES ON swift* TO + '${SWIFT_DB_USER}'@'%' IDENTIFIED BY '${SWIFT_DB_PASSWORD}' +EOF + +export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" +export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0" + +/bin/keystone user-create --name ${SWIFT_KEYSTONE_USER} --pass ${SWIFT_ADMIN_PASSWORD} +/bin/keystone role-create --name ${SWIFT_KEYSTONE_USER} +/bin/keystone user-role-add --user ${SWIFT_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME} + +exec /usr/bin/swift-container-server diff --git a/docker/centos/binary/swift/swift-object/Dockerfile b/docker/centos/binary/swift/swift-object/Dockerfile new file mode 100644 index 000000000..2c26802e3 --- /dev/null +++ b/docker/centos/binary/swift/swift-object/Dockerfile @@ -0,0 +1,6 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%swift-base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +ADD ./start.sh /start.sh +CMD ["/start.sh"] + diff --git a/docker/centos/binary/swift/swift-object/build b/docker/centos/binary/swift/swift-object/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/swift/swift-object/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/swift/swift-object/start.sh b/docker/centos/binary/swift/swift-object/start.sh new file mode 100644 index 000000000..8626e7678 --- /dev/null +++ b/docker/centos/binary/swift/swift-object/start.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +: ${SWIFT_DB_USER:=swift} +: ${SWIFT_DB_NAME:=swift} +: ${KEYSTONE_AUTH_PROTOCOL:=http} +: ${SWIFT_KEYSTONE_USER:=swift} +: ${ADMIN_TENANT_NAME:=admin} + +check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ + SWIFT_ADMIN_PASSWORD +fail_unless_db +fail_unless_os_service_running keystone + +if ! [ "$SWIFT_DB_PASSWORD" ]; then + SWIFT_DB_PASSWORD=$(openssl rand -hex 15) + export SWIFT_DB_PASSWORD +fi + +sh /opt/swift/config-swift.sh engine + +mysql -h ${MARIADB_SERVICE_HOST} -u root \ + -p${DB_ROOT_PASSWORD} mysql <<EOF +CREATE DATABASE IF NOT EXISTS ${SWIFT_DB_NAME}; +GRANT ALL PRIVILEGES ON swift* TO + '${SWIFT_DB_USER}'@'%' IDENTIFIED BY '${SWIFT_DB_PASSWORD}' +EOF + +export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" +export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0" + +/bin/keystone user-create --name ${SWIFT_KEYSTONE_USER} --pass ${SWIFT_ADMIN_PASSWORD} +/bin/keystone role-create --name ${SWIFT_KEYSTONE_USER} +/bin/keystone user-role-add --user ${SWIFT_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME} + +exec /usr/bin/swift-object-server diff --git a/docker/centos/binary/swift/swift-proxy-server/Dockerfile b/docker/centos/binary/swift/swift-proxy-server/Dockerfile new file mode 100644 index 000000000..2c26802e3 --- /dev/null +++ b/docker/centos/binary/swift/swift-proxy-server/Dockerfile @@ -0,0 +1,6 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%swift-base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +ADD ./start.sh /start.sh +CMD ["/start.sh"] + diff --git a/docker/centos/binary/swift/swift-proxy-server/build b/docker/centos/binary/swift/swift-proxy-server/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/swift/swift-proxy-server/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/swift/swift-proxy-server/start.sh b/docker/centos/binary/swift/swift-proxy-server/start.sh new file mode 100644 index 000000000..3f387d187 --- /dev/null +++ b/docker/centos/binary/swift/swift-proxy-server/start.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +sh /opt/swift/config-swift.sh proxy + +exec /usr/bin/swift-proxy-server |
