Add openstack-helm repo images
This adds the building of the images present in the OpenStack-Helm repository. Images follow the same process as images from the osh-infra repository. Kubernetes-entrypoint is not used anymore and therefore was not migrated over. Likewise, LOCI is not following these images building process, and therefore will be included in a different patch. The manual build script do not expose the extra arguments previously exposed, like KUBE_VERSION or OVS_VERSION by default. It also means a future tagged version of this repository will use the KUBE_VERSION or OVS_VERSION that are in tree, and therefore very explicit. Change-Id: If4ff73c37ed8bccb9f6951f3ccdbb7640e9b55a5
This commit is contained in:
parent
8468a18ae3
commit
0acfaab7b1
|
@ -0,0 +1,40 @@
|
||||||
|
FROM docker.io/ubuntu:xenial
|
||||||
|
LABEL maintainer="pete.birley@att.com"
|
||||||
|
|
||||||
|
ARG KUBE_VERSION=v1.10.3
|
||||||
|
ARG CEPH_RELEASE=luminous
|
||||||
|
|
||||||
|
ADD https://download.ceph.com/keys/release.asc /etc/apt/ceph-release.asc
|
||||||
|
RUN set -ex ;\
|
||||||
|
export DEBIAN_FRONTEND=noninteractive ;\
|
||||||
|
apt-key add /etc/apt/ceph-release.asc ;\
|
||||||
|
rm -f /etc/apt/ceph-release.asc ;\
|
||||||
|
echo deb http://download.ceph.com/debian-${CEPH_RELEASE}/ xenial main | tee /etc/apt/sources.list.d/ceph.list ;\
|
||||||
|
TMP_DIR=$(mktemp --directory) ;\
|
||||||
|
cd ${TMP_DIR} ;\
|
||||||
|
apt-get update ;\
|
||||||
|
apt-get dist-upgrade -y ;\
|
||||||
|
apt-get install --no-install-recommends -y \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
ceph \
|
||||||
|
curl \
|
||||||
|
gcc \
|
||||||
|
python \
|
||||||
|
python-dev \
|
||||||
|
jq ;\
|
||||||
|
curl -sSL https://bootstrap.pypa.io/get-pip.py | python ;\
|
||||||
|
pip --no-cache-dir install --upgrade \
|
||||||
|
crush \
|
||||||
|
rgwadmin \
|
||||||
|
six \
|
||||||
|
python-openstackclient \
|
||||||
|
python-swiftclient ;\
|
||||||
|
curl -sSL https://dl.k8s.io/${KUBE_VERSION}/kubernetes-client-linux-amd64.tar.gz | tar -zxv --strip-components=1 ;\
|
||||||
|
mv ${TMP_DIR}/client/bin/kubectl /usr/bin/kubectl ;\
|
||||||
|
chmod +x /usr/bin/kubectl ;\
|
||||||
|
rm -rf ${TMP_DIR} ;\
|
||||||
|
apt-get purge -y --auto-remove \
|
||||||
|
python-dev \
|
||||||
|
gcc ;\
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
SCRIPT=`realpath $0`
|
||||||
|
SCRIPT_DIR=`dirname ${SCRIPT}`
|
||||||
|
## Only build from main folder
|
||||||
|
cd ${SCRIPT_DIR}/..
|
||||||
|
|
||||||
|
IMAGE="ceph-config-helper"
|
||||||
|
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 -
|
|
@ -0,0 +1,22 @@
|
||||||
|
==================================
|
||||||
|
ceph-config-helper container image
|
||||||
|
==================================
|
||||||
|
|
||||||
|
This container builds a small image with kubectl and some other
|
||||||
|
utilites for use in the ceph charts or interact with a ceph
|
||||||
|
deployment.
|
||||||
|
|
||||||
|
Manual build for Ubuntu Xenial
|
||||||
|
==============================
|
||||||
|
|
||||||
|
Here are the instructions for building Xenial image:
|
||||||
|
|
||||||
|
.. literalinclude:: ../../ceph-config-helper/build.sh
|
||||||
|
:lines: 7-12
|
||||||
|
:language: shell
|
||||||
|
|
||||||
|
Alternatively, this step can be performed by running the script directly:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
./ceph-config-helper/build.sh
|
|
@ -0,0 +1,24 @@
|
||||||
|
==========================
|
||||||
|
gate-utils container image
|
||||||
|
==========================
|
||||||
|
|
||||||
|
This container builds a small image with ipcalc for use in both the
|
||||||
|
multinode checks and development.
|
||||||
|
|
||||||
|
Manual build
|
||||||
|
============
|
||||||
|
|
||||||
|
Debian
|
||||||
|
------
|
||||||
|
|
||||||
|
Here are the instructions for building the default Debian image:
|
||||||
|
|
||||||
|
.. literalinclude:: ../../gate-utils/build.sh
|
||||||
|
:lines: 7-12
|
||||||
|
:language: shell
|
||||||
|
|
||||||
|
Alternatively, this step can be performed by running the script directly:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
./gate-utils/build.sh
|
|
@ -63,7 +63,11 @@ an overview of the build process for each container.
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:caption: Contents:
|
:caption: Contents:
|
||||||
|
|
||||||
|
ceph-config-helper
|
||||||
|
gate-utils
|
||||||
libvirt
|
libvirt
|
||||||
mariadb
|
mariadb
|
||||||
|
openvswitch
|
||||||
|
tempest
|
||||||
vbmc
|
vbmc
|
||||||
loci
|
loci
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
===========================
|
||||||
|
OpenvSwitch container image
|
||||||
|
===========================
|
||||||
|
|
||||||
|
This container builds a small image with OpenvSwitch for use with
|
||||||
|
OpenStack-Helm.
|
||||||
|
|
||||||
|
Manual build
|
||||||
|
============
|
||||||
|
|
||||||
|
Debian
|
||||||
|
------
|
||||||
|
|
||||||
|
Here are the instructions for building the default Debian image:
|
||||||
|
|
||||||
|
.. literalinclude:: ../../openvswitch/build.sh
|
||||||
|
:lines: 7-12
|
||||||
|
:language: shell
|
||||||
|
|
||||||
|
Alternatively, this step can be performed by running the script directly:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
./openvswitch/build.sh
|
|
@ -0,0 +1,21 @@
|
||||||
|
=======================
|
||||||
|
Tempest container image
|
||||||
|
=======================
|
||||||
|
|
||||||
|
This image is installing tempest with a few tempest plugins from the
|
||||||
|
head of the master branch in OpenStack.
|
||||||
|
|
||||||
|
Manual build for Ubuntu Xenial
|
||||||
|
==============================
|
||||||
|
|
||||||
|
Here are the instructions for building Xenial image:
|
||||||
|
|
||||||
|
.. literalinclude:: ../../tempest/build.sh
|
||||||
|
:lines: 7-12
|
||||||
|
:language: shell
|
||||||
|
|
||||||
|
Alternatively, this step can be performed by running the script directly:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
./tempest/build.sh
|
|
@ -0,0 +1,3 @@
|
||||||
|
FROM gcr.io/google-containers/debian-base-amd64:0.3
|
||||||
|
|
||||||
|
RUN /usr/local/bin/clean-install ipcalc
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
SCRIPT=`realpath $0`
|
||||||
|
SCRIPT_DIR=`dirname ${SCRIPT}`
|
||||||
|
## Only build from main folder
|
||||||
|
cd ${SCRIPT_DIR}/..
|
||||||
|
|
||||||
|
IMAGE="gate-utils"
|
||||||
|
VERSION=${VERSION:-latest}
|
||||||
|
DISTRO=${DISTRO:-debian}
|
||||||
|
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 -
|
|
@ -0,0 +1,56 @@
|
||||||
|
FROM k8s.gcr.io/debian-iptables-amd64:v10
|
||||||
|
LABEL maintainer="pete.birley@att.com"
|
||||||
|
|
||||||
|
ARG OVS_VERSION=2.8.1
|
||||||
|
|
||||||
|
RUN set -ex ;\
|
||||||
|
export DEBIAN_FRONTEND=noninteractive ;\
|
||||||
|
apt-get update ;\
|
||||||
|
apt-get upgrade -y ;\
|
||||||
|
apt-get install --no-install-recommends -y \
|
||||||
|
bash ;\
|
||||||
|
apt-get install --no-install-recommends -y \
|
||||||
|
build-essential \
|
||||||
|
curl \
|
||||||
|
libatomic1 \
|
||||||
|
libssl1.1 \
|
||||||
|
openssl \
|
||||||
|
uuid-runtime \
|
||||||
|
graphviz \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bzip2 \
|
||||||
|
debhelper \
|
||||||
|
dh-autoreconf \
|
||||||
|
libssl-dev \
|
||||||
|
libtool \
|
||||||
|
python-all \
|
||||||
|
python-six \
|
||||||
|
python-twisted-conch \
|
||||||
|
python-zopeinterface ;\
|
||||||
|
TMP_DIR=$(mktemp -d) ;\
|
||||||
|
curl -sSL http://openvswitch.org/releases/openvswitch-${OVS_VERSION}.tar.gz | tar xz -C ${TMP_DIR} --strip-components=1 ;\
|
||||||
|
cd ${TMP_DIR} ;\
|
||||||
|
./boot.sh ;\
|
||||||
|
./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc ;\
|
||||||
|
make ;\
|
||||||
|
make install ;\
|
||||||
|
cd / ;\
|
||||||
|
rm -rf ${TMP_DIR} ;\
|
||||||
|
apt-get purge --auto-remove -y \
|
||||||
|
build-essential \
|
||||||
|
curl \
|
||||||
|
graphviz \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bzip2 \
|
||||||
|
debhelper \
|
||||||
|
dh-autoreconf \
|
||||||
|
libssl-dev \
|
||||||
|
libtool \
|
||||||
|
python-all \
|
||||||
|
python-six \
|
||||||
|
python-twisted-conch \
|
||||||
|
python-zopeinterface ;\
|
||||||
|
clean-install \
|
||||||
|
iproute2 ;\
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
SCRIPT=`realpath $0`
|
||||||
|
SCRIPT_DIR=`dirname ${SCRIPT}`
|
||||||
|
## Only build from main folder
|
||||||
|
cd ${SCRIPT_DIR}/..
|
||||||
|
|
||||||
|
IMAGE="openvswitch"
|
||||||
|
VERSION=${VERSION:-latest}
|
||||||
|
DISTRO=${DISTRO:-debian}
|
||||||
|
REGISTRY_URI=${REGISTRY_URI:-"openstackhelm/"}
|
||||||
|
EXTRA_TAG_INFO=${EXTRA_TAB_INFO:-""}
|
||||||
|
docker build -f ${IMAGE}/Dockerfile.${DISTRO} --network=host -t ${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}${EXTRA_TAG_INFO} ${extra_build_args} ${IMAGE}
|
||||||
|
|
||||||
|
cd -
|
|
@ -0,0 +1,24 @@
|
||||||
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
|
RUN set -ex ;\
|
||||||
|
export DEBIAN_FRONTEND=noninteractive ;\
|
||||||
|
apt-get update ;\
|
||||||
|
apt-get upgrade -y ;\
|
||||||
|
apt-get install netbase -y ;\
|
||||||
|
apt-get install --no-install-recommends -y \
|
||||||
|
python-dev \
|
||||||
|
build-essential \
|
||||||
|
python-pip \
|
||||||
|
git ;\
|
||||||
|
git clone https://git.openstack.org/openstack/tempest ;\
|
||||||
|
git clone https://git.openstack.org/openstack/cinder-tempest-plugin ;\
|
||||||
|
git clone https://git.openstack.org/openstack/heat-tempest-plugin ;\
|
||||||
|
git clone https://git.openstack.org/openstack/keystone-tempest-plugin ;\
|
||||||
|
git clone https://git.openstack.org/openstack/neutron-tempest-plugin ;\
|
||||||
|
pip install -U setuptools ;\
|
||||||
|
pip install wheel ;\
|
||||||
|
pip install -e tempest/ \
|
||||||
|
cinder-tempest-plugin/ \
|
||||||
|
heat-tempest-plugin/ \
|
||||||
|
keystone-tempest-plugin/ \
|
||||||
|
neutron-tempest-plugin/ ;\
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
SCRIPT=`realpath $0`
|
||||||
|
SCRIPT_DIR=`dirname ${SCRIPT}`
|
||||||
|
## Only build from main folder
|
||||||
|
cd ${SCRIPT_DIR}/..
|
||||||
|
|
||||||
|
IMAGE="tempest"
|
||||||
|
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 -
|
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
# Copyright 2018, 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-ceph-config-helper-ubuntu_xenial
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- openstack-helm-images-ceph-config-helper-ubuntu_xenial
|
||||||
|
#experimental:
|
||||||
|
# jobs:
|
||||||
|
# - openstack-helm-infra-five-ubuntu
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-images-ceph-config-helper
|
||||||
|
parent: openstack-helm-images-base
|
||||||
|
abstract: true
|
||||||
|
files:
|
||||||
|
- ^ceph-config-helper/.*
|
||||||
|
vars:
|
||||||
|
image_path: ceph-config-helper
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-images-ceph-config-helper-ubuntu_xenial
|
||||||
|
parent: openstack-helm-images-ceph-config-helper
|
||||||
|
files:
|
||||||
|
- ^ceph-config-helper/build.sh
|
||||||
|
- ^ceph-config-helper/Dockerfile.ubuntu_xenial$
|
||||||
|
- ^zuul.d/ceph-config-helper.yaml
|
||||||
|
vars:
|
||||||
|
distro: "ubuntu_xenial"
|
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
# Copyright 2018, 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-gate-utils-debian
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- openstack-helm-images-gate-utils-debian
|
||||||
|
#experimental:
|
||||||
|
# jobs:
|
||||||
|
# - openstack-helm-infra-five-ubuntu
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-images-gate-utils
|
||||||
|
parent: openstack-helm-images-base
|
||||||
|
abstract: true
|
||||||
|
files:
|
||||||
|
- ^gate-utils/.*
|
||||||
|
vars:
|
||||||
|
image_path: gate-utils
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-images-gate-utils-debian
|
||||||
|
parent: openstack-helm-images-gate-utils
|
||||||
|
files:
|
||||||
|
- ^gate-utils/build.sh
|
||||||
|
- ^gate-utils/Dockerfile.debian$
|
||||||
|
- ^zuul.d/gate-utils.yaml
|
||||||
|
vars:
|
||||||
|
distro: "debian"
|
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
# Copyright 2018, 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-openvswitch-debian
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- openstack-helm-images-openvswitch-debian
|
||||||
|
#experimental:
|
||||||
|
# jobs:
|
||||||
|
# - openstack-helm-infra-five-ubuntu
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-images-openvswitch
|
||||||
|
parent: openstack-helm-images-base
|
||||||
|
abstract: true
|
||||||
|
files:
|
||||||
|
- ^openvswitch/.*
|
||||||
|
vars:
|
||||||
|
image_path: openvswitch
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-images-openvswitch-debian
|
||||||
|
parent: openstack-helm-images-openvswitch
|
||||||
|
files:
|
||||||
|
- ^openvswitch/build.sh
|
||||||
|
- ^openvswitch/Dockerfile.debian$
|
||||||
|
- ^zuul.d/openvswitch.yaml
|
||||||
|
vars:
|
||||||
|
distro: "debian"
|
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
# Copyright 2018, 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-tempest-ubuntu_xenial
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- openstack-helm-images-tempest-ubuntu_xenial
|
||||||
|
#experimental:
|
||||||
|
# jobs:
|
||||||
|
# - openstack-helm-infra-five-ubuntu
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-images-tempest
|
||||||
|
parent: openstack-helm-images-base
|
||||||
|
abstract: true
|
||||||
|
files:
|
||||||
|
- ^tempest/.*
|
||||||
|
vars:
|
||||||
|
image_path: tempest
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-images-tempest-ubuntu_xenial
|
||||||
|
parent: openstack-helm-images-tempest
|
||||||
|
files:
|
||||||
|
- ^tempest/build.sh
|
||||||
|
- ^tempest/Dockerfile.ubuntu_xenial$
|
||||||
|
- ^zuul.d/tempest.yaml
|
||||||
|
vars:
|
||||||
|
distro: "ubuntu_xenial"
|
Loading…
Reference in New Issue