Migrate pike/master to stable/dev build streams
The use of pike/master naming when building StarlingX docker images does not properly reflect the differences in how images are built, resulting in some confusion for developers. Partly to address this, and to allow for independence between images, this is being migrated to use stable/dev build streams. The stable build stream uses a base image (ie. stx-centos) that has software repo configuration that points to StarlingX build output as a source for software package installation. Images that use an upstream repo as the main project code would generally use a stable branch for this build stream, as well. For example, once Openstack Stein is released, the stable builds for StarlingX Openstack services will be updated to build from a stable/stein branch. The dev build stream uses only upstream sources for software installation, with images building from upstream master branches, generally. The stx-libvirt image, for example, is built solely from StarlingX build output, and is therefore built in the stable build stream. An image lineup for the stx-openstack application could therefore be a mixture of stable and dev build stream images. The "stable" application lineup (once we have Stein) would be all stable build stream images, while the "dev" lineup would be dev build stream images plus stable images for any that are stable-only (such as stx-libvirt). To roll out these changes without impacting designers or builds, the pike/master builds will still be supported for a short period. This update provides the tool and base configuration changes to support the introduction of the stable/dev build streams. Change-Id: Ib5dc9a7c1d8c37368d073e28d83eeb883766ee3f Story: 2005248 Task: 30098 Signed-off-by: Don Penney <don.penney@windriver.com>
This commit is contained in:
parent
e5822469e2
commit
6c0cfedcaf
@ -5,7 +5,7 @@ PRIVATE_REGISTRY=xxx.xxx.xxx.xxx:9001
|
||||
VERSION=2018.11.13
|
||||
OS=centos
|
||||
OS_VERSION=7.5.1804
|
||||
OPENSTACK_RELEASE=pike
|
||||
BUILD_STREAM=stable
|
||||
HOST_PORT=8088
|
||||
|
||||
## Step 1: Build stx-centos
|
||||
@ -25,15 +25,15 @@ time $MY_REPO/build-tools/build-docker-images/build-stx-base.sh \
|
||||
time $MY_REPO/build-tools/build-wheels/build-wheel-tarball.sh \
|
||||
--os ${OS} \
|
||||
--os-version ${OS_VERSION} \
|
||||
--release ${OPENSTACK_RELEASE}
|
||||
--stream ${BUILD_STREAM}
|
||||
|
||||
## Step 3: Build images
|
||||
time $MY_REPO/build-tools/build-docker-images/build-stx-images.sh \
|
||||
--os ${OS} \
|
||||
--version ${VERSION} \
|
||||
--release ${OPENSTACK_RELEASE} \
|
||||
--stream ${BUILD_STREAM} \
|
||||
--base ${PRIVATE_REGISTRY}/${PRIVATE_REGISTRY_USERID}/stx-${OS}:${VERSION} \
|
||||
--wheels http://${HOSTNAME}:${HOST_PORT}/${MY_WORKSPACE}/std/build-wheels-${OS}-${OPENSTACK_RELEASE}/stx-${OS}-${OPENSTACK_RELEASE}-wheels.tar \
|
||||
--wheels http://${HOSTNAME}:${HOST_PORT}/${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/stx-${OS}-${OPENSTACK_RELEASE}-wheels.tar \
|
||||
--user ${PRIVATE_REGISTRY_USERID} \
|
||||
--registry ${PRIVATE_REGISTRY} \
|
||||
--push --latest \
|
||||
|
@ -18,7 +18,7 @@ fi
|
||||
SUPPORTED_OS_ARGS=('centos')
|
||||
OS=centos
|
||||
OS_VERSION=7.5.1804
|
||||
OPENSTACK_RELEASE=pike
|
||||
BUILD_STREAM=stable
|
||||
IMAGE_VERSION=
|
||||
PUSH=no
|
||||
PROXY=""
|
||||
@ -41,7 +41,7 @@ Options:
|
||||
--os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]})
|
||||
--os-version: Specify OS version
|
||||
--version: Specify version for output image
|
||||
--release: Openstack release (default: pike)
|
||||
--stream: Build stream, stable or dev (default: stable)
|
||||
--repo: Software repository (Format: name,baseurl), can be specified multiple times
|
||||
--local: Use local build for software repository (cannot be used with --repo)
|
||||
--push: Push to docker repo
|
||||
@ -56,7 +56,7 @@ Options:
|
||||
EOF
|
||||
}
|
||||
|
||||
OPTS=$(getopt -o h -l help,os:,os-version:,version:,release:,repo:,push,proxy:,latest,latest-tag:,user:,registry:,local,clean,hostname: -- "$@")
|
||||
OPTS=$(getopt -o h -l help,os:,os-version:,version:,stream:,release:,repo:,push,proxy:,latest,latest-tag:,user:,registry:,local,clean,hostname: -- "$@")
|
||||
if [ $? -ne 0 ]; then
|
||||
usage
|
||||
exit 1
|
||||
@ -83,8 +83,12 @@ while true; do
|
||||
IMAGE_VERSION=$2
|
||||
shift 2
|
||||
;;
|
||||
--release)
|
||||
OPENSTACK_RELEASE=$2
|
||||
--stream)
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
--release) # Temporarily keep --release support as an alias for --stream
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
--repo)
|
||||
@ -162,7 +166,7 @@ if [ ${#REPO_LIST[@]} -eq 0 ]; then
|
||||
if [ "${LOCAL}" = "yes" ]; then
|
||||
REPO_LIST+=("local-std,http://${HOST}:8088${MY_WORKSPACE}/std/rpmbuild/RPMS")
|
||||
REPO_LIST+=("stx-distro,http://${HOST}:8088${MY_REPO}/cgcs-${OS}-repo/Binary")
|
||||
elif [ "${OPENSTACK_RELEASE}" != "master" ]; then
|
||||
elif [ "${BUILD_STREAM}" != "dev" -a "${BUILD_STREAM}" != "master" ]; then
|
||||
echo "Either --local or --repo must be specified" >&2
|
||||
exit 1
|
||||
fi
|
||||
@ -186,7 +190,7 @@ if [ $? -ne 0 ]; then
|
||||
fi
|
||||
|
||||
# Get the Dockerfile
|
||||
SRC_DOCKERFILE=${MY_SCRIPT_DIR}/stx-${OS}/Dockerfile.${OPENSTACK_RELEASE}
|
||||
SRC_DOCKERFILE=${MY_SCRIPT_DIR}/stx-${OS}/Dockerfile.${BUILD_STREAM}
|
||||
cp ${SRC_DOCKERFILE} ${BUILDDIR}/Dockerfile
|
||||
|
||||
# Generate the stx.repo file
|
||||
|
@ -19,7 +19,7 @@ source ${MY_REPO}/build-tools/git-utils.sh
|
||||
|
||||
SUPPORTED_OS_ARGS=('centos')
|
||||
OS=centos
|
||||
OPENSTACK_RELEASE=pike
|
||||
BUILD_STREAM=stable
|
||||
IMAGE_VERSION=$(date --utc '+%Y.%m.%d.%H.%M') # Default version, using timestamp
|
||||
PREFIX=dev
|
||||
LATEST_PREFIX=""
|
||||
@ -42,7 +42,7 @@ $(basename $0)
|
||||
Options:
|
||||
--os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]})
|
||||
--version: Specify version for output image
|
||||
--release: Openstack release (default: pike)
|
||||
--stream: Build stream, stable or dev (default: stable)
|
||||
--base: Specify base docker image (required option)
|
||||
--wheels: Specify path to wheels tarball or image, URL or docker tag (required option)
|
||||
--push: Push to docker repo
|
||||
@ -195,7 +195,7 @@ function build_image_loci {
|
||||
|
||||
docker build ${WORKDIR}/loci --no-cache \
|
||||
"${BUILD_ARGS[@]}" \
|
||||
--tag ${build_image_name} 2>&1 | tee ${WORKDIR}/docker-${LABEL}-${OS}-${OPENSTACK_RELEASE}.log
|
||||
--tag ${build_image_name} 2>&1 | tee ${WORKDIR}/docker-${LABEL}-${OS}-${BUILD_STREAM}.log
|
||||
if [ ${PIPESTATUS[0]} -ne 0 ]; then
|
||||
echo "Failed to build ${LABEL}... Aborting"
|
||||
RESULTS_FAILED+=(${LABEL})
|
||||
@ -312,7 +312,7 @@ function build_image_docker {
|
||||
BASE_BUILD_ARGS+=(--build-arg http_proxy=$PROXY)
|
||||
fi
|
||||
BASE_BUILD_ARGS+=(--tag ${build_image_name})
|
||||
docker build ${BASE_BUILD_ARGS[@]} 2>&1 | tee ${WORKDIR}/docker-${LABEL}-${OS}-${OPENSTACK_RELEASE}.log
|
||||
docker build ${BASE_BUILD_ARGS[@]} 2>&1 | tee ${WORKDIR}/docker-${LABEL}-${OS}-${BUILD_STREAM}.log
|
||||
|
||||
if [ ${PIPESTATUS[0]} -ne 0 ]; then
|
||||
echo "Failed to build ${LABEL}... Aborting"
|
||||
@ -360,7 +360,7 @@ function build_image {
|
||||
esac
|
||||
}
|
||||
|
||||
OPTS=$(getopt -o h -l help,os:,version:,release:,push,proxy:,user:,registry:,release:,base:,wheels:,only:,skip:,prefix:,latest,latest-prefix:,clean -- "$@")
|
||||
OPTS=$(getopt -o h -l help,os:,version:,release:,stream:,push,proxy:,user:,registry:,base:,wheels:,only:,skip:,prefix:,latest,latest-prefix:,clean -- "$@")
|
||||
if [ $? -ne 0 ]; then
|
||||
usage
|
||||
exit 1
|
||||
@ -391,8 +391,12 @@ while true; do
|
||||
IMAGE_VERSION=$2
|
||||
shift 2
|
||||
;;
|
||||
--release)
|
||||
OPENSTACK_RELEASE=$2
|
||||
--stream)
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
--release) # Temporarily keep --release support as an alias for --stream
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
--prefix)
|
||||
@ -473,7 +477,7 @@ if [ -z "${BASE}" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IMAGE_TAG="${OS}-${OPENSTACK_RELEASE}"
|
||||
IMAGE_TAG="${OS}-${BUILD_STREAM}"
|
||||
IMAGE_TAG_LATEST="${IMAGE_TAG}-latest"
|
||||
|
||||
if [ -n "${LATEST_PREFIX}" ]; then
|
||||
@ -511,10 +515,10 @@ if [ $? -ne 0 ]; then
|
||||
fi
|
||||
|
||||
# Find the directives files
|
||||
for image_build_inc_file in $(find ${GIT_LIST} -maxdepth 1 -name "${OS}_${OPENSTACK_RELEASE}_docker_images.inc"); do
|
||||
for image_build_inc_file in $(find ${GIT_LIST} -maxdepth 1 -name "${OS}_${BUILD_STREAM}_docker_images.inc"); do
|
||||
basedir=$(dirname ${image_build_inc_file})
|
||||
for image_build_dir in $(sed -e 's/#.*//' ${image_build_inc_file} | sort -u); do
|
||||
for image_build_file in ${basedir}/${image_build_dir}/${OS}/*.${OPENSTACK_RELEASE}_docker_image; do
|
||||
for image_build_file in ${basedir}/${image_build_dir}/${OS}/*.${BUILD_STREAM}_docker_image; do
|
||||
# Failures are reported by the build functions
|
||||
build_image ${image_build_file}
|
||||
done
|
||||
|
14
build-tools/build-docker-images/stx-centos/Dockerfile.dev
Normal file
14
build-tools/build-docker-images/stx-centos/Dockerfile.dev
Normal file
@ -0,0 +1,14 @@
|
||||
# Expected build arguments:
|
||||
# RELEASE: centos release
|
||||
#
|
||||
ARG RELEASE=7.5.1804
|
||||
FROM centos:${RELEASE}
|
||||
|
||||
RUN set -ex ;\
|
||||
sed -i '/\[main\]/ atimeout=120' /etc/yum.conf ;\
|
||||
yum install -y centos-release-openstack-rocky ;\
|
||||
rm -rf \
|
||||
/var/log/* \
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
|
25
build-tools/build-docker-images/stx-centos/Dockerfile.stable
Normal file
25
build-tools/build-docker-images/stx-centos/Dockerfile.stable
Normal file
@ -0,0 +1,25 @@
|
||||
# Expected build arguments:
|
||||
# RELEASE: centos release
|
||||
# REPO_OPTS: yum options to enable StarlingX repo
|
||||
#
|
||||
ARG RELEASE=7.5.1804
|
||||
FROM centos:${RELEASE}
|
||||
|
||||
ARG REPO_OPTS
|
||||
|
||||
# The stx.repo file must be generated by the build tool first
|
||||
COPY stx.repo /
|
||||
|
||||
RUN set -ex ;\
|
||||
sed -i '/\[main\]/ atimeout=120' /etc/yum.conf ;\
|
||||
mv /stx.repo /etc/yum.repos.d/ ;\
|
||||
yum upgrade --disablerepo=* ${REPO_OPTS} -y ;\
|
||||
yum install --disablerepo=* ${REPO_OPTS} -y \
|
||||
qemu-img \
|
||||
openssh-clients \
|
||||
;\
|
||||
rm -rf \
|
||||
/var/log/* \
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
|
@ -19,13 +19,13 @@ KEEP_IMAGE=no
|
||||
KEEP_CONTAINER=no
|
||||
OS=centos
|
||||
OS_VERSION=7.5.1804
|
||||
OPENSTACK_RELEASE=pike
|
||||
BUILD_STREAM=stable
|
||||
PROXY=""
|
||||
|
||||
function usage {
|
||||
cat >&2 <<EOF
|
||||
Usage:
|
||||
$(basename $0) [ --os <os> ] [ --keep-image ] [ --keep-container ] [ --release <release> ]
|
||||
$(basename $0) [ --os <os> ] [ --keep-image ] [ --keep-container ] [ --stream <stable|dev> ]
|
||||
|
||||
Options:
|
||||
--os: Specify base OS (eg. centos)
|
||||
@ -33,12 +33,12 @@ Options:
|
||||
--keep-image: Skip deletion of the wheel build image in docker
|
||||
--keep-container: Skip deletion of container used for the build
|
||||
--proxy: Set proxy <URL>:<PORT>
|
||||
--release: Openstack release (default: pike)
|
||||
--stream: Build stream, stable or dev (default: stable)
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
OPTS=$(getopt -o h -l help,os:,os-version:,keep-image,keep-container,release:,proxy: -- "$@")
|
||||
OPTS=$(getopt -o h -l help,os:,os-version:,keep-image,keep-container,release:,stream:,proxy: -- "$@")
|
||||
if [ $? -ne 0 ]; then
|
||||
usage
|
||||
exit 1
|
||||
@ -69,8 +69,12 @@ while true; do
|
||||
KEEP_CONTAINER=yes
|
||||
shift
|
||||
;;
|
||||
--release)
|
||||
OPENSTACK_RELEASE=$2
|
||||
--stream)
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
--release) # Temporarily keep --release support as an alias for --stream
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
--proxy)
|
||||
@ -88,16 +92,16 @@ while true; do
|
||||
esac
|
||||
done
|
||||
|
||||
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OPENSTACK_RELEASE}/base
|
||||
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/base
|
||||
|
||||
BUILD_IMAGE_NAME="${USER}-$(basename ${MY_WORKSPACE})-wheelbuilder:${OS}-${OPENSTACK_RELEASE}"
|
||||
BUILD_IMAGE_NAME="${USER}-$(basename ${MY_WORKSPACE})-wheelbuilder:${OS}-${BUILD_STREAM}"
|
||||
|
||||
# BUILD_IMAGE_NAME can't have caps if it's passed to docker build -t $BUILD_IMAGE_NAME.
|
||||
# The following will substitute caps with lower case.
|
||||
BUILD_IMAGE_NAME="${BUILD_IMAGE_NAME,,}"
|
||||
|
||||
DOCKER_FILE=${DOCKER_PATH}/${OS}-dockerfile
|
||||
WHEELS_CFG=${DOCKER_PATH}/${OPENSTACK_RELEASE}-wheels.cfg
|
||||
WHEELS_CFG=${DOCKER_PATH}/${BUILD_STREAM}-wheels.cfg
|
||||
|
||||
function supported_os_list {
|
||||
for f in ${DOCKER_PATH}/*-dockerfile; do
|
||||
@ -146,7 +150,7 @@ for wheel in $(cat ${WHEELS_CFG} | sed 's/#.*//' | awk -F '|' '{print $1}'); do
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "${OPENSTACK_RELEASE}" = "master" ]; then
|
||||
if [ "${BUILD_STREAM}" = "dev" -o "${BUILD_STREAM}" = "master" ]; then
|
||||
# Download the master wheel from loci, so we're only building pieces not covered by it
|
||||
MASTER_WHEELS_IMAGE="loci/requirements:master-${OS}"
|
||||
|
||||
@ -197,7 +201,7 @@ BASE_IMAGE_PRESENT=$?
|
||||
# Create the builder image
|
||||
declare -a BUILD_ARGS
|
||||
BUILD_ARGS+=(--build-arg RELEASE=${OS_VERSION})
|
||||
BUILD_ARGS+=(--build-arg OPENSTACK_RELEASE=${OPENSTACK_RELEASE})
|
||||
BUILD_ARGS+=(--build-arg BUILD_STREAM=${BUILD_STREAM})
|
||||
if [ ! -z "$PROXY" ]; then
|
||||
BUILD_ARGS+=(--build-arg http_proxy=$PROXY)
|
||||
BUILD_ARGS+=(--build-arg https_proxy=$PROXY)
|
||||
|
@ -18,7 +18,8 @@ fi
|
||||
SUPPORTED_OS_ARGS=('centos')
|
||||
OS=centos
|
||||
OS_VERSION=7.5.1804
|
||||
OPENSTACK_RELEASE=pike
|
||||
BUILD_STREAM=stable
|
||||
CURRENT_STABLE_OPENSTACK=pike
|
||||
VERSION=$(date --utc '+%Y.%m.%d.%H.%M') # Default version, using timestamp
|
||||
PUSH=no
|
||||
PROXY=""
|
||||
@ -49,8 +50,8 @@ $(basename $0)
|
||||
|
||||
Options:
|
||||
--os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]})
|
||||
--os-version: Specify OS version
|
||||
--release: Openstack release (default: pike)
|
||||
--os-version: Specify OS version
|
||||
--stream: Build stream, stable or dev (default: stable)
|
||||
--push: Push to docker repo
|
||||
--proxy: Set proxy <URL>:<PORT>
|
||||
--user: Docker repo userid
|
||||
@ -59,7 +60,7 @@ Options:
|
||||
EOF
|
||||
}
|
||||
|
||||
OPTS=$(getopt -o h -l help,os:,os-version:,push,clean,user:,release:,proxy:,version: -- "$@")
|
||||
OPTS=$(getopt -o h -l help,os:,os-version:,push,clean,user:,release:,stream:,proxy:,version: -- "$@")
|
||||
if [ $? -ne 0 ]; then
|
||||
usage
|
||||
exit 1
|
||||
@ -94,8 +95,12 @@ while true; do
|
||||
DOCKER_USER=$2
|
||||
shift 2
|
||||
;;
|
||||
--release)
|
||||
OPENSTACK_RELEASE=$2
|
||||
--stream)
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
--release) # Temporarily keep --release support as an alias for --stream
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
--proxy)
|
||||
@ -133,7 +138,7 @@ fi
|
||||
|
||||
# Build the base wheels and retrieve the StarlingX wheels
|
||||
declare -a BUILD_BASE_WL_ARGS
|
||||
BUILD_BASE_WL_ARGS+=(--os ${OS} --os-version ${OS_VERSION} --release ${OPENSTACK_RELEASE})
|
||||
BUILD_BASE_WL_ARGS+=(--os ${OS} --os-version ${OS_VERSION} --stream ${BUILD_STREAM})
|
||||
if [ ! -z "$PROXY" ]; then
|
||||
BUILD_BASE_WL_ARGS+=(--proxy ${PROXY})
|
||||
fi
|
||||
@ -144,13 +149,13 @@ if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${MY_SCRIPT_DIR}/get-stx-wheels.sh --os ${OS} --release ${OPENSTACK_RELEASE}
|
||||
${MY_SCRIPT_DIR}/get-stx-wheels.sh --os ${OS} --stream ${BUILD_STREAM}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failure running get-stx-wheels.sh" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OPENSTACK_RELEASE}/tarball
|
||||
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/tarball
|
||||
if [ -d ${BUILD_OUTPUT_PATH} ]; then
|
||||
# Wipe out the existing dir to ensure there are no stale files
|
||||
rm -rf ${BUILD_OUTPUT_PATH}
|
||||
@ -158,18 +163,18 @@ fi
|
||||
mkdir -p ${BUILD_OUTPUT_PATH}
|
||||
cd ${BUILD_OUTPUT_PATH}
|
||||
|
||||
IMAGE_NAME=stx-${OS}-${OPENSTACK_RELEASE}-wheels
|
||||
IMAGE_NAME=stx-${OS}-${BUILD_STREAM}-wheels
|
||||
|
||||
TARBALL_FNAME=${MY_WORKSPACE}/std/build-wheels-${OS}-${OPENSTACK_RELEASE}/${IMAGE_NAME}.tar
|
||||
TARBALL_FNAME=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/${IMAGE_NAME}.tar
|
||||
if [ -f ${TARBALL_FNAME} ]; then
|
||||
rm -f ${TARBALL_FNAME}
|
||||
fi
|
||||
|
||||
# Download the global-requirements.txt and upper-constraints.txt files
|
||||
if [ "${OPENSTACK_RELEASE}" = "master" ]; then
|
||||
OPENSTACK_BRANCH=${OPENSTACK_RELEASE}
|
||||
if [ "${BUILD_STREAM}" = "dev" -o "${BUILD_STREAM}" = "master" ]; then
|
||||
OPENSTACK_BRANCH=master
|
||||
else
|
||||
OPENSTACK_BRANCH=stable/${OPENSTACK_RELEASE}
|
||||
OPENSTACK_BRANCH=stable/${CURRENT_STABLE_OPENSTACK}
|
||||
fi
|
||||
|
||||
wget https://raw.githubusercontent.com/openstack/requirements/${OPENSTACK_BRANCH}/global-requirements.txt
|
||||
@ -193,6 +198,9 @@ for name in ${SKIP_CONSTRAINTS[@]}; do
|
||||
fi
|
||||
done
|
||||
|
||||
# Set nullglob so wildcards will return empty string if no match
|
||||
shopt -s nullglob
|
||||
|
||||
# Copy the base and stx wheels, updating upper-constraints.txt as necessary
|
||||
for wheel in ../base/*.whl ../stx/wheels/*.whl; do
|
||||
# Get the wheel name and version from the METADATA
|
||||
@ -242,6 +250,8 @@ for wheel in ../base/*.whl ../stx/wheels/*.whl; do
|
||||
fi
|
||||
done
|
||||
|
||||
shopt -u nullglob
|
||||
|
||||
echo "Creating $(basename ${TARBALL_FNAME})..."
|
||||
tar cf ${TARBALL_FNAME} *
|
||||
if [ $? -ne 0 ]; then
|
||||
|
@ -1,7 +1,7 @@
|
||||
ARG RELEASE=7.5.1804
|
||||
FROM centos:${RELEASE}
|
||||
|
||||
ARG OPENSTACK_RELEASE=pike
|
||||
ARG BUILD_STREAM=stable
|
||||
|
||||
# Install the necessary packages for building the python modules.
|
||||
# Some of these are dependencies of the specific modules, and could
|
||||
@ -17,5 +17,5 @@ RUN set -ex ;\
|
||||
pip install --upgrade pip setuptools
|
||||
|
||||
COPY docker-build-wheel.sh /
|
||||
COPY ${OPENSTACK_RELEASE}-wheels.cfg /wheels.cfg
|
||||
COPY ${BUILD_STREAM}-wheels.cfg /wheels.cfg
|
||||
|
||||
|
14
build-tools/build-wheels/docker/dev-wheels.cfg
Normal file
14
build-tools/build-wheels/docker/dev-wheels.cfg
Normal file
@ -0,0 +1,14 @@
|
||||
#
|
||||
# git: wheelname|git|git-source|basedir|branch
|
||||
# tar: wheelname|tar|wget-source|basedir
|
||||
# pypi: wheelname|pypi|wget-source
|
||||
# zip: wheelname|zip|wget-source|basedir
|
||||
#
|
||||
# If fix_setup must be called, add |fix_setup at the end of the line
|
||||
#
|
||||
lz4-0.9.0-cp27-none-linux_x86_64.whl|git|https://github.com/python-lz4/python-lz4|python-lz4|v0.9.0
|
||||
panko-5.0.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/a9/89/d666e0889d869e41c9b7f87a0a34858b2520782b82e025da84c98e0db8f6/panko-5.0.0.tar.gz|panko-5.0.0
|
||||
google_api_python_client-1.7.7-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/d7/47/940908e52487440f61fb93ad55cbbe3a28235d3bb143b26affb17b37dd28/google_api_python_client-1.7.7-py2.py3-none-any.whl
|
||||
neutron_lib-*.whl|git|https://github.com/openstack/neutron-lib|neutron-lib|master
|
||||
python_openstackclient-*.whl|git|https://github.com/donpenney/python-openstackclient|python-openstackclient|master
|
||||
openstacksdk-*.whl|git|https://github.com/openstack/openstacksdk|openstacksdk|master
|
18
build-tools/build-wheels/docker/stable-wheels.cfg
Normal file
18
build-tools/build-wheels/docker/stable-wheels.cfg
Normal file
@ -0,0 +1,18 @@
|
||||
#
|
||||
# git: wheelname|git|git-source|basedir|branch
|
||||
# tar: wheelname|tar|wget-source|basedir
|
||||
# pypi: wheelname|pypi|wget-source
|
||||
# zip: wheelname|zip|wget-source|basedir
|
||||
#
|
||||
# If fix_setup must be called, add |fix_setup at the end of the line
|
||||
#
|
||||
PyYAML-3.12-cp27-none-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/4a/85/db5a2df477072b2902b0eb892feb37d88ac635d36245a72a6a69b23b383a/PyYAML-3.12.tar.gz|PyYAML-3.12
|
||||
configparser-3.5.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/7c/69/c2ce7e91c89dc073eb1aa74c0621c3eefbffe8216b3f9af9d3885265c01c/configparser-3.5.0.tar.gz|configparser-3.5.0
|
||||
enum_compat-0.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/95/6e/26bdcba28b66126f66cf3e4cd03bcd63f7ae330d29ee68b1f6b623550bfa/enum-compat-0.0.2.tar.gz|enum-compat-0.0.2
|
||||
msgpack_python-0.4.8-cp27-none-linux_x86_64.whl|git|https://github.com/msgpack/msgpack-python.git|msgpack-python|0.4.8
|
||||
netifaces-0.10.6-cp27-none-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/72/01/ba076082628901bca750bf53b322a8ff10c1d757dc29196a8e6082711c9d/netifaces-0.10.6.tar.gz|netifaces-0.10.6
|
||||
positional-1.1.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8c/16/64a4fa0967c486380468dca18867d22ac1c17bba06349e31ace77c7757f7/positional-1.1.2.tar.gz|positional-1.1.2
|
||||
pycadf-2.6.0-py2-none-any.whl|pypi|https://files.pythonhosted.org/packages/59/95/9e12d47ce915d219d76af7a21095cb1f1f6bec2187abd4ea6c6ff066ff0a/pycadf-2.6.0-py2-none-any.whl
|
||||
pyinotify-0.9.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e3/c0/fd5b18dde17c1249658521f69598f3252f11d9d7a980c5be8619970646e1/pyinotify-0.9.6.tar.gz|pyinotify-0.9.6
|
||||
repoze.lru-0.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/6e/1e/aa15cc90217e086dc8769872c8778b409812ff036bf021b15795638939e4/repoze.lru-0.6.tar.gz|repoze.lru-0.6
|
||||
wrapt-1.10.10-cp27-none-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a3/bb/525e9de0a220060394f4aa34fdf6200853581803d92714ae41fc3556e7d7/wrapt-1.10.10.tar.gz|wrapt-1.10.10|fix_setup
|
@ -16,21 +16,21 @@ fi
|
||||
|
||||
SUPPORTED_OS_ARGS=('centos')
|
||||
OS=centos
|
||||
OPENSTACK_RELEASE=pike
|
||||
BUILD_STREAM=stable
|
||||
|
||||
function usage {
|
||||
cat >&2 <<EOF
|
||||
Usage:
|
||||
$(basename $0) [ --os <os> ] [ --release <release> ]
|
||||
$(basename $0) [ --os <os> ] [ --stream <stable|dev> ]
|
||||
|
||||
Options:
|
||||
--os: Specify base OS (eg. centos)
|
||||
--release: Openstack release (default: pike)
|
||||
--stream: Openstack release (default: stable)
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
OPTS=$(getopt -o h -l help,os:,release: -- "$@")
|
||||
OPTS=$(getopt -o h -l help,os:,release:,stream: -- "$@")
|
||||
if [ $? -ne 0 ]; then
|
||||
usage
|
||||
exit 1
|
||||
@ -49,8 +49,12 @@ while true; do
|
||||
OS=$2
|
||||
shift 2
|
||||
;;
|
||||
--release)
|
||||
OPENSTACK_RELEASE=$2
|
||||
--stream)
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
--release) # Temporarily keep --release support as an alias for --stream
|
||||
BUILD_STREAM=$2
|
||||
shift 2
|
||||
;;
|
||||
-h | --help )
|
||||
@ -81,7 +85,7 @@ fi
|
||||
source ${MY_REPO}/build-tools/git-utils.sh
|
||||
|
||||
function get_wheels_files {
|
||||
find ${GIT_LIST} -maxdepth 1 -name "${OS}_${OPENSTACK_RELEASE}_wheels.inc"
|
||||
find ${GIT_LIST} -maxdepth 1 -name "${OS}_${BUILD_STREAM}_wheels.inc"
|
||||
}
|
||||
|
||||
declare -a WHEELS_FILES=($(get_wheels_files))
|
||||
@ -90,7 +94,7 @@ if [ ${#WHEELS_FILES[@]} -eq 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OPENSTACK_RELEASE}/stx
|
||||
BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/stx
|
||||
if [ -d ${BUILD_OUTPUT_PATH} ]; then
|
||||
# Wipe out the existing dir to ensure there are no stale files
|
||||
rm -rf ${BUILD_OUTPUT_PATH}
|
||||
|
Loading…
Reference in New Issue
Block a user