[Ceph] Add Ceph RBD and CephFS provisioners images

Add Dockerfiles for Ceph RBD and CephFS provisioners.
Add Zuul checks for both provisioners.

Change-Id: I6f04987a60af9e81ea826dc1470d3d63bd5f637e
This commit is contained in:
Dmitrii Kabanov 2019-04-25 20:06:55 -07:00
parent bd9bdf0d0e
commit 264b8c8f00
6 changed files with 199 additions and 0 deletions

View File

@ -0,0 +1,29 @@
ARG baseimg=docker.io/ubuntu:xenial
FROM ${baseimg}
ARG CEPH_RELEASE=mimic
ARG CEPH_REPO=https://mirror.mirantis.com/testing/ceph-mimic/xenial/
ARG CEPH_KEY=https://mirror.mirantis.com/testing/ceph-mimic/xenial/archive-ceph-mimic.key
ADD ${CEPH_KEY} /etc/apt/ceph-${CEPH_RELEASE}.key
RUN set -ex ;\
export DEBIAN_FRONTEND=noninteractive ;\
apt-get update ;\
apt-get install --no-install-recommends -y \
apt-transport-https \
ca-certificates ;\
apt-key add /etc/apt/ceph-${CEPH_RELEASE}.key ;\
rm -f /etc/apt/ceph-${CEPH_RELEASE}.key ;\
echo "deb ${CEPH_REPO} xenial main" | tee /etc/apt/sources.list.d/ceph.list ;\
apt-get update ;\
apt-get dist-upgrade -y ;\
apt-get install --no-install-recommends -y \
ceph \
ceph-common ;\
rm -rf /var/lib/apt/lists/* ;\
rm -rf /usr/share/doc/ ;\
rm -rf /usr/share/man/ ;\
rm -rf /usr/share/locale/
COPY --from=quay.io/external_storage/cephfs-provisioner:v1.1.0-k8s1.10 /usr/local/bin/cephfs* /usr/local/bin/
RUN chmod -v o+x /usr/local/bin/cephfs_provisioner

View File

@ -0,0 +1,14 @@
#!/bin/bash
SCRIPT=`realpath $0`
SCRIPT_DIR=`dirname ${SCRIPT}`
## Only build from main folder
cd ${SCRIPT_DIR}/..
IMAGE="ceph-cephfs-provisioner"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_xenial}
REGISTRY_URI=${REGISTRY_URI:-"openstackhelm/"}
EXTRA_TAG_INFO=${EXTRA_TAG_INFO:-""}
docker build -f ${IMAGE}/Dockerfile.${DISTRO} --network=host -t ${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}${EXTRA_TAG_INFO} ${extra_build_args} ${IMAGE}
cd -

View File

@ -0,0 +1,28 @@
ARG baseimg=docker.io/ubuntu:xenial
FROM ${baseimg}
ARG CEPH_RELEASE=mimic
ARG CEPH_REPO=https://mirror.mirantis.com/testing/ceph-mimic/xenial/
ARG CEPH_KEY=https://mirror.mirantis.com/testing/ceph-mimic/xenial/archive-ceph-mimic.key
ADD ${CEPH_KEY} /etc/apt/ceph-${CEPH_RELEASE}.key
RUN set -ex ;\
export DEBIAN_FRONTEND=noninteractive ;\
apt-get update ;\
apt-get install --no-install-recommends -y \
apt-transport-https \
ca-certificates ;\
apt-key add /etc/apt/ceph-${CEPH_RELEASE}.key ;\
rm -f /etc/apt/ceph-${CEPH_RELEASE}.key ;\
echo "deb ${CEPH_REPO} xenial main" | tee /etc/apt/sources.list.d/ceph.list ;\
apt-get update ;\
apt-get dist-upgrade -y ;\
apt-get install --no-install-recommends -y \
ceph-common ;\
rm -rf /var/lib/apt/lists/* ;\
rm -rf /usr/share/doc/ ;\
rm -rf /usr/share/man/ ;\
rm -rf /usr/share/locale/
COPY --from=quay.io/external_storage/rbd-provisioner:v1.1.0-k8s1.10 /usr/local/bin/rbd-provisioner /usr/local/bin/rbd-provisioner
ENTRYPOINT ["/usr/local/bin/rbd-provisioner"]

14
ceph-rbd-provisioner/build.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
SCRIPT=`realpath $0`
SCRIPT_DIR=`dirname ${SCRIPT}`
## Only build from main folder
cd ${SCRIPT_DIR}/..
IMAGE="ceph-rbd-provisioner"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_xenial}
REGISTRY_URI=${REGISTRY_URI:-"openstackhelm/"}
EXTRA_TAG_INFO=${EXTRA_TAG_INFO:-""}
docker build -f ${IMAGE}/Dockerfile.${DISTRO} --network=host -t ${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}${EXTRA_TAG_INFO} ${extra_build_args} ${IMAGE}
cd -

View File

@ -0,0 +1,57 @@
---
# Copyright 2019, SUSE LINUX GmbH.
#
# 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.
- project:
check:
jobs:
- openstack-helm-images-build-ceph-cephfs-provisioner
gate:
jobs:
- openstack-helm-images-upload-ceph-cephfs-provisioner
promote:
jobs:
- openstack-helm-images-promote-ceph-cephfs-provisioner
periodic:
jobs:
- openstack-helm-images-build-ceph-cephfs-provisioner
- job:
name: openstack-helm-images-build-ceph-cephfs-provisioner
parent: openstack-helm-images-build
description: Build ceph-cephfs-provisioner images
vars: &ceph-cephfs-provisioner_vars
docker_images:
- context: ceph-cephfs-provisioner
repository: openstackhelm/ceph-cephfs-provisioner
dockerfile: Dockerfile.ubuntu_xenial
tags:
- latest-ubuntu_xenial
files: &ceph-cephfs-provisioner_files
- ceph-cephfs-provisioner/.*
- zuul.d/ceph-cephfs-provisioner.yaml
- job:
name: openstack-helm-images-upload-ceph-cephfs-provisioner
parent: openstack-helm-images-upload
description: Build and upload ceph-cephfs-provisioner images
vars: *ceph-cephfs-provisioner_vars
files: *ceph-cephfs-provisioner_files
- job:
name: openstack-helm-images-promote-ceph-cephfs-provisioner
parent: openstack-helm-images-promote
description: Promote a previously published ceph-cephfs-provisioner image to latest.
vars: *ceph-cephfs-provisioner_vars
files: *ceph-cephfs-provisioner_files

View File

@ -0,0 +1,57 @@
---
# Copyright 2019, SUSE LINUX GmbH.
#
# 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.
- project:
check:
jobs:
- openstack-helm-images-build-ceph-rbd-provisioner
gate:
jobs:
- openstack-helm-images-upload-ceph-rbd-provisioner
promote:
jobs:
- openstack-helm-images-promote-ceph-rbd-provisioner
periodic:
jobs:
- openstack-helm-images-build-ceph-rbd-provisioner
- job:
name: openstack-helm-images-build-ceph-rbd-provisioner
parent: openstack-helm-images-build
description: Build ceph-rbd-provisioner images
vars: &ceph-rbd-provisioner_vars
docker_images:
- context: ceph-rbd-provisioner
repository: openstackhelm/ceph-rbd-provisioner
dockerfile: Dockerfile.ubuntu_xenial
tags:
- latest-ubuntu_xenial
files: &ceph-rbd-provisioner_files
- ceph-rbd-provisioner/.*
- zuul.d/ceph-rbd-provisioner.yaml
- job:
name: openstack-helm-images-upload-ceph-rbd-provisioner
parent: openstack-helm-images-upload
description: Build and upload ceph-rbd-provisioner images
vars: *ceph-rbd-provisioner_vars
files: *ceph-rbd-provisioner_files
- job:
name: openstack-helm-images-promote-ceph-rbd-provisioner
parent: openstack-helm-images-promote
description: Promote a previously published ceph-rbd-provisioner image to latest.
vars: *ceph-rbd-provisioner_vars
files: *ceph-rbd-provisioner_files