diff options
| author | Steven Dake <sdake@redhat.com> | 2014-09-20 13:14:59 -0700 |
|---|---|---|
| committer | Lars Kellogg-Stedman <lars@redhat.com> | 2014-09-20 19:37:37 -0400 |
| commit | 3c7e0da4677273b160288da30259662742b68032 (patch) | |
| tree | 00e82c0a5e593d73453adb1b1ea42ac43f0479b8 /docker | |
| parent | 87276efbbdc1ec1dc16d688cfc9d9ec7e4d35949 (diff) | |
| download | kolla-3c7e0da4677273b160288da30259662742b68032.tar.gz kolla-3c7e0da4677273b160288da30259662742b68032.zip | |
Add swift boilerplate
Add swift boilerplate for Docker building and Kubernetes support
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/swift/swift-account/Dockerfile | 6 | ||||
| -rwxr-xr-x | docker/swift/swift-account/build | 2 | ||||
| -rw-r--r-- | docker/swift/swift-account/start.sh | 40 | ||||
| -rw-r--r-- | docker/swift/swift-base/24q124 | 8 | ||||
| -rw-r--r-- | docker/swift/swift-base/Dockerfile | 8 | ||||
| -rwxr-xr-x | docker/swift/swift-base/build | 2 | ||||
| -rw-r--r-- | docker/swift/swift-container/Dockerfile | 6 | ||||
| -rwxr-xr-x | docker/swift/swift-container/build | 2 | ||||
| -rw-r--r-- | docker/swift/swift-container/start.sh | 40 | ||||
| -rw-r--r-- | docker/swift/swift-object/Dockerfile | 6 | ||||
| -rwxr-xr-x | docker/swift/swift-object/build | 2 | ||||
| -rw-r--r-- | docker/swift/swift-object/start.sh | 40 | ||||
| -rw-r--r-- | docker/swift/swift-proxy-server/Dockerfile | 6 | ||||
| -rwxr-xr-x | docker/swift/swift-proxy-server/build | 2 | ||||
| -rw-r--r-- | docker/swift/swift-proxy-server/start.sh | 5 | ||||
| -rw-r--r-- | docker/swift/swift.json | 98 |
16 files changed, 273 insertions, 0 deletions
diff --git a/docker/swift/swift-account/Dockerfile b/docker/swift/swift-account/Dockerfile new file mode 100644 index 000000000..49b80e1f6 --- /dev/null +++ b/docker/swift/swift-account/Dockerfile @@ -0,0 +1,6 @@ +FROM fedora-rdo-base +MAINTAINER Steven Dake <sdake@redhat.com> + +ADD ./start.sh /start.sh +CMD ["/start.sh"] + diff --git a/docker/swift/swift-account/build b/docker/swift/swift-account/build new file mode 100755 index 000000000..d1733a86b --- /dev/null +++ b/docker/swift/swift-account/build @@ -0,0 +1,2 @@ +#!/bin/bash +sudo docker build --tag fedora-rdo-swift-account-server . diff --git a/docker/swift/swift-account/start.sh b/docker/swift/swift-account/start.sh new file mode 100644 index 000000000..783df0a66 --- /dev/null +++ b/docker/swift/swift-account/start.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +: ${SWIFT_DB_USER:=swift} +: ${SWIFT_DB_NAME:=swift} +: ${KEYSTONE_AUTH_PROTOCOL:=http} +: ${SWIFT_KEYSTONE_USER:=swift} +: ${ADMIN_TENANT_NAME:=admin} + +if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then + echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2 + exit 1 +fi + +if ! [ "$DB_ROOT_PASSWORD" ]; then + echo "*** Missing DB_ROOT_PASSWORD" >&2 + exit 1 +fi + +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 ${MARIADBMASTER_PORT_3306_TCP_ADDR} -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}://${KEYSTONEMASTER_35357_PORT_35357_TCP_ADDR}: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/swift/swift-base/24q124 b/docker/swift/swift-base/24q124 new file mode 100644 index 000000000..99e00593e --- /dev/null +++ b/docker/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/swift/swift-base/Dockerfile b/docker/swift/swift-base/Dockerfile new file mode 100644 index 000000000..36d7d0e00 --- /dev/null +++ b/docker/swift/swift-base/Dockerfile @@ -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 +config-swift.sh /opt/swift/config-swift.sh diff --git a/docker/swift/swift-base/build b/docker/swift/swift-base/build new file mode 100755 index 000000000..9ad15afd6 --- /dev/null +++ b/docker/swift/swift-base/build @@ -0,0 +1,2 @@ +#!/bin/bash +sudo docker build --tag swift-proxy-base . diff --git a/docker/swift/swift-container/Dockerfile b/docker/swift/swift-container/Dockerfile new file mode 100644 index 000000000..49b80e1f6 --- /dev/null +++ b/docker/swift/swift-container/Dockerfile @@ -0,0 +1,6 @@ +FROM fedora-rdo-base +MAINTAINER Steven Dake <sdake@redhat.com> + +ADD ./start.sh /start.sh +CMD ["/start.sh"] + diff --git a/docker/swift/swift-container/build b/docker/swift/swift-container/build new file mode 100755 index 000000000..866c638ec --- /dev/null +++ b/docker/swift/swift-container/build @@ -0,0 +1,2 @@ +#!/bin/bash +sudo docker build --tag fedora-rdo-swift-container-server . diff --git a/docker/swift/swift-container/start.sh b/docker/swift/swift-container/start.sh new file mode 100644 index 000000000..8e952c729 --- /dev/null +++ b/docker/swift/swift-container/start.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +: ${SWIFT_DB_USER:=swift} +: ${SWIFT_DB_NAME:=swift} +: ${KEYSTONE_AUTH_PROTOCOL:=http} +: ${SWIFT_KEYSTONE_USER:=swift} +: ${ADMIN_TENANT_NAME:=admin} + +if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then + echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2 + exit 1 +fi + +if ! [ "$DB_ROOT_PASSWORD" ]; then + echo "*** Missing DB_ROOT_PASSWORD" >&2 + exit 1 +fi + +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 ${MARIADBMASTER_PORT_3306_TCP_ADDR} -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}://${KEYSTONEMASTER_35357_PORT_35357_TCP_ADDR}: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/swift/swift-object/Dockerfile b/docker/swift/swift-object/Dockerfile new file mode 100644 index 000000000..49b80e1f6 --- /dev/null +++ b/docker/swift/swift-object/Dockerfile @@ -0,0 +1,6 @@ +FROM fedora-rdo-base +MAINTAINER Steven Dake <sdake@redhat.com> + +ADD ./start.sh /start.sh +CMD ["/start.sh"] + diff --git a/docker/swift/swift-object/build b/docker/swift/swift-object/build new file mode 100755 index 000000000..c25af585c --- /dev/null +++ b/docker/swift/swift-object/build @@ -0,0 +1,2 @@ +#!/bin/bash +sudo docker build --tag fedora-rdo-swift-object-server . diff --git a/docker/swift/swift-object/start.sh b/docker/swift/swift-object/start.sh new file mode 100644 index 000000000..4b294d508 --- /dev/null +++ b/docker/swift/swift-object/start.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +: ${SWIFT_DB_USER:=swift} +: ${SWIFT_DB_NAME:=swift} +: ${KEYSTONE_AUTH_PROTOCOL:=http} +: ${SWIFT_KEYSTONE_USER:=swift} +: ${ADMIN_TENANT_NAME:=admin} + +if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then + echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2 + exit 1 +fi + +if ! [ "$DB_ROOT_PASSWORD" ]; then + echo "*** Missing DB_ROOT_PASSWORD" >&2 + exit 1 +fi + +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 ${MARIADBMASTER_PORT_3306_TCP_ADDR} -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}://${KEYSTONEMASTER_35357_PORT_35357_TCP_ADDR}: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/swift/swift-proxy-server/Dockerfile b/docker/swift/swift-proxy-server/Dockerfile new file mode 100644 index 000000000..77e6762a4 --- /dev/null +++ b/docker/swift/swift-proxy-server/Dockerfile @@ -0,0 +1,6 @@ +FROM fedora-rdo-swift-base +MAINTAINER Steven Dake <sdake@redhat.com> + +ADD ./start.sh /start.sh +CMD ["/start.sh"] + diff --git a/docker/swift/swift-proxy-server/build b/docker/swift/swift-proxy-server/build new file mode 100755 index 000000000..376c1fb5b --- /dev/null +++ b/docker/swift/swift-proxy-server/build @@ -0,0 +1,2 @@ +#!/bin/bash +sudo docker build --tag fedora-rdo-swift-proxy-server . diff --git a/docker/swift/swift-proxy-server/start.sh b/docker/swift/swift-proxy-server/start.sh new file mode 100644 index 000000000..dff824f46 --- /dev/null +++ b/docker/swift/swift-proxy-server/start.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +sh /opt/swift/config-swift.sh proxy + +exec /usr/bin/swift-proxy-server diff --git a/docker/swift/swift.json b/docker/swift/swift.json new file mode 100644 index 000000000..43b23827c --- /dev/null +++ b/docker/swift/swift.json @@ -0,0 +1,98 @@ +{ + "id": "swift", + "desiredState": { + "manifest": { + "version": "v1beta1", + "id": "swift-1", + "containers": [ + { + "name": "swift-account-server", + "image": "fedora-rdo-swift-account-server", + "ports": [ + {"containerPort": 9292}, + ], + "env": [ + { + "name": "DB_ROOT_PASSWORD", + "value": "password" + }, + { + "name": "SWIFT_DB_PASSWORD", + "value": "swiftdbpassword" + }, + { + "name": "KEYSTONE_ADMIN_TOKEN", + "value": "ADMINTOKEN" + }, + ] + }, + { + "name": "swift-container-server", + "image": "fedora-rdo-swift-container-server", + "ports": [ + {"containerPort": 9292}, + ], + "env": [ + { + "name": "DB_ROOT_PASSWORD", + "value": "password" + }, + { + "name": "SWIFT_DB_PASSWORD", + "value": "swiftdbpassword" + }, + { + "name": "KEYSTONE_ADMIN_TOKEN", + "value": "ADMINTOKEN" + }, + ] + }, + { + "name": "swift-object-server", + "image": "fedora-rdo-swift-object-server", + "ports": [ + {"containerPort": 9292}, + ], + "env": [ + { + "name": "DB_ROOT_PASSWORD", + "value": "password" + }, + { + "name": "SWIFT_DB_PASSWORD", + "value": "swiftdbpassword" + }, + { + "name": "KEYSTONE_ADMIN_TOKEN", + "value": "ADMINTOKEN" + }, + ] + }, + { + "name": "swift-proxy-server", + "image": "fedora-rdo-swift-proxy-server", + "ports": [ + {"containerPort": 9292}, + ], + "env": [ + { + "name": "DB_ROOT_PASSWORD", + "value": "password" + }, + { + "name": "SWIFT_DB_PASSWORD", + "value": "swiftdbpassword" + }, + { + "name": "KEYSTONE_ADMIN_TOKEN", + "value": "ADMINTOKEN" + }, + ] + }, + ] + } + }, + "labels": { + "name": "keystone-master" + } +} |
