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
|
||||
:caption: Contents:
|
||||
|
||||
ceph-config-helper
|
||||
gate-utils
|
||||
libvirt
|
||||
mariadb
|
||||
openvswitch
|
||||
tempest
|
||||
vbmc
|
||||
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