diff --git a/build-tools/build-docker-images/README b/build-tools/build-docker-images/README index c5dbf6ed..1b54de9f 100644 --- a/build-tools/build-docker-images/README +++ b/build-tools/build-docker-images/README @@ -34,7 +34,7 @@ time $MY_REPO/build-tools/build-docker-images/build-stx-images.sh \ --version ${VERSION} \ --stream ${BUILD_STREAM} \ --base ${PRIVATE_REGISTRY}/${PRIVATE_REGISTRY_USERID}/stx-${OS}:${VERSION} \ - --wheels http://${HOSTNAME}:${HOST_PORT}/${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/stx-${OS}-${BUILD_STREAM}-wheels.tar \ + --wheels http://${HOSTNAME}:${HOST_PORT}/${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/stx-${OS}-${BUILD_STREAM}-wheels.tar \ --user ${PRIVATE_REGISTRY_USERID} \ --registry ${PRIVATE_REGISTRY} \ --push --latest \ diff --git a/build-tools/build-docker-images/build-stx-base.sh b/build-tools/build-docker-images/build-stx-base.sh index c6a891ae..6902629e 100755 --- a/build-tools/build-docker-images/build-stx-base.sh +++ b/build-tools/build-docker-images/build-stx-base.sh @@ -24,7 +24,9 @@ renice -n 10 -p $$ ionice -c 3 -p $$ SUPPORTED_OS_ARGS=( 'debian' ) +SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie') OS= # default: autodetect +OS_CODENAME= # default: autodetect OS_VERSION= # default: lookup "ARG RELEASE" in Dockerfile BUILD_STREAM=stable IMAGE_VERSION= @@ -52,32 +54,33 @@ Usage: $(basename $0) Options: - --os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]}) - --os-version: Specify OS version - --version: Specify version for output image - --stream: Build stream, stable or dev (default: stable) - --repo: Software repository, can be specified multiple times - * Debian format: "TYPE [OPTION=VALUE...] URL DISTRO COMPONENTS..." - This will be added to /etc/apt/sources.list as is, - see also sources.list(5) manpage. - --local: Use local build for software repository (cannot be used with --repo) - --push: Push to docker repo - --proxy: Set proxy : - --latest: Add a 'latest' tag when pushing - --latest-tag: Use the provided tag when pushing latest. - --user: Docker repo userid - --registry: Docker registry - --clean: Remove image(s) from local registry - --hostname: build repo host + --os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]}) + --os-codename: Specify base OS Codename (valid options: ${SUPPORTED_OS_CODENAME_ARGS[@]}) + --os-version: Specify OS version + --version: Specify version for output image + --stream: Build stream, stable or dev (default: stable) + --repo: Software repository, can be specified multiple times + * Debian format: "TYPE [OPTION=VALUE...] URL DISTRO COMPONENTS..." + This will be added to /etc/apt/sources.list as is, + see also sources.list(5) manpage. + --local: Use local build for software repository (cannot be used with --repo) + --push: Push to docker repo + --proxy: Set proxy : + --latest: Add a 'latest' tag when pushing + --latest-tag: Use the provided tag when pushing latest. + --user: Docker repo userid + --registry: Docker registry + --clean: Remove image(s) from local registry + --hostname: build repo host --attempts - Max attempts, in case of failure (default: 1) + Max attempts, in case of failure (default: 1) --retry-delay - Sleep this many seconds between retries (default: 30) - --config-file:Specify a path to a config file which will specify additional arguments to be passed into the command + Sleep this many seconds between retries (default: 30) + --config-file: Specify a path to a config file which will specify additional arguments to be passed into the command - --cache: Allow docker to use cached filesystem layers when building - CAUTION: this option may ignore locally-generated packages - and is meant for debugging the build scripts. + --cache: Allow docker to use cached filesystem layers when building + CAUTION: this option may ignore locally-generated packages + and is meant for debugging the build scripts. EOF } @@ -127,7 +130,7 @@ function get_args_from_file { done <"$1" } -OPTS=$(getopt -o h -l help,os:,os-version:,version:,stream:,release:,repo:,push,proxy:,latest,latest-tag:,user:,registry:,local,clean,cache,hostname:,attempts:,retry-delay:,config-file: -- "$@") +OPTS=$(getopt -o h -l help,os:,os-codename:,os-version:,version:,stream:,release:,repo:,push,proxy:,latest,latest-tag:,user:,registry:,local,clean,cache,hostname:,attempts:,retry-delay:,config-file: -- "$@") if [ $? -ne 0 ]; then usage exit 1 @@ -146,6 +149,10 @@ while true; do OS=$2 shift 2 ;; + --os-codename) + OS_CODENAME=$2 + shift 2 + ;; --os-version) OS_VERSION=$2 shift 2 @@ -251,7 +258,31 @@ if [ ${VALID_OS} -ne 0 ]; then exit 1 fi -SRC_DOCKER_DIR="${MY_SCRIPT_DIR}/stx-${OS}" +if [ -z "$OS_CODENAME" ] ; then + if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then + OS_CODENAME="$DEBIAN_DISTRIBUTION" + else + OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)" + fi + if [[ -z "$OS_CODENAME" ]] ; then + echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2 + exit 1 + fi +fi +VALID_OS_CODENAME=1 +for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do + if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then + VALID_OS_CODENAME=0 + break + fi +done +if [ ${VALID_OS_CODENAME} -ne 0 ]; then + echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2 + echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2 + exit 1 +fi + +SRC_DOCKER_DIR="${MY_SCRIPT_DIR}/stx-${OS}-${OS_CODENAME}" SRC_DOCKERFILE="${SRC_DOCKER_DIR}"/Dockerfile.${BUILD_STREAM} if [[ -z "$OS_VERSION" ]]; then OS_VERSION=$( @@ -268,7 +299,7 @@ if [ -z "${IMAGE_VERSION}" ]; then IMAGE_VERSION=${OS_VERSION} fi -DEFAULT_CONFIG_FILE="${DEFAULT_CONFIG_FILE_DIR}/${DEFAULT_CONFIG_FILE_PREFIX}-${OS}-${BUILD_STREAM}.cfg" +DEFAULT_CONFIG_FILE="${DEFAULT_CONFIG_FILE_DIR}/${DEFAULT_CONFIG_FILE_PREFIX}-${OS}-${OS_CODENAME}-${BUILD_STREAM}.cfg" # Read additional auguments from config file if it exists. if [[ -z "$CONFIG_FILE" ]] && [[ -f ${DEFAULT_CONFIG_FILE} ]]; then @@ -296,7 +327,7 @@ else fi fi -BUILDDIR=${MY_WORKSPACE}/std/build-images/stx-${OS} +BUILDDIR=${MY_WORKSPACE}/std/build-images/stx-${OS}-${OS_CODENAME} if [ -d ${BUILDDIR} ]; then # Leftover from previous build rm -rf ${BUILDDIR} diff --git a/build-tools/build-docker-images/build-stx-images.sh b/build-tools/build-docker-images/build-stx-images.sh index 8e50b983..a07f63db 100755 --- a/build-tools/build-docker-images/build-stx-images.sh +++ b/build-tools/build-docker-images/build-stx-images.sh @@ -23,7 +23,9 @@ renice -n 10 -p $$ ionice -c 3 -p $$ SUPPORTED_OS_ARGS=('centos' 'debian' 'distroless') +SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie') OS= +OS_CODENAME= OS_LABEL= BUILD_STREAM=stable IMAGE_VERSION=$(date --utc '+%Y.%m.%d.%H.%M') # Default version, using timestamp @@ -64,6 +66,7 @@ $(basename $0) Options: --os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]}) + --os-codename: Specify base OS Codename (valid options: ${SUPPORTED_OS_CODENAME_ARGS[@]}) --os-label: Use this string as part of image tags, log file names and image record file names, in place of OS, eg: "--os distroless --os-label debian" would look for @@ -859,7 +862,7 @@ function build_image { esac } -OPTS=$(getopt -o hN -l help,os:,os-label:,version:,release:,stream:,push,http_proxy:,https_proxy:,no_proxy:,user:,registry:,base:,wheels:,wheels-alternate:,wheels-py2:,only:,skip:,prefix:,latest,latest-prefix:,clean,cache,attempts:,retry-delay:,no-pull-base -- "$@") +OPTS=$(getopt -o hN -l help,os:,os-codename:,os-label:,version:,release:,stream:,push,http_proxy:,https_proxy:,no_proxy:,user:,registry:,base:,wheels:,wheels-alternate:,wheels-py2:,only:,skip:,prefix:,latest,latest-prefix:,clean,cache,attempts:,retry-delay:,no-pull-base -- "$@") if [ $? -ne 0 ]; then usage exit 1 @@ -882,6 +885,10 @@ while true; do OS=$2 shift 2 ;; + --os-codename) + OS_CODENAME=$2 + shift 2 + ;; --os-label) OS_LABEL=$2 shift 2 @@ -1005,8 +1012,32 @@ if [ ${VALID_OS} -ne 0 ]; then exit 1 fi +if [ -z "$OS_CODENAME" ] ; then + if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then + OS_CODENAME="$DEBIAN_DISTRIBUTION" + else + OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)" + fi + if [[ -z "$OS_CODENAME" ]] ; then + echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2 + exit 1 + fi +fi +VALID_OS_CODENAME=1 +for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do + if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then + VALID_OS_CODENAME=0 + break + fi +done +if [ ${VALID_OS_CODENAME} -ne 0 ]; then + echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2 + echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2 + exit 1 +fi + if [[ -z "$OS_LABEL" ]] ; then - OS_LABEL="$OS" + OS_LABEL="${OS}-${OS_CODENAME}" fi if [ -z "${BASE}" ]; then @@ -1046,11 +1077,22 @@ function find_image_build_files { local image_build_inc_file image_build_dir image_build_file local -A all_labels - for image_build_inc_file in $(find ${GIT_LIST} \! -path "$(git_ctx_root_dir)/do-not-build/*" -maxdepth 1 -name "${OS}_${BUILD_STREAM}_docker_images.inc"); do + for image_build_inc_file in $(find ${GIT_LIST} -maxdepth 1 \! -path "$(git_ctx_root_dir)/do-not-build/*" \ + -name "${OS}_${BUILD_STREAM}_docker_images.inc" \ + -o -name "${OS}_${OS_CODENAME}_${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}/*.${BUILD_STREAM}_docker_image; do - + final_build_dir="${basedir}/${image_build_dir}/${OS}" + if [ "${OS}" != "centos" ]; then + if [ -d "${final_build_dir}/${OS_CODENAME}" ]; then + final_build_dir="${final_build_dir}/${OS_CODENAME}" + elif [ -d "${final_build_dir}/all" ]; then + final_build_dir="${final_build_dir}/all" + elif [ "${OS_CODENAME}" != "bullseye" ]; then + continue + fi + fi + for image_build_file in ${final_build_dir}/*.${BUILD_STREAM}_docker_image; do # Make sure image exists if [[ ! -f "$image_build_file" ]] ; then echo "ERROR: $image_build_file: file not found" >&2 diff --git a/build-tools/build-docker-images/stx-debian/Dockerfile.stable b/build-tools/build-docker-images/stx-debian-bullseye/Dockerfile.stable similarity index 100% rename from build-tools/build-docker-images/stx-debian/Dockerfile.stable rename to build-tools/build-docker-images/stx-debian-bullseye/Dockerfile.stable diff --git a/build-tools/build-docker-images/stx-debian/apt/debian.sources.list.in b/build-tools/build-docker-images/stx-debian-bullseye/apt/debian.sources.list.in similarity index 100% rename from build-tools/build-docker-images/stx-debian/apt/debian.sources.list.in rename to build-tools/build-docker-images/stx-debian-bullseye/apt/debian.sources.list.in diff --git a/build-tools/build-docker-images/stx-debian/apt/layer.sources.list.in b/build-tools/build-docker-images/stx-debian-bullseye/apt/layer.sources.list.in similarity index 100% rename from build-tools/build-docker-images/stx-debian/apt/layer.sources.list.in rename to build-tools/build-docker-images/stx-debian-bullseye/apt/layer.sources.list.in diff --git a/build-tools/build-docker-images/stx-debian/apt/stx.preferences.part.in b/build-tools/build-docker-images/stx-debian-bullseye/apt/stx.preferences.part.in similarity index 100% rename from build-tools/build-docker-images/stx-debian/apt/stx.preferences.part.in rename to build-tools/build-docker-images/stx-debian-bullseye/apt/stx.preferences.part.in diff --git a/build-tools/build-docker-images/stx-debian/apt/stx.sources.list.in b/build-tools/build-docker-images/stx-debian-bullseye/apt/stx.sources.list.in similarity index 100% rename from build-tools/build-docker-images/stx-debian/apt/stx.sources.list.in rename to build-tools/build-docker-images/stx-debian-bullseye/apt/stx.sources.list.in diff --git a/build-tools/build-docker-images/stx-debian-trixie/Dockerfile.stable b/build-tools/build-docker-images/stx-debian-trixie/Dockerfile.stable new file mode 100644 index 00000000..e98f8283 --- /dev/null +++ b/build-tools/build-docker-images/stx-debian-trixie/Dockerfile.stable @@ -0,0 +1,144 @@ +# These are overridden by build-stx-debian.sh +ARG DIST=bullseye +ARG RELEASE=11.2 + +################################################ +# ca_certs build stage +################################################ + +# We need up-to-date SSL certs, otherwise we won't be able to access +# mirror.starlingx.windriver.com; yet the ca-certificates package is +# behind that URL. As a workaround: install ca-certificates from +# upstream debian, then copy the (generated) CA bundle into the. +# main build stage. + +FROM debian:${DIST} as ca_certs + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update -y && \ + apt-get -y install --no-install-recommends ca-certificates + +################################################ +# main build stage +################################################ + +# Start with an the old-ish bullseye release (11.2), then upgrade -- +# to make sure packages that come pre-installed in the debian:XXX image +# are older than anything in StarlingX. +FROM debian:${RELEASE} + +ENV DEBIAN_FRONTEND=noninteractive + +# Disable upstream debian repos +RUN mv /etc/apt/sources.list /etc/apt/sources.list.disabled + +# Install apt repos +COPY apt/debian.sources.list /etc/apt/sources.list.d/debian.list.disabled +COPY apt/stx.sources.list /etc/apt/sources.list.d/stx.list.disabled +COPY apt/stx.preferences /etc/apt/preferences.d/stx + +# Install layer-specific binary repositories. +# Note: They are all supposed to be disabled by default, but can be optionally +# enabled if it is necessary to build an image that requires +# dependencies that are in repositories not listed in `stx.sources.list`. +COPY apt/*.layer.sources.list /etc/apt/sources.list.d/ +RUN for layer in /etc/apt/sources.list.d/*.layer.sources.list; do \ + mv "${layer}" "$(echo "${layer}" | sed s/.layer.sources.list/.list.disabled/)"; \ + done + +# repo templates: +# /etc/apt/sources.list.d/ +# debian.list.disabled - vanilla debian repos +# stx.list.disabled - starlingx binary & build repos +# +# To enable a repo list: +# cp /etc/apt/sources.list.d/$repo_list.disabled \ +# /etc/apt/sources.list.d/$repo_list +# +# To disable a repo list: +# rm -f /etc/apt/sources.list.d/$repo_list +# +# By default only stx.list is enabled, which includes only the packages +# built by stx tools, and the binary packages from the curated binary +# download lists (bullseye-base.lst etc). +# +# Enabling the upstream repos ("debian.list") is dangerous because it +# may conflict with packages in stx.list. +# +# +# FIXME: apt evaluates these files in alphabetical order, so stx.list +# comes after debian.list. When the local binary repo contains +# the same package/version as the debian repo, apt will download +# it from debian, regardless of the priority in /etc/apt/preferences. +# We should rename these files to make stx.list sort before +# debian.list. This would affect Loci scripts in +# loci/docker/stx-scripts/ +# + +# +# Copy CA certs from the "ca_certs" build stage. The bundle file was generated +# by ca-certificates in that stage, and will be re-generated when we install +# that package again in the main stage below. That version may be *older* than +# the certs that we are copying here. We assume ca-certificates is regularly +# updated in stx-tools' package download lists, or it is built by us, and contains +# all the certs we might need during docker images build, such as the intermidate +# cert used by mirror.starlingx.windriver.com . +# +RUN mkdir -p /etc/ssl/certs +COPY --from=ca_certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt + +# +# Upgrade base packages to versions in managed repos +# +RUN cp -f /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list && \ + apt-get -y update && \ + apt-get -y upgrade && \ + apt-get -y install --no-install-recommends --no-install-suggests \ + ca-certificates \ + libapache2-mod-wsgi-py3 \ + python3-setuptools \ + && \ + rm -f /etc/apt/sources.list.d/stx.list && \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +# +# Enable stx repo only. Packages installs below this point will use +# only the managed locally-built & 3rd-party repos. +# +RUN cp /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list + +# +# Install required packages +# +RUN apt-get update -y && \ + apt-get upgrade -y && \ + apt-get install -y \ + openssh-client \ + python3 \ + python3-pip \ + python3-wheel \ +# FIXME: uncomment once qemu is ported to debian (starlingx/integ) +# qemu-utils \ + && \ + apt-get remove -y gcc-9-base && \ +# gcc-9-base ends up unused since in bullseye the default gcc is gcc-10 + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# FIXME: these packages are not required by most docker images inheriting +# from this image. However these Python modules are not buildable from +# source (ie by pip) on Debian and require patches. Install the patched +# versions as DEB packages to make sure pip dependencies in derived images +# are satisfied. +# +# A better solution would be to omit them here, but install them in each +# project that requires them; or add wheel subpackages to these DEBs. +RUN apt-get update -y && \ + apt-get upgrade -y && \ + apt-get install -y \ + python3-thriftpy \ + python3-nss \ + && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* diff --git a/build-tools/build-wheels/debian/apt/debian.sources.list.in b/build-tools/build-docker-images/stx-debian-trixie/apt/debian.sources.list.in similarity index 100% rename from build-tools/build-wheels/debian/apt/debian.sources.list.in rename to build-tools/build-docker-images/stx-debian-trixie/apt/debian.sources.list.in diff --git a/build-tools/build-docker-images/stx-debian-trixie/apt/layer.sources.list.in b/build-tools/build-docker-images/stx-debian-trixie/apt/layer.sources.list.in new file mode 100644 index 00000000..23adb872 --- /dev/null +++ b/build-tools/build-docker-images/stx-debian-trixie/apt/layer.sources.list.in @@ -0,0 +1 @@ +deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary-@LAYER@ @DEBIAN_DISTRIBUTION@ main diff --git a/build-tools/build-docker-images/stx-debian-trixie/apt/stx.preferences.part.in b/build-tools/build-docker-images/stx-debian-trixie/apt/stx.preferences.part.in new file mode 100644 index 00000000..367e3d99 --- /dev/null +++ b/build-tools/build-docker-images/stx-debian-trixie/apt/stx.preferences.part.in @@ -0,0 +1,4 @@ +Explanation: Prefer StarlingX repos over anything else +Package: * +Pin: release o=@REPOMGR_ORIGIN@ +Pin-Priority: 999 diff --git a/build-tools/build-docker-images/stx-debian-trixie/apt/stx.sources.list.in b/build-tools/build-docker-images/stx-debian-trixie/apt/stx.sources.list.in new file mode 100644 index 00000000..6f647b79 --- /dev/null +++ b/build-tools/build-docker-images/stx-debian-trixie/apt/stx.sources.list.in @@ -0,0 +1,3 @@ +deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary-containers @DEBIAN_DISTRIBUTION@ main +deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary @DEBIAN_DISTRIBUTION@ main +deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-build @DEBIAN_DISTRIBUTION@ main diff --git a/build-tools/build-wheels/build-base-wheels.sh b/build-tools/build-wheels/build-base-wheels.sh index 963e72b9..fe4e255e 100755 --- a/build-tools/build-wheels/build-base-wheels.sh +++ b/build-tools/build-wheels/build-base-wheels.sh @@ -21,7 +21,9 @@ fi KEEP_IMAGE=no KEEP_CONTAINER=no SUPPORTED_OS_LIST=( 'debian' ) +SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie') OS= +OS_CODENAME= OS_VERSION= BUILD_STREAM=stable HTTP_PROXY="" @@ -39,6 +41,7 @@ $(basename $0) [ --os ] [ --keep-image ] [ --keep-container ] [ --stream &2 + echo "Supported OS options: ${SUPPORTED_OS_ARGS[@]}" >&2 + exit 1 +fi + +if [ -z "$OS_CODENAME" ] ; then + if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then + OS_CODENAME="$DEBIAN_DISTRIBUTION" + else + OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)" + fi + if [[ -z "$OS_CODENAME" ]] ; then + echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2 + exit 1 + fi +fi +VALID_OS_CODENAME=1 +for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do + if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then + VALID_OS_CODENAME=0 + break + fi +done +if [ ${VALID_OS_CODENAME} -ne 0 ]; then + echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2 + echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2 + exit 1 +fi BUILD_IMAGE_NAME="${USER}-$(basename ${MY_WORKSPACE})-wheelbuilder:${OS}-${BUILD_STREAM}" @@ -148,11 +191,12 @@ BUILD_IMAGE_NAME="${USER}-$(basename ${MY_WORKSPACE})-wheelbuilder:${OS}-${BUILD # The following will substitute caps with lower case. BUILD_IMAGE_NAME="${BUILD_IMAGE_NAME,,}" -DOCKER_FILE=${MY_SCRIPT_DIR}/${OS}/Dockerfile +DOCKER_FILE=${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}/Dockerfile if [ ! -f ${DOCKER_FILE} ]; then - echo "Unsupported OS specified: ${OS}" >&2 + echo "Unsupported OS/CODENAME specified: ${OS}/${OS_CODENAME}" >&2 echo "Supported OS options: ${SUPPORTED_OS_LIST[@]}" >&2 + echo "Supported OS CODENAME options: ${SUPPORTED_OS_CODENAME_LIST[@]}" >&2 exit 1 fi @@ -222,11 +266,11 @@ function prepare_output_dir { fi } -DOCKER_BUILD_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/docker -BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/base -BUILD_OUTPUT_PATH_PY2=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/base-py2 -WHEELS_CFG=${MY_SCRIPT_DIR}/${OS}/${BUILD_STREAM}-wheels.cfg -WHEELS_CFG_PY2=${MY_SCRIPT_DIR}/${OS}/${BUILD_STREAM}-wheels-py2.cfg +DOCKER_BUILD_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/docker +BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/base +BUILD_OUTPUT_PATH_PY2=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/base-py2 +WHEELS_CFG=${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}/${BUILD_STREAM}-wheels.cfg +WHEELS_CFG_PY2=${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}/${BUILD_STREAM}-wheels-py2.cfg # make sure .cfg files exist require_file "${WHEELS_CFG}" @@ -311,7 +355,7 @@ fi # Create a directory containing docker files \rm -rf "${DOCKER_BUILD_PATH}" mkdir -p "${DOCKER_BUILD_PATH}" -\cp -r "${MY_SCRIPT_DIR}/docker-common" "${MY_SCRIPT_DIR}/${OS}" "${DOCKER_BUILD_PATH}" || exit 1 +\cp -r "${MY_SCRIPT_DIR}/docker-common" "${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}" "${DOCKER_BUILD_PATH}" || exit 1 # Replace "@...@" vars in apt/*.in files if [[ "${OS}" == "debian" ]] ; then ( diff --git a/build-tools/build-wheels/build-wheel-tarball.sh b/build-tools/build-wheels/build-wheel-tarball.sh index 86805505..c6818daf 100755 --- a/build-tools/build-wheels/build-wheel-tarball.sh +++ b/build-tools/build-wheels/build-wheel-tarball.sh @@ -23,7 +23,9 @@ renice -n 10 -p $$ ionice -c 3 -p $$ SUPPORTED_OS_ARGS=( 'debian' ) +SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie') OS= +OS_CODENAME= OS_VERSION= BUILD_STREAM=stable VERSION=$(date --utc '+%Y.%m.%d.%H.%M') # Default version, using timestamp @@ -71,6 +73,7 @@ $(basename $0) Options: --os: Specify base OS (valid options: ${SUPPORTED_OS_ARGS[@]}) + --os-codename: Specify base OS Codename (valid options: ${SUPPORTED_OS_CODENAME_ARGS[@]}) --os-version: Specify OS version --stream: Build stream, stable or dev (default: stable) --push: Push to docker repo @@ -92,7 +95,7 @@ Options: EOF } -OPTS=$(getopt -o h -l help,os:,os-version:,push,clean,user:,release:,stream:,http_proxy:,https_proxy:,no_proxy:,version:,attempts:,retry-delay:,python2,extra-wheels-dir:,keep-image,cache -- "$@") +OPTS=$(getopt -o h -l help,os:,os-codename:,os-version:,push,clean,user:,release:,stream:,http_proxy:,https_proxy:,no_proxy:,version:,attempts:,retry-delay:,python2,extra-wheels-dir:,keep-image,cache -- "$@") if [ $? -ne 0 ]; then usage exit 1 @@ -111,6 +114,10 @@ while true; do OS=$2 shift 2 ;; + --os-codename) + OS_CODENAME=$2 + shift 2 + ;; --os-version) OS_VERSION=$2 shift 2 @@ -208,8 +215,33 @@ if [ ${VALID_OS} -ne 0 ]; then exit 1 fi +if [ -z "$OS_CODENAME" ] ; then + OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)" + if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then + OS_CODENAME="$DEBIAN_DISTRIBUTION" + else + OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)" + fi + if [[ -z "$OS_CODENAME" ]] ; then + echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2 + exit 1 + fi +fi +VALID_OS_CODENAME=1 +for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do + if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then + VALID_OS_CODENAME=0 + break + fi +done +if [ ${VALID_OS_CODENAME} -ne 0 ]; then + echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2 + echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2 + exit 1 +fi + # Read openstack URLs -OPENSTACK_CFG="${MY_SCRIPT_DIR}/$OS/openstack.cfg" +OPENSTACK_CFG="${MY_SCRIPT_DIR}/${OS}-${OS_CODENAME}/openstack.cfg" source "$OPENSTACK_CFG" || exit 1 # Set python version-specific variables @@ -225,7 +257,7 @@ fi # Build the base wheels and retrieve the StarlingX wheels declare -a BUILD_BASE_WL_ARGS -BUILD_BASE_WL_ARGS+=(--os ${OS} --stream ${BUILD_STREAM}) +BUILD_BASE_WL_ARGS+=(--os ${OS} --os-codename ${OS_CODENAME} --stream ${BUILD_STREAM}) if [ -n "$OS_VERSION" ]; then BUILD_BASE_WL_ARGS+=(--os-version "${OS_VERSION}") fi @@ -255,13 +287,13 @@ if [ $? -ne 0 ]; then exit 1 fi -${MY_SCRIPT_DIR}/get-stx-wheels.sh --os ${OS} --stream ${BUILD_STREAM} +${MY_SCRIPT_DIR}/get-stx-wheels.sh --os ${OS} --os-codename ${OS_CODENAME} --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}-${BUILD_STREAM}/tarball${PY_SUFFIX} +BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/tarball${PY_SUFFIX} if [ -d ${BUILD_OUTPUT_PATH} ]; then # Wipe out the existing dir to ensure there are no stale files rm -rf ${BUILD_OUTPUT_PATH} @@ -271,7 +303,7 @@ cd ${BUILD_OUTPUT_PATH} IMAGE_NAME=stx-${OS}-${BUILD_STREAM}-wheels${PY_SUFFIX} -TARBALL_FNAME=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/${IMAGE_NAME}.tar +TARBALL_FNAME=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/${IMAGE_NAME}.tar if [ -f ${TARBALL_FNAME} ]; then rm -f ${TARBALL_FNAME} fi diff --git a/build-tools/build-wheels/debian/Dockerfile b/build-tools/build-wheels/debian-bullseye/Dockerfile similarity index 100% rename from build-tools/build-wheels/debian/Dockerfile rename to build-tools/build-wheels/debian-bullseye/Dockerfile diff --git a/build-tools/build-wheels/debian-bullseye/apt/debian.sources.list.in b/build-tools/build-wheels/debian-bullseye/apt/debian.sources.list.in new file mode 100644 index 00000000..1b087a5c --- /dev/null +++ b/build-tools/build-wheels/debian-bullseye/apt/debian.sources.list.in @@ -0,0 +1,2 @@ +deb [check-valid-until=0] @DEBIAN_SNAPSHOT@ @DEBIAN_DISTRIBUTION@ main +deb [check-valid-until=0] @DEBIAN_SECURITY_SNAPSHOT@ @DEBIAN_DISTRIBUTION@-security main diff --git a/build-tools/build-wheels/debian/apt/stx.preferences.in b/build-tools/build-wheels/debian-bullseye/apt/stx.preferences.in similarity index 100% rename from build-tools/build-wheels/debian/apt/stx.preferences.in rename to build-tools/build-wheels/debian-bullseye/apt/stx.preferences.in diff --git a/build-tools/build-wheels/debian/apt/stx.sources.list.in b/build-tools/build-wheels/debian-bullseye/apt/stx.sources.list.in similarity index 100% rename from build-tools/build-wheels/debian/apt/stx.sources.list.in rename to build-tools/build-wheels/debian-bullseye/apt/stx.sources.list.in diff --git a/build-tools/build-wheels/debian/openstack-requirements/README b/build-tools/build-wheels/debian-bullseye/openstack-requirements/README similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/README rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/README diff --git a/build-tools/build-wheels/debian/openstack-requirements/antelope/global-requirements.txt b/build-tools/build-wheels/debian-bullseye/openstack-requirements/antelope/global-requirements.txt similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/antelope/global-requirements.txt rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/antelope/global-requirements.txt diff --git a/build-tools/build-wheels/debian/openstack-requirements/antelope/upper-constraints.txt b/build-tools/build-wheels/debian-bullseye/openstack-requirements/antelope/upper-constraints.txt similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/antelope/upper-constraints.txt rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/antelope/upper-constraints.txt diff --git a/build-tools/build-wheels/debian/openstack-requirements/caracal/global-requirements.txt b/build-tools/build-wheels/debian-bullseye/openstack-requirements/caracal/global-requirements.txt similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/caracal/global-requirements.txt rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/caracal/global-requirements.txt diff --git a/build-tools/build-wheels/debian/openstack-requirements/caracal/upper-constraints.txt b/build-tools/build-wheels/debian-bullseye/openstack-requirements/caracal/upper-constraints.txt similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/caracal/upper-constraints.txt rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/caracal/upper-constraints.txt diff --git a/build-tools/build-wheels/debian/openstack-requirements/ussuri/global-requirements.txt b/build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/global-requirements.txt similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/ussuri/global-requirements.txt rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/global-requirements.txt diff --git a/build-tools/build-wheels/debian/openstack-requirements/ussuri/upper-constraints.txt b/build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/upper-constraints.txt similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/ussuri/upper-constraints.txt rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/upper-constraints.txt diff --git a/build-tools/build-wheels/debian/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/global-requirements.txt b/build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/global-requirements.txt similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/global-requirements.txt rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/global-requirements.txt diff --git a/build-tools/build-wheels/debian/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/upper-constraints.txt b/build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/upper-constraints.txt similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/upper-constraints.txt rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/upper-constraints.txt diff --git a/build-tools/build-wheels/debian/openstack-requirements/ussuri/upstream/LICENSE-2.0.txt b/build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/upstream/LICENSE-2.0.txt similarity index 100% rename from build-tools/build-wheels/debian/openstack-requirements/ussuri/upstream/LICENSE-2.0.txt rename to build-tools/build-wheels/debian-bullseye/openstack-requirements/ussuri/upstream/LICENSE-2.0.txt diff --git a/build-tools/build-wheels/debian/openstack.cfg b/build-tools/build-wheels/debian-bullseye/openstack.cfg similarity index 100% rename from build-tools/build-wheels/debian/openstack.cfg rename to build-tools/build-wheels/debian-bullseye/openstack.cfg diff --git a/build-tools/build-wheels/debian/stable-wheels-py2.cfg b/build-tools/build-wheels/debian-bullseye/stable-wheels-py2.cfg similarity index 100% rename from build-tools/build-wheels/debian/stable-wheels-py2.cfg rename to build-tools/build-wheels/debian-bullseye/stable-wheels-py2.cfg diff --git a/build-tools/build-wheels/debian/stable-wheels.cfg b/build-tools/build-wheels/debian-bullseye/stable-wheels.cfg similarity index 100% rename from build-tools/build-wheels/debian/stable-wheels.cfg rename to build-tools/build-wheels/debian-bullseye/stable-wheels.cfg diff --git a/build-tools/build-wheels/debian-trixie/Dockerfile b/build-tools/build-wheels/debian-trixie/Dockerfile new file mode 100644 index 00000000..36e233c7 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/Dockerfile @@ -0,0 +1,107 @@ +# Start with an the old-ish trixie release (13.0), then upgrade -- +# to make sure packages that come pre-installed in the debian:XXX image +# are older than anything in StarlingX. +ARG RELEASE=13.0 +FROM debian:${RELEASE} + +ENV DEBIAN_FRONTEND=noninteractive + +ARG BUILD_STREAM=stable + +# Install latest ca-certificates +RUN apt-get -y update && \ + apt-get -y --no-install-recommends --no-install-suggests install ca-certificates + +# Disable upstream debian repos +RUN mv /etc/apt/sources.list /etc/apt/sources.list.disabled + +# Install apt repos +COPY debian/apt/debian.sources.list /etc/apt/sources.list.d/debian.list +COPY debian/apt/stx.sources.list /etc/apt/sources.list.d/stx.list +COPY debian/apt/stx.preferences /etc/apt/preferences.d/stx + +# Clean apt cache +RUN apt-get clean && rm -rf /var/lib/apt/lists/* + +# Upgrade base packages to versions in the managed repos +RUN mv /etc/apt/sources.list.d/debian.list /etc/apt/sources.list.d/debian.list.disabled && \ + apt-get -y update && \ + apt-get -y upgrade && \ + mv /etc/apt/sources.list.d/debian.list.disabled /etc/apt/sources.list.d/debian.list && \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +# FIXME: disable vanilla trixie repo. Requires all dependent packages +# referenced by apt-get to be added to stx-tools .lst file(s). Otherwise +# we get a "random" set of packages, some from upstream, some from STX. +# We may also get package conflicts between vanilla debian & STX repos. + +# Install the necessary packages for building the python modules. +# Some of these are dependencies of the specific modules, and could +# instead be added to the wheels.cfg file in the future. +RUN set -ex ; \ + apt-get -y update ; \ + apt-get -y --no-install-recommends --no-install-suggests install \ + bzip2 \ + g++ \ + gcc \ + git \ + libev-dev \ + liberasurecode-dev \ + libffi-dev \ + libkrb5-dev \ + libldap2-dev \ + libmariadb-dev \ + libnss3-dev \ + libpcre3-dev \ + libpq-dev \ + libsasl2-dev \ + libsystemd-dev \ + libvirt-dev \ + libxml2-dev \ + libxslt1-dev \ + pkg-config \ + python3 \ + python3-dev \ + python3-nss \ + python3-pip \ + python3-setuptools \ + python3-setuptools-scm \ + python3-thriftpy \ + python3-wheel \ + swig \ + unzip \ + wget \ + zip \ + ; \ + # make sure python3-nss is sane \ + # the upstream version of it doesn't install pip metadata, but our patched version does + if [ `find /usr/lib/python3/dist-packages -maxdepth 1 -type f -name 'python_nss*.egg-info' -print -quit | wc -l` -eq 0 ] ; then \ + echo "python-nss didn't install pip metadata!" >&2 ; \ + echo "Did you compile python-nss locally prior to building this docker image?" >&2 ; \ + exit 1 ; \ + fi + +# These are required to build the python lxml module +ENV XML2_CONFIG=/usr/bin/xml2-config XSLT_CONFIG=/usr/bin/xslt-config + +# Python2 environment +RUN set -ex ; \ + apt-get -y install \ + python \ + python-dev \ + python-setuptools \ + ; \ + wget https://bootstrap.pypa.io/pip/2.7/get-pip.py ; \ + python get-pip.py ; \ + rm -f get-pip.py + + +# APT clean up +RUN apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Copy local files +COPY docker-common/docker-build-wheel.sh / +COPY debian/${BUILD_STREAM}-wheels.cfg /wheels.cfg +COPY debian/${BUILD_STREAM}-wheels-py2.cfg /wheels-py2.cfg + diff --git a/build-tools/build-wheels/debian-trixie/apt/debian.sources.list.in b/build-tools/build-wheels/debian-trixie/apt/debian.sources.list.in new file mode 100644 index 00000000..1b087a5c --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/apt/debian.sources.list.in @@ -0,0 +1,2 @@ +deb [check-valid-until=0] @DEBIAN_SNAPSHOT@ @DEBIAN_DISTRIBUTION@ main +deb [check-valid-until=0] @DEBIAN_SECURITY_SNAPSHOT@ @DEBIAN_DISTRIBUTION@-security main diff --git a/build-tools/build-wheels/debian-trixie/apt/stx.preferences.in b/build-tools/build-wheels/debian-trixie/apt/stx.preferences.in new file mode 100644 index 00000000..2b72eadf --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/apt/stx.preferences.in @@ -0,0 +1,7 @@ +# See: https://manpages.debian.org/buster/apt/apt_preferences.5.en.html + +Explanation: Prefer StarlingX repos over vanilla Debian +Package: * +Pin: origin "@REPOMGR_HOST@" +Pin-Priority: 999 + diff --git a/build-tools/build-wheels/debian-trixie/apt/stx.sources.list.in b/build-tools/build-wheels/debian-trixie/apt/stx.sources.list.in new file mode 100644 index 00000000..47384ea0 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/apt/stx.sources.list.in @@ -0,0 +1,3 @@ +deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary @DEBIAN_DISTRIBUTION@ main +deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-binary-containers @DEBIAN_DISTRIBUTION@ main +deb [trusted=yes] @REPOMGR_DEPLOY_URL@/deb-local-build @DEBIAN_DISTRIBUTION@ main diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/README b/build-tools/build-wheels/debian-trixie/openstack-requirements/README new file mode 100644 index 00000000..54963c73 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/README @@ -0,0 +1,6 @@ +This directory contains the patched versions of openstack/requirements files: + +ussuri/ - openstack/ussuri release + upstream/ - original unpatched versions + global-requirements.txt - patched for Debian/trixie + upper-constraints.txt - patched for Debian/trixie diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/antelope/global-requirements.txt b/build-tools/build-wheels/debian-trixie/openstack-requirements/antelope/global-requirements.txt new file mode 100644 index 00000000..2197964b --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/antelope/global-requirements.txt @@ -0,0 +1,591 @@ + +abclient # Apache-2.0 +alembic!=1.2.0 # MIT +amqp!=2.1.4 # BSD +ansible-runner!=1.3.5 # Apache 2.0 +anyjson # BSD +appdirs # MIT License +apscheduler # MIT License +autobahn # MIT License +automaton # Apache-2.0 +beautifulsoup4 # MIT +Babel!=2.4.0 # BSD +bcrypt # Apache-2.0 +betamax # Apache-2.0 +betamax-matchers # Apache-2.0 +blockdiag!=2.0.0 # Apache-2.0 +boto # MIT +boto3 # Apache-2.0 +botocore # Apache-2.0 +cassandra-driver!=3.6.0 # Apache-2.0 +castellan # Apache-2.0 +ceilometermiddleware # Apache-2.0 +cachetools # MIT License +cffi # MIT +cliff!=2.9.0,!=2.17.0,<3.0.0;python_version=='2.7' # Apache-2.0 +cliff!=2.9.0,!=2.17.0;python_version>='3.6' # Apache-2.0 +# NOTE(mordred) python-openstackclient is broken due to bug 1810213 +cmd2!=0.8.3,<0.9.0 # MIT +confluent-kafka!=1.4.0 # Apache-2.0 +cotyledon # Apache-2.0 +construct<2.9 # MIT +PuLP # MIT +contextlib2;python_version<'3.0' # PSF License +croniter # MIT License +cryptography!=2.0 # BSD/Apache-2.0 +cursive # Apache-2.0 +dataclasses;python_version=='3.6' # Apache-2.0 +ddt # MIT +debtcollector<2.0.0;python_version<'3.0' # Apache-2.0 +debtcollector;python_version>='3.0' # Apache-2.0 +decorator # BSD +defusedxml # PSF +dib-utils # Apache-2.0 +diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0 +distro # Apache-2.0 +Django<2;python_version<'3.0' # BSD +Django<3.0;python_version>='3.0' # BSD +django-compressor # MIT +django-debreach # BSD +django-floppyforms<2 # BSD +django-formtools # BSD +dnspython;python_version=='2.7' # http://www.dnspython.org/LICENSE +dnspython3!=1.13.0,!=1.14.0;python_version>='3.0' # http://www.dnspython.org/LICENSE +# Note(tonyb): We don't actually directly depend on docutils but we pull it in +# indirectly and we needed to blacklist 0.13.1 for problems with +# Sphinx 1.3. This can be now removed once all projects removed it. +docutils # OSI-Approved Open Source, Public Domain +dogpile.cache # BSD +dogtag-pki # LGPLv3+ +dulwich!=0.19.3,!=0.19.7 # Apache-2.0 +edgegrid-python # Apache-2.0 +elasticsearch<3.0.0 # Apache-2.0 +enmerkar;python_version>='3.0' # BSD +enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD +# NOTE: New versions of eventlet should not be accepted lightly +# as they have earned a reputation of frequently breaking things. +eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0 # MIT +exabgp!=4.0.6 # BSD +extras # MIT +faker # MIT +falcon # Apache-2.0 +Flask!=0.11 # BSD +flask-keystone # Apache-2.0 +flask-oslolog # Apache-2.0 +Flask-RESTful # BSD +Flask-SQLAlchemy # BSD +fortiosclient # Apache-2.0 +futures!=0.17.0;python_version=='2.7' or python_version=='2.6' # PSF +futurist<2.0.0;python_version=='2.7' # Apache-2.0 +futurist;python_version>='3.6' # Apache-2.0 +funcsigs;python_version=='2.7' or python_version=='2.6' # Apache-2.0 +glance-store!=0.29.0 # Apache-2.0 +google-api-python-client # Apache-2.0 +graphviz!=0.5.0 # MIT License +greenlet!=0.4.14 # MIT +GitPython<2.1.12;python_version<'3.0' # BSD License (3 clause) +GitPython;python_version>='3.0' # BSD License (3 clause) +gunicorn<20.0.0;python_version<'3.0' # MIT +gunicorn;python_version>='3.0' # MIT +happybase!=0.7,!=1.0.0;python_version=='2.7' # MIT +heat-translator # Apache-2.0 +horizon # Apache-2.0 +httplib2 # MIT +hvac # Apache-2.0 +icalendar # BSD +importlib-metadata # Apache-2.0 +infinisdk # BSD-3 +influxdb!=5.2.0,!=5.2.1,!=5.2.2,!=5.2.3;python_version<'3.0' # MIT +influxdb;python_version>='3.0' # MIT +instack-undercloud # Apache-2.0 +ironic-lib # Apache-2.0 +ipaddress;python_version<'3.3' # PSF +iso8601 # MIT +jira # BSD License (2 clause) +Jinja2 # BSD License (3 clause) +jmespath # MIT +jsonmodels # BSD License (3 clause) +jsonpatch!=1.20 # BSD +jsonpath-rw<2.0 # Apache-2.0 +jsonpath-rw-ext # Apache-2.0 +jsonschema # MIT +kazoo # Apache-2.0 +keystoneauth1 # Apache-2.0 +keystonemiddleware # Apache-2.0 +krest # Apache-2.0 +kubernetes # Apache-2.0 +kuryr-lib # Apache-2.0 +packaging # Apache-2.0 +pylev # BSD +pypowervm!=1.1.21,!=1.1.22 # Apache-2.0 +pyScss!=1.3.5 # MIT License +django-pyscss # BSD License (2 clause) +kombu!=4.0.2 # BSD +ldap3 # LGPLv3 +deprecation # Apache-2.0 +libvirt-python!=4.1.0,!=4.2.0,<6.0.0;python_version<'3.0' # LGPLv2+ +libvirt-python!=4.1.0,!=4.2.0;python_version>='3.0' # LGPLv2+ +lxml!=3.7.0 # BSD +Mako # MIT +marathon!=0.9.1 # MIT +metalsmith # Apache-2.0 +microversion-parse # Apache-2.0 +mistral-lib # Apache-2.0 +monasca-common # Apache-2.0 +monasca-statsd # Apache-2.0 +monotonic;python_version<'3.3' # Apache-2.0 +msgpack # Apache-2.0 +munch # MIT +murano-pkg-check # Apache-2.0 +mypy;python_version>='3.4' # MIT +ndg-httpsclient;python_version<'3.0' # BSD +netaddr # BSD +netifaces!=0.10.0,!=0.10.1 # MIT +netmiko # MIT +network-runner # Apache 2.0 +networking-bagpipe # Apache-2.0 +networking-bgpvpn # Apache-2.0 +networking-l2gw # Apache-2.0 +networking-odl # Apache-2.0 +networking-sfc # Apache-2.0 +# NOTE(fdegir): NetworkX 2.3 dropped support for Python 2 +networkx<2.3;python_version<'3.0' # BSD +networkx;python_version>='3.4' # BSD +# NOTE(ralonsoh): neutron-lib 2.0.0 dropped support for Python 2 +neutron-lib<2.0.0;python_version=='2.7' # Apache-2.0 +neutron-lib;python_version>='3.6' # Apache-2.0 +neutron-dynamic-routing # Apache-2.0 +neutron-fwaas # Apache-2.0 +neutron-lbaas # Apache-2.0 +neutron-vpnaas # Apache-2.0 +neutron # Apache-2.0 +notifier # Apache-2.0 +oauth2client!=4.0.0 # Apache-2.0 +oauthlib # BSD +octavia-lib # Apache-2.0 +openstackdocstheme # Apache-2.0 +osc-lib # Apache-2.0 +osc-placement # Apache-2.0 +oslo.cache!=1.31.1,<2.0.0;python_version<'3.0' # Apache-2.0 +oslo.cache!=1.31.1,!=2.1.0;python_version>='3.0' # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0,<8.0.0;python_version<'3.0' # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0;python_version>='3.0' # Apache-2.0 +oslo.concurrency<4.0.0;python_version<'3.0' # Apache-2.0 +oslo.concurrency;python_version>='3.0' # Apache-2.0 +oslo.context<3.0.0;python_version<'3.0' # Apache-2.0 +oslo.context;python_version>='3.0' # Apache-2.0 +oslo.db # Apache-2.0 +oslo.i18n<4.0.0;python_version=='2.7' # Apache-2.0 +oslo.i18n;python_version>='3.6' # Apache-2.0 +oslo.limit<1.0.0;python_version=='2.7' # Apache-2.0 +oslo.limit;python_version>='3.0' # Apache-2.0 +oslo.log<4.0.0;python_version<'3.0' # Apache-2.0 +oslo.log;python_version>='3.0' # Apache-2.0 +oslo.messaging!=9.0.0 # Apache-2.0 +oslo.middleware # Apache-2.0 +oslo.policy<3.0.0;python_version=='2.7' # Apache-2.0 +oslo.policy!=3.0.0;python_version>='3.6' # Apache-2.0 +oslo.privsep<2.0.0;python_version=='2.7' # Apache-2.0 +oslo.privsep;python_version>='3.6' # Apache-2.0 +oslo.reports<2.0.0;python_version<'3.0' # Apache-2.0 +oslo.reports;python_version>='3.6' # Apache-2.0 +oslo.rootwrap # Apache-2.0 +# NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641 +oslo.serialization!=2.19.1,<3.0.0;python_version<'3.0' # Apache-2.0 +oslo.serialization!=2.19.1;python_version>='3.0' # Apache-2.0 +oslo.service!=1.28.1 # Apache-2.0 +oslo.upgradecheck<0.4.0;python_version=='2.7' # Apache-2.0 +oslo.upgradecheck;python_version>='3.6' # Apache-2.0 +# NOTE(lajoskatona): oslo.utils version between 3.39.1 and 3.40.1 excluded due to bug 1812922 +oslo.utils!=3.39.1,!=3.40.0,!=3.40.1,<4.0.0;python_version<'3.0' # Apache-2.0 +oslo.utils!=3.39.1,!=3.40.0,!=3.40.1;python_version>='3.0' # Apache-2.0 +oslo.vmware # Apache-2.0 +oslo.versionedobjects<2.0.0;python_version=='2.7' # Apache-2.0 +oslo.versionedobjects;python_version>='3.6' # Apache-2.0 +osprofiler # Apache-2.0 +os-apply-config # Apache-2.0 +os-brick!=2.8.0 # Apache-2.0 +os-client-config # Apache-2.0 +os-collect-config # Apache-2.0 +os-dpm # Apache-2.0 +os-net-config # Apache-2.0 +os-refresh-config # Apache-2.0 +os-resource-classes # Apache-2.0 +os-service-types # Apache-2.0 +os-testr<2.0.0;python_version=='2.7' # Apache-2.0 +os-testr;python_version>='3.6' # Apache-2.0 +os-traits # Apache-2.0 +os-ken<1.0.0;python_version=='2.7' # Apache-2.0 +os-ken;python_version>='3.6' # Apache-2.0 +os-vif!=1.8.0,!=1.12.0,<2.0.0;python_version=='2.7' # Apache-2.0 +os-vif!=1.8.0,!=1.12.0;python_version>='3.6' # Apache-2.0 +ovs # Apache-2.0 +os-win<5.0.0;python_version=='2.7' # Apache-2.0 +os-win;python_version>='3.6' # Apache-2.0 +os-xenapi # Apache-2.0 +paramiko # LGPLv2.1+ +Parsley # MIT +pathlib2 # MIT +passlib # BSD +Paste # MIT +PasteDeploy # MIT +paunch # Apache-2.0 +pbr!=2.1.0 # Apache-2.0 +pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD +pexpect!=3.3 # ISC License +pifpaf # Apache-2.0 +pika # BSD +Pillow # PIL License +Pint<0.10;python_version<'3.6' # BSD +Pint;python_version>='3.6' # BSD +pip # MIT +prometheus-client # Apache-2.0 +protobuf # BSD License (3 clause) +PrettyTable<0.8 # BSD +psutil # BSD +pyasn1!=0.2.3 # BSD +pyasn1-modules # BSD +pycadf!=2.0.0,<3.0.0;python_version=='2.7' # Apache-2.0 +pycadf!=2.0.0;python_version>='3.6' # Apache-2.0 +PyECLib # BSD +pyghmi!=1.4.0,!=1.5.11 # Apache-2.0 +pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT +PyJWT # MIT +pykmip # Apache 2.0 License +python-ldap # PSF +pylxd # Apache-2.0 +pymemcache!=1.3.0 # Apache 2.0 License +pymongo!=3.1 # Apache-2.0 +PyMySQL # MIT License +pytest # MIT +pytest-django # BSD (3 clause) +pytest-html #MPL-2.0 +python-etcd # MIT License +pywbem # LGPLv2.1+ +pywinrm # MIT +salt!=2019.2.1,!=2019.2.2 # Apache-2.0 +storpool!=5.2.0,!=5.3.0 # Apache-2.0 +storpool.spopenstack # Apache-2.0 +dfs-sdk # Apache-2.0 +tap-as-a-service # Apache-2.0 +etcd3 # Apache-2.0 +etcd3gw!=0.2.2,!=0.2.3 # Apache-2.0 +typing # PSF +voluptuous # BSD License +pydot # MIT License +pydotplus # MIT License +crc16 # LGPLv3+ +pyzabbix # LGPL +statsd # MIT +weakrefmethod;python_version=='2.7' # PSF +zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License +opentracing # Apache-2.0 +jaeger-client # Apache-2.0 +pyngus # Apache-2.0 +pyOpenSSL # Apache-2.0 +pyparsing # MIT +pyroute2!=0.5.4,!=0.5.5;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2) +pysnmp # BSD +pystache # MIT +pysaml2!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0,!=4.6.0 # Apache-2.0 +# OpenStack clients. None of these should have an upper bound +# as that has implications for testing in the gate. +aodhclient # Apache-2.0 +gnocchiclient # Apache-2.0 +tricircleclient<1.0.0;python_version=='2.7' # Apache-2.0 +tricircleclient;python_version>='3.6' # Apache-2.0 +python-barbicanclient # Apache-2.0 +python-blazarclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-blazarclient;python_version>='3.6' # Apache-2.0 +python-ceilometerclient # Apache-2.0 +python-cinderclient!=4.0.0,<6.0.0;python_version=='2.7' # Apache-2.0 +python-cinderclient!=4.0.0;python_version>='3.6' # Apache-2.0 +python-cloudkittyclient<4.0.0;python_version=='2.7' # Apache-2.0 +python-cloudkittyclient;python_version>='3.6' # Apache-2.0 +python-congressclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-congressclient<2000;python_version>='3.6' # Apache-2.0 +python-designateclient # Apache-2.0 +python-freezerclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-freezerclient;python_version>='3.6' # Apache-2.0 +python-heatclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-heatclient;python_version>='3.6' # Apache-2.0 +python-hnvclient # Apache-2.0 +python-glanceclient # Apache-2.0 +python-glareclient # Apache-2.0 +python-ironic-inspector-client # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,<4.0.0;python_version=='2.7' # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0;python_version>='3.6' # Apache-2.0 +python-karborclient # Apache-2.0 +python-keystoneclient!=2.1.0 # Apache-2.0 +python-kingbirdclient # Apache-2.0 +python-magnumclient # Apache-2.0 +python-masakariclient # Apache-2.0 +python-manilaclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-manilaclient;python_version>='3.6' # Apache-2.0 +python-mistralclient!=3.2.0,<4.0.0;python_version=='2.7' # Apache-2.0 +python-mistralclient!=3.2.0;python_version>='3.6' # Apache-2.0 +python-muranoclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-muranoclient;python_version>='3.6' # Apache-2.0 +python-monascaclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-monascaclient;python_version>='3.6' # Apache-2.0 +python-neutronclient # Apache-2.0 +python-novaclient # Apache-2.0 +python-octaviaclient # Apache-2.0 +python-openstackclient # Apache-2.0 +python-qinlingclient<5.0.0;python_version=='2.7' # Apache-2.0 +python-qinlingclient;python_version>='3.6' # Apache-2.0 +python-rsdclient # Apache-2.0 +python-saharaclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-saharaclient;python_version>='3.6' # Apache-2.0 +python-searchlightclient<2.0.0;python_version=='2.7' #Apache-2.0 +python-searchlightclient;python_version>='3.6' #Apache-2.0 +python-senlinclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-senlinclient;python_version>='3.6' # Apache-2.0 +python-smaugclient # Apache-2.0 +python-solumclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-solumclient;python_version>='3.6' # Apache-2.0 +python-swiftclient # Apache-2.0 +python-tackerclient<1.0.0;python_version=='2.7' # Apache-2.0 +python-tackerclient;python_version>='3.6' # Apache-2.0 +python-troveclient # Apache-2.0 +python-vitrageclient<4.0.0;python_version=='2.7' # Apache-2.0 +python-vitrageclient;python_version>='3.6' # Apache-2.0 +python-watcherclient # Apache-2.0 +python-zaqarclient # Apache-2.0 +python-zunclient # Apache-2.0 +python-magic # MIT +python-memcached # PSF +python-dateutil # BSD +# 2013.6 is the first version of pytz that is PEP 440 compatible. +pytz # MIT +pyudev # LGPLv2.1+ +PyYAML # MIT +qpid-python;python_version=='2.7' # Apache-2.0 +raven # BSD +reno<3.0.0;python_version<'3.0' # Apache-2.0 +reno;python_version>='3.0' # Apache-2.0 +requests!=2.20.0 # Apache-2.0 +requests-aws # BSD License (3 clause) +requests-kerberos # ISC +requestsexceptions # Apache-2.0 +rfc3986 # Apache-2.0 +rsd-lib # Apache-2.0 +Routes # MIT +rtslib-fb # Apache-2.0 +ryu # Apache-2.0 +semantic-version # BSD +fasteners!=0.15 # Apache-2.0 +scrypt # BSD +simplejson # MIT +six # MIT +scipy # BSD +scikit-learn<=0.20.0;python_version<='3.4' # BSD +scikit-learn;python_version>='3.5' # BSD +setproctitle # BSD +# NOTE(yamahata): +# bug work around of sqlalchemy +# https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/ +# The fix which is in git master branch is planned for 1.1.9 +SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT +SQLAlchemy-Utils # BSD License +sqlalchemy-migrate # Apache-2.0 +sqlalchemy-filters # Apache-2.0 +sqlparse # BSD +stevedore # Apache-2.0 +storops # Apache-2.0 +systemd-python # LGPLv2+ +sysv-ipc # BSD License +suds-jurko # LGPLv3+ +sympy # BSD +taskflow # Apache-2.0 +tempest # Apache-2.0 +tooz # Apache-2.0 +tosca-parser # Apache-2.0 +tripleo-common!=11.3.0 # Apache-2.0 +validations-libs # Apache-2.0 +urllib3 # MIT +unicodecsv;python_version<'3.0' # BSD +warlock<2 # Apache-2.0 +WebOb # MIT +websocket-client # LGPLv2+ +websockify # LGPLv3 +wheel # MIT +PyMI;sys_platform=='win32' # Apache 2.0 License +wmi;sys_platform=='win32' # MIT +WSME # MIT +xattr;sys_platform!='win32' # MIT +xstatic-angular-uuid # MIT License +xstatic-angular-vis # MIT License +xstatic-filesaver # MIT License +xstatic-js-yaml # MIT License +xstatic-json2yaml # MIT License +XenAPI # LGPL +XStatic # MIT License +XStatic-Angular # MIT License +XStatic-Angular-Bootstrap # MIT License +XStatic-Angular-Gettext # MIT License +XStatic-Angular-lrdragndrop # MIT License +XStatic-Angular-Schema-Form # MIT +XStatic-angular-ui-router # MIT +XStatic-Bootstrap-Datepicker # Apache 2.0 License +XStatic-Bootstrap-SCSS # Apache 2.0 License +XStatic-bootswatch # MIT License +XStatic-D3 # BSD License (3 clause) +XStatic-Dagre # MIT License +XStatic-Dagre-D3 # MIT License +XStatic-Font-Awesome # SIL OFL 1.1 License, MIT License +XStatic-Graphlib # MIT License +XStatic-Hogan # Apache 2.0 License +XStatic-Jasmine # MIT License +XStatic-jQuery<2 # MIT License +XStatic-JQuery-Migrate # MIT License +XStatic-JQuery.quicksearch # MIT License +XStatic-JQuery.TableSorter # MIT License +XStatic-jquery-ui # MIT License +XStatic-JSEncrypt # MIT License +XStatic-lodash # MIT License +XStatic-mdi # SIL OPEN FONT LICENSE Version 1.1 +XStatic-moment # MIT License +XStatic-Moment-Timezone # MIT License +XStatic-objectpath # MIT +XStatic-Rickshaw # BSD License (prior) +XStatic-roboto-fontface # Apache 2.0 License +XStatic-smart-table # MIT License +XStatic-Spin # MIT License +XStatic-term.js # MIT License +XStatic-tv4 # MIT +XStatic-Angular-FileUpload # MIT License +yaql # Apache 2.0 License +# NOTE(dtantsur): zeroconf dropped compatibility with Python 2 in version 0.20 +zeroconf<0.20;python_version=='2.7' # LGPL +zeroconf;python_version>='3.0' # LGPL +zhmcclient # Apache 2.0 License +# Testing tools below, which are typically in test-requires.txt +bashate<1.0.0;python_version=='2.7' # Apache-2.0 +bashate;python_version>='3.6' # Apache-2.0 +couchdb # Apache-2.0 +coverage!=4.4 # Apache-2.0 +demjson # GLGPLv3+ +docker # Apache-2.0 +django-nose # BSD +doc8 # Apache-2.0 +Pygments # BSD license +fixtures # Apache-2.0/BSD +fixtures-git # Apache-2.0 +freezegun # Apache-2.0 +gabbi # Apache-2.0 +kafka-python # Apache-2.0 +keyring<19.0.0;python_version=='2.7' # MIT/PSF +keyring;python_version>='3.4' # MIT/PSF +ldappool # MPL +# Do not make mock conditional on Python version: we depend on newer code than +# in [most] releases of the Python std library. +# https://github.com/testing-cabal/mock/issues/487 for 4.0.[0-1] blacklist +mock!=4.0.0,!=4.0.1 # BSD +mox # Apache-2.0 +mox3 # Apache-2.0 +nodeenv # BSD +nose # LGPL +nose-exclude # LGPL +nosehtmloutput # Apache-2.0 +nosexcover # BSD +openstack-doc-tools # Apache-2.0 +openstack.nose-plugin # Apache-2.0 +openstacksdk # Apache-2.0 +os-api-ref # Apache-2.0 +oslosphinx # Apache-2.0 +oslotest # Apache-2.0 +ovsdbapp # Apache-2.0 +proboscis # Apache-2.0 +psycopg2 # LGPL/ZPL +psycopg2-binary # LGPL/ZPL +purestorage # BSD +pysendfile;sys_platform!='win32' # MIT +python-3parclient # Apache-2.0 +python-consul # MIT License +python-subunit # Apache-2.0/BSD +python-pytun # MIT +pyzmq # LGPL+BSD +redis # MIT +hiredis # BSD +requests-mock # Apache-2.0 +tenacity # Apache-2.0 +retrying!=1.3.0 # Apache-2.0 +selenium # Apache-2.0 +# While setuptools cannot deal with pre-installed incompatible versions, +# setting a lower bound is not harmful - it makes error messages cleaner. DO +# NOT set an upper bound on setuptools, as that will lead to uninstallable +# situations as progressive releases of projects are done. +# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951 +# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086 +# Cap setuptools to 58.0.0 on python3.5 due to the incompatibility with decorator 3.4.0. +setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<58.0.0;python_version>='3.5' # PSF/ZPL +setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='2.7' # PSF/ZPL +sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD +sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0;python_version>='3.4' # BSD +sphinx-testing # BSD License +sphinxcontrib-actdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-actdiag;python_version>='3.4' # BSD +sphinxcontrib-apidoc # BSD +sphinxcontrib-blockdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-blockdiag;python_version>='3.4' # BSD +sphinxcontrib-httpdomain # BSD +sphinxcontrib-nwdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-nwdiag;python_version>='3.4' # BSD +sphinxcontrib-seqdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-seqdiag;python_version>='3.4' # BSD +sphinxcontrib-pecanwsme # Apache-2.0 +sphinxcontrib-fulltoc # Apache-2.0 +sphinx-feature-classification # Apache-2.0 +sphinxmark # Apache-2.0 +sphinxcontrib.datatemplates # BSD License +sphinxcontrib-programoutput # BSD license +sphinxcontrib-svg2pdfconverter # BSD License +stestr!=2.3.0,!=3.0.0 # Apache-2.0 +sushy!=1.9.0<3.0.0;python_version=='2.7' # Apache-2.0 +sushy!=1.9.0;python_version>='3.6' # Apache-2.0 +tabulate # MIT +testrepository # Apache-2.0/BSD +testresources # Apache-2.0/BSD +testscenarios # Apache-2.0/BSD +testtools # MIT +trollius;python_version=='2.7' # Apache-2.0 +ujson # BSD +unittest2 # BSD +virtualbmc # Apache-2.0 +virtualenv<20.8 # MIT +vmware-nsxlib # Apache-2.0 +wrapt # BSD License +WebTest # MIT +Werkzeug # BSD License +whereto # Apache-2.0 +xmltodict # MIT +wsgi-intercept # MIT License +xvfbwrapper #license: MIT +zake # Apache-2.0 +zuul-sphinx # Apache-2.0 +shade # Apache-2.0 +sadisplay # BSD +# NOTE(tonyb): Generally adding OpenSatck services isn't allowed but some consumers of ceilometer +# use it like a library so until there is a ceilometer-lib (or similar) this is our best option. +ceilometer # Apache-2.0 +# Indirect dependencies that need blocking +# NOTE(bnemec): 1.16.0 introduced a bug that is breaking tooz. 1.18.0 fixes it. +# See https://bugs.launchpad.net/python-tooz/+bug/1808046 +grpcio!=1.16.0,!=1.16.1,!=1.17.0,!=1.17.1 +# NOTE(dhellmann): We need to include this package for testing the +# release jobs that propose constraint updates, even though it is not +# a real requirement of any of our software. +openstack-release-test +# NOTE(snapiri): This is required for Dragonflow topology visualization +skydive-client # Apache-2.0 +# NOTE(anilvenkata): This is required for profiling oslo.service processes +Yappi!=0.98,!=0.99 # MIT +# NOTE(yoctozepto): To avoid repeated breakage (this is a dep of deps) +zipp<2;python_version<'3.6' # MIT +zipp;python_version>='3.6' # MIT +# NOTE(prometheanfire): python3 caps, are not approved for use in OpenStack +gitdb<4.0.0;python_version=='2.7' # BSD +gitdb;python_version>='3.4' # BSD +gitdb2<3.0.0;python_version=='2.7' # BSD +gitdb2;python_version>='3.4' # BSD diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/antelope/upper-constraints.txt b/build-tools/build-wheels/debian-trixie/openstack-requirements/antelope/upper-constraints.txt new file mode 100644 index 00000000..ec327ee0 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/antelope/upper-constraints.txt @@ -0,0 +1,594 @@ + +ntlm-auth===1.5.0 +voluptuous===0.13.1 +chardet===5.0.0 +enum-compat===0.0.3 +rsa===4.9 +restructuredtext-lint===1.4.0 +netmiko===4.1.2 +sshtunnel===0.4.0 +PasteDeploy===2.1.1 +typing===3.7.4.3 +python-saharaclient===4.1.0 +Routes===2.5.1 +rtslib-fb===2.1.75 +oslo.limit===2.1.0 +tzdata===2022.4 +smmap===5.0.0 +confget===4.1.1 +XStatic-Angular-Bootstrap===2.5.0.0 +WebOb===1.8.7 +sphinxcontrib-actdiag===3.0.0 +pecan===1.4.2 +ryu===4.34 +os-api-ref===2.3.0 +python-ldap===3.4.3 +oslo.concurrency===5.1.1 +websocket-client===1.4.1 +osprofiler===3.4.3 +os-resource-classes===1.1.0 +tabulate===0.9.0 +python-ironic-inspector-client===4.9.0 +lxml===4.9.1 +vintage===0.4.1 +ntc-templates===3.1.0 +rst2txt===1.1.0 +setproctitle===1.3.2 +pytest===7.2.0 +python-slugify===6.1.2 +cursive===0.2.3 +oslo.service===3.1.1 +django-appconf===1.0.5 +sphinxcontrib-nwdiag===2.0.0 +rbd-iscsi-client===0.1.8 +requests-aws===0.1.8 +alabaster===0.7.12 +pbr===5.11.1 +munch===2.5.0 +waiting===1.4.1 +attrs===22.1.0 +microversion-parse===1.0.1 +Pint===0.19.2 +oslo.i18n===6.0.0 +jsonpath-rw-ext===1.2.2 +python-mistralclient===5.0.0 +oslo.context===5.1.1 +python-senlinclient===3.0.0 +rcssmin===1.1.0 +pycadf===3.1.1 +grpcio===1.49.1 +pysendfile===2.0.1 +sniffio===1.3.0 +fixtures===4.0.1 +neutron-lib===3.4.1 +XStatic-FileSaver===1.3.2.0 +oslo.metrics===0.6.0 +storage-interfaces===1.0.4 +persist-queue===0.8.0 +pystache===0.6.0 +XStatic-Font-Awesome===4.7.0.0 +nose===1.3.7 +nosehtmloutput===0.0.7 +waitress===2.1.2 +os-refresh-config===13.1.0 +pysnmp===4.4.12 +Mako===1.2.3 +pyScss===1.4.0 +sphinxcontrib-htmlhelp===2.0.0 +XStatic-jQuery===1.12.4.1 +ddt===1.6.0 +XStatic-Graphlib===2.1.7.0 +pyserial===3.5 +moto===3.1.16 +infi.dtypes.wwn===0.1.1 +python-freezerclient===5.1.0 +os-xenapi===0.3.4 +python-vitrageclient===4.7.0 +nosexcover===1.0.11 +krest===1.3.3 +psycopg2===2.9.4 +networkx===2.8.7 +XStatic-Angular===1.8.2.2 +pyngus===2.3.1 +Pillow===9.2.0 +zuul-sphinx===0.6.0 +tripleo-common===17.0.0 +tripleo-ansible===6.0.0 +Tempita===0.5.2 +ply===3.11 +google-api-core===2.10.2 +requests-toolbelt===0.10.0 +simplejson===3.17.6 +types-paramiko===2.11.6 +immutables===0.19 +python-swiftclient===4.2.0 +pyOpenSSL===22.1.0 +monasca-common===3.7.0 +zeroconf===0.39.1 +scipy===1.9.1 +python-gnupg===0.5.0 +mypy-extensions===0.4.3 +rsd-lib===1.2.0 +XStatic-Jasmine===2.4.1.2 +googleapis-common-protos===1.56.4 +python-glanceclient===4.3.0 +jaraco.classes===3.2.3 +pyinotify===0.9.6 +debtcollector===2.5.0 +requests-unixsocket===0.3.0 +responses===0.21.0 +croniter===1.3.7 +horizon===23.1.0 +octavia-lib===3.2.0 +python-watcherclient===4.1.0 +MarkupSafe===2.1.1 +pypowervm===1.1.27 +ruamel.yaml.clib===0.2.6 +doc8===0.11.2 +pymongo===4.2.0 +python-cloudkittyclient===4.7.0 +soupsieve===2.3.2.post1 +sqlparse===0.4.3 +oslotest===4.5.0 +jsonpointer===2.3 +defusedxml===0.7.1 +netaddr===0.8.0 +pyghmi===1.5.53 +sphinxcontrib-blockdiag===3.0.0 +thrift===0.16.0 +gnocchiclient===7.0.7 +wcwidth===0.2.5 +sphinxcontrib.datatemplates===0.9.1 +jsonpath-rw===1.4.0 +prettytable===3.4.1 +vine===5.0.0 +taskflow===5.1.0 +traceback2===1.4.0 +arrow===1.2.3 +semantic-version===2.10.0 +async-timeout===4.0.2 +virtualbmc===3.0.1 +deprecation===2.1.0 +SQLAlchemy===1.4.41 +pyroute2===0.7.3 +google-auth===2.12.0 +kazoo===2.9.0 +pyspnego===0.6.0 +XStatic-roboto-fontface===0.5.0.0 +pyudev===0.24.0 +eventlet===0.33.1 +openstack-doc-tools===3.3.1 +oslo.messaging===14.2.1 +jira===3.4.1 +extras===1.0.0 +PyJWT===2.5.0 +typing_extensions===4.4.0 +XStatic-lodash===4.16.4.2 +zVMCloudConnector===1.6.3 +paramiko===2.11.0 +ifaddr===0.2.0 +reno===4.0.0 +ncclient===0.6.13 +imagesize===1.4.1 +pydot===1.4.2 +urllib3===1.26.12 +graphviz===0.20.1 +PyKMIP===0.10.0 +whereto===0.4.0 +pywbem===1.4.1 +python-subunit===1.4.2 +tornado===6.2 +pycparser===2.21 +mock===4.0.3 +PyYAML===6.0 +beautifulsoup4===4.11.1 +os-net-config===16.0.0 +ovs===2.17.1.post1 +cryptography===38.0.4 +httpcore===0.15.0 +URLObject===2.4.3 +nocasedict===1.0.4 +task-core===0.2.1 +psycopg2-binary===2.9.4 +openstack-release-test===3.3.1 +validations-libs===1.8.0 +pylxd===2.3.1 +pycryptodomex===3.15.0 +anyjson===0.3.3 +requests-mock===1.10.0 +os-apply-config===13.1.0 +prometheus-client===0.14.1 +oslosphinx===4.18.0 +gunicorn===20.1.0 +storpool===7.1.0 +textfsm===1.1.2 +python-3parclient===4.2.12 +unittest2===1.1.0 +django-compressor===4.1 +libvirt-python===8.8.0 +python-zunclient===4.6.0 +tzlocal===4.2 +sphinxcontrib-jsmath===1.0.1 +python-novaclient===18.3.0 +pact===1.12.0 +bcrypt===4.0.0 +os-client-config===2.1.0 +XStatic-Angular-Gettext===2.4.1.0 +Deprecated===1.2.13 +h11===0.12.0 +Pygments===2.13.0 +XStatic-Hogan===2.0.0.3 +XStatic-objectpath===1.2.1.0 +python-manilaclient===4.4.0 +sphinxcontrib-serializinghtml===1.1.5 +requests===2.28.1 +snowballstemmer===2.2.0 +Jinja2===3.1.2 +XStatic-Bootstrap-SCSS===3.4.1.0 +pyzabbix===1.2.1 +ptyprocess===0.7.0 +threadloop===1.0.2 +amqp===5.1.1 +ruamel.yaml===0.17.21 +websockify===0.10.0 +gssapi===1.8.1 +XStatic-JQuery.quicksearch===2.0.3.2 +mpmath===1.2.1 +python-binary-memcached===0.31.1 +django-debreach===2.1.0 +sphinx-feature-classification===1.1.0 +django-pymemcache===1.0.0 +XStatic-JQuery-Migrate===1.2.1.2 +pytest-html===3.2.0 +appdirs===1.4.4 +tinyrpc===1.1.5 +google-auth-httplib2===0.1.0 +daiquiri===3.2.1 +influxdb===5.3.1 +funcparserlib===1.0.0 +passlib===1.7.4 +dib-utils===0.0.11 +cliff===4.2.0 +os-brick===6.2.2 +ansible-runner===2.2.1 +pytz-deprecation-shim===0.1.0.post0 +scp===0.14.4 +python-zaqarclient===2.5.1 +lockfile===0.12.2 +ldappool===3.0.0 +termcolor===2.0.1 +joblib===1.2.0 +google-api-python-client===2.64.0 +castellan===4.1.0 +oslo.versionedobjects===3.1.0 +ssh-python===0.10.0 +enmerkar===0.7.1 +webcolors===1.12 +aodhclient===3.2.0 +autobahn===22.7.1 +SQLAlchemy-Utils===0.38.3 +retryz===0.1.9 +pluggy===1.0.0 +coverage===6.5.0 +freezegun===1.2.2 +toml===0.10.2 +pycdlib===1.13.0 +pyperclip===1.8.2 +cassandra-driver===3.25.0 +XStatic-Angular-Schema-Form===0.8.13.0 +gabbi===2.4.0 +nwdiag===3.0.0 +XStatic-bootswatch===3.3.7.0 +pytest-xdist===2.5.0 +XStatic-JS-Yaml===3.8.1.0 +XStatic-term.js===0.0.7.0 +oslo.log===5.2.0 +nodeenv===1.7.0 +gossip===2.4.0 +suds-community===1.1.2 +importlib-metadata===5.0.0 +oslo.middleware===5.1.1 +XStatic-mdi===1.6.50.2 +django-pyscss===2.0.2 +uritemplate===4.1.1 +docutils===0.17.1 +threadpoolctl===3.1.0 +os-ken===2.6.0 +ujson===5.5.0 +selenium===3.141.0 +mypy===0.982 +mistral-lib===2.8.0 +dogtag-pki===11.2.1 +XStatic-Angular-UUID===0.0.4.0 +purestorage===1.19.0 +sphinxcontrib-seqdiag===3.0.0 +os-win===5.9.0 +capacity===1.3.14 +retrying===1.3.3 +XStatic-Dagre===0.6.4.1 +platformdirs===2.5.2 +pydotplus===2.0.2 +boto3===1.24.89 +jeepney===0.8.0 +stestr===4.0.1 +oslo.serialization===5.1.1 +warlock===2.0.1 +exabgp===4.2.21 +sphinxcontrib-httpdomain===1.8.0 +metalsmith===1.10.0 +s3transfer===0.6.0 +text-unidecode===1.3 +sphinxcontrib-svg2pdfconverter===1.2.0 +murano-pkg-check===0.3.0 +oslo.vmware===4.1.1 +XStatic-moment===2.8.4.3 +autopage===0.5.1 +sqlalchemy-migrate===0.13.0 +gitdb===4.0.9 +python-monascaclient===2.7.0 +ldap3===2.9.1 +requests-ntlm===1.1.0 +sphinx-rtd-theme===0.5.1 +automaton===3.1.0 +os-service-types===1.7.0 +keyring===23.9.3 +elementpath===3.0.2 +testscenarios===0.5.0 +sphinxcontrib-pecanwsme===0.10.0 +sadisplay===0.4.9 +infinisdk===206.1.2 +packaging===21.3 +XStatic-Dagre-D3===0.4.17.0 +nose-exclude===0.5.0 +psutil===5.9.2 +py===1.11.0 +txaio===22.2.1 +elasticsearch===2.4.1 +django-nose===1.4.7 +asgiref===3.5.2 +XStatic-JQuery.TableSorter===2.14.5.2 +pifpaf===3.1.5 +pysmi===0.3.4 +blockdiag===3.0.0 +testtools===2.5.0 +infi.dtypes.iqn===0.4.0 +XStatic-tv4===1.2.7.0 +XStatic-JSEncrypt===2.3.1.1 +python-cinderclient===9.3.0 +keystonemiddleware===10.2.0 +django-formtools===2.4 +XStatic-Spin===1.2.5.3 +tap-as-a-service===11.0.0 +os-traits===2.10.0 +typepy===1.3.0 +SecretStorage===3.3.3 +opentracing===2.4.0 +XStatic-Rickshaw===1.5.1.0 +iso8601===1.1.0 +tooz===3.2.0 +linecache2===1.0.0 +oauth2client===4.1.3 +idna===3.4 +yamlloader===1.1.0 +protobuf===4.21.7 +pyhcl===0.4.4 +sushy===4.4.2 +python-neutronclient===9.0.0 +pika===1.3.0 +oslo.cache===3.3.1 +WebTest===3.0.0 +openstack.nose-plugin===0.11 +os-collect-config===13.1.0 +edgegrid-python===1.3.1 +python-qpid-proton===0.37.0 +python-octaviaclient===3.4.0 +pysaml2===7.2.1 +requests-oauthlib===1.3.1 +oslo.reports===3.0.0 +bitmath===1.3.3.1 +ceilometermiddleware===3.1.0 +testrepository===0.0.20 +sympy===1.11.1 +Logbook===1.5.3 +PyNaCl===1.5.0 +osc-lib===2.7.0 +python-consul===1.1.0 +more-itertools===8.14.0 +seqdiag===3.0.0 +numpy===1.23.3 +msgpack===1.0.4 +Sphinx===4.5.0 +oslo.config===9.1.1 +openstackdocstheme===3.1.0 +osc-placement===4.1.0 +zake===0.2.2 +python-rsdclient===1.0.2 +flux===1.3.5 +python-solumclient===3.7.0 +krb5===0.4.0 +PyMySQL===1.0.2 +uhashring===2.1 +kubernetes===24.2.0 +httplib2===0.20.4 +betamax===0.8.1 +construct===2.10.68 +pytest-metadata===2.0.2 +pyparsing===3.0.9 +geomet===0.2.1.post1 +distlib===0.3.6 +XStatic-Moment-Timezone===0.5.22.0 +dogpile.cache===1.1.8 +python-barbicanclient===5.5.0 +salt===3005.1 +api-object-schema===2.0.0 +WSME===0.11.0 +tomli===2.0.1 +proboscis===1.2.6.0 +oslo.upgradecheck===2.1.1 +stevedore===5.0.0 +pywinrm===0.4.3 +botocore===1.27.89 +xmltodict===0.13.0 +pyasn1===0.4.8 +directord===0.12.0 +oslo.rootwrap===7.0.1 +Django===3.2.16 +pexpect===4.8.0 +contextvars===2.4 +cmd2===2.4.2 +python-json-logger===2.0.4 +redis===4.3.4 +jmespath===1.0.1 +click===8.1.3 +XStatic-smart-table===1.4.13.2 +kuryr-lib===2.7.0 +scrypt===0.8.20 +jsonpatch===1.32 +python-daemon===2.3.1 +types-cryptography===3.3.23 +os-testr===3.0.0 +cotyledon===1.7.3 +xattr===0.9.9 +systemd-python===234 +python-memcached===1.59 +openstacksdk===1.0.1 +six===1.16.0 +dulwich===0.20.46 +dfs-sdk===1.2.27 +sentinels===1.0.0 +kombu===5.2.4 +distro===1.7.0 +zstd===1.5.2.6 +yaql===2.0.0 +requestsexceptions===1.4.0 +testresources===2.0.1 +falcon===3.1.0 +etcd3gw===2.1.0 +Flask-RESTful===0.3.9 +GitPython===3.1.30 +python-ironicclient===5.1.0 +XStatic===1.0.2 +XStatic-Angular-FileUpload===12.0.4.0 +python-openstackclient===6.2.0 +pyzmq===21.0.2 +nocaselist===1.0.6 +oslo.db===12.3.1 +simplegeneric===0.8.1 +python-pcre===0.7 +yappi===1.4.0 +mbstrdecoder===1.1.1 +abclient===0.2.3 +pymemcache===3.5.2 +wrapt===1.14.1 +oslo.privsep===3.1.0 +sphinxcontrib-apidoc===0.3.0 +oslo.policy===4.1.1 +python-muranoclient===2.6.0 +hvac===1.0.2 +pyeclib===1.6.1 +wsgi-intercept===1.10.0 +ndg-httpsclient===0.5.1 +pyrsistent===0.18.1 +repoze.lru===0.7 +rfc3986===1.5.0 +tenacity===6.3.1 +python-designateclient===5.2.0 +future===0.18.3 +Paste===3.5.2 +pytest-django===4.5.2 +jaeger-client===4.8.0 +XStatic-Json2yaml===0.1.1.0 +boto===2.49.0 +os-vif===3.1.1 +hyperlink===21.0.2 +mitba===1.1.1 +python-masakariclient===8.1.0 +Werkzeug===2.2.2 +pyasn1-modules===0.2.8 +APScheduler===3.9.1 +monotonic===1.6 +xmlschema===2.1.1 +python-troveclient===8.1.0 +etcd3===0.12.0 +cachez===0.1.2 +XStatic-Bootstrap-Datepicker===1.4.0.0 +CouchDB===1.2 +netifaces===0.11.0 +cachetools===5.2.0 +ws4py===0.5.1 +sphinxcontrib-qthelp===1.0.3 +keystoneauth1===5.1.2 +statsd===3.3.0 +XenAPI===2.14 +python-keystoneclient===5.1.0 +ceilometer===20.0.0 +diskimage-builder===3.25.0 +heat-translator===2.7.0 +python-magnumclient===4.1.0 +docker===6.0.0 +storops===1.2.11 +anyio===3.6.1 +XStatic-Angular-lrdragndrop===1.0.2.4 +ovsdbapp===2.2.1 +aniso8601===9.0.1 +rjsmin===1.2.0 +icalendar===4.1.0 +decorator===5.1.1 +DateTimeRange===1.2.0 +cffi===1.15.1 +python-cyborgclient===2.1.0 +futurist===2.4.1 +jsonschema===4.16.0 +sphinxcontrib-devhelp===1.0.2 +python-blazarclient===3.6.0 +alembic===1.8.1 +execnet===1.9.0 +glance-store===4.3.1 +sphinxcontrib-programoutput===0.17 +storpool.spopenstack===3.1.0 +sphinx-testing===1.0.1 +dnspython===2.2.1 +oauthlib===3.2.1 +Babel===2.10.3 +logutils===0.3.5 +zipp===3.8.1 +greenlet===1.1.3 +XStatic-Angular-Vis===4.16.0.0 +iniconfig===1.1.1 +confluent-kafka===1.9.2 +xvfbwrapper===0.2.9 +tosca-parser===2.8.0 +charset-normalizer===2.1.1 +Flask===2.2.2 +httpx===0.23.0 +sqlalchemy-filters===0.12.0 +marathon===0.13.0 +sphinxcontrib-runcmd===0.2.0 +confspirator===0.3.0 +fasteners===0.18 +sortedcontainers===2.4.0 +python-linstor===1.13.0 +filelock===3.8.0 +python-tackerclient===1.13.0 +python-heatclient===3.2.0 +kafka-python===2.0.2 +oslo.utils===6.1.0 +gitdb2===4.0.2 +requests-kerberos===0.14.0 +itsdangerous===2.1.2 +XStatic-jquery-ui===1.13.0.1 +monasca-statsd===2.6.0 +python-dateutil===2.8.2 +virtualenv===20.16.5 +colorama===0.4.5 +confetti===2.5.3 +ironic-lib===5.4.0 +pytz===2022.4 +pytest-forked===1.4.0 +XStatic-D3===3.5.17.0 +actdiag===3.0.0 +sysv-ipc===1.1.0 +sphinxcontrib-applehelp===1.0.2 +scikit-learn===1.1.2 +pytest-cov===4.0.0 +bindep===2.10. diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/caracal/global-requirements.txt b/build-tools/build-wheels/debian-trixie/openstack-requirements/caracal/global-requirements.txt new file mode 100644 index 00000000..48ad923d --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/caracal/global-requirements.txt @@ -0,0 +1,522 @@ +alembic!=1.2.0,!=1.6.3 # MIT +amqp!=2.1.4,!=5.0.4 # BSD +ansible-runner!=1.3.5 # Apache 2.0 +appdirs # MIT License +apscheduler # MIT License +autobahn # MIT License +automaton # Apache-2.0 +autopage # Apache-2.0 +beautifulsoup4 # MIT +Babel!=2.4.0 # BSD +# NOTE bcrypt is currently pinned at 4.0.1 in upper-constraints due to an issue +# with passlib: https://foss.heptapod.net/python-libs/passlib/-/issues/190 +bcrypt==4.0.1 # Apache-2.0 +betamax # Apache-2.0 +blockdiag!=2.0.0 # Apache-2.0 +boto # MIT +boto3 # Apache-2.0 +botocore # Apache-2.0 +cassandra-driver!=3.6.0 # Apache-2.0 +castellan # Apache-2.0 +# ceilometermiddleware might not show up with a search of setup.cfg and +# requirements files, but some projects use it via being installed by devstack +ceilometermiddleware # Apache-2.0 +cachetools # MIT License +cffi # MIT +cliff!=2.9.0,!=2.17.0 # Apache-2.0 +cmd2!=0.8.3 # MIT +confluent-kafka!=1.4.0 # Apache-2.0 +confspirator # Apache-2.0 +cotyledon # Apache-2.0 +construct # MIT +croniter # MIT License +cryptography!=2.0 # BSD/Apache-2.0 +cursive # Apache-2.0 +datetimerange # MIT +ddt # MIT +debtcollector # Apache-2.0 +decorator # BSD +defusedxml # PSF +dib-utils # Apache-2.0 +diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0 +distro # Apache-2.0 +Django<4.3 # BSD +django-compressor # MIT +django-debreach # BSD +django-formtools # BSD +django-pymemcache # Apache-2.0 +# eventlet is not compatibile with 2.0.0: https://github.com/eventlet/eventlet/issues/619 +dnspython!=2.0.0,!=2.2.0 # http://www.dnspython.org/LICENSE +# Note(tonyb): We don't actually directly depend on docutils but we pull it in +# indirectly and we needed to blacklist 0.13.1 for problems with +# Sphinx 1.3. This can be now removed once all projects removed it. +docutils # OSI-Approved Open Source, Public Domain +dogpile.cache!=0.9.1,!=1.1.7 # BSD +dogtag-pki # LGPLv3+ +dulwich!=0.19.3,!=0.19.7 # Apache-2.0 +edgegrid-python # Apache-2.0 +elasticsearch<3.0.0 # Apache-2.0 +enmerkar # BSD +# NOTE: New versions of eventlet should not be accepted lightly +# as they have earned a reputation of frequently breaking things. +eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0,!=0.32.0,!=0.34.1,!=0.34.2,!=0.34.3,!=0.35.0 # MIT +exabgp!=4.0.6 # BSD +extras # MIT +falcon # Apache-2.0 +Flask!=0.11 # BSD +Flask-RESTful # BSD +# NOTE(tonyb): funcparserlib is an indirect requirement (via blockdiag). +# There has recently been a 2.0.0a0 release which we'd like to exclude. +# TODO(tonyb): Early in 'D/2024.2' revert this change. +funcparserlib<2 # MIT +futurist # Apache-2.0 +glance-store!=0.29.0 # Apache-2.0 +google-api-python-client # Apache-2.0 +graphviz!=0.5.0 # MIT License +greenlet!=0.4.14 # MIT +GitPython # BSD License (3 clause) +gunicorn # MIT +heat-translator # Apache-2.0 +horizon # Apache-2.0 +httplib2 # MIT +httpx # BSD +hvac # Apache-2.0 +icalendar # BSD +# Do not make importlib-metadata conditional on Python version: we depend on +# newer code than in [most] releases of the Python std library. +importlib-metadata # Apache-2.0 +infinisdk # BSD-3 +influxdb!=5.3.0 # MIT +influxdb-client # MIT +infoblox-client # Apache-2.0 +ironic-lib!=4.6.0 # Apache-2.0 +iso8601 # MIT +jira # BSD License (2 clause) +Jinja2 # BSD License (3 clause) +jmespath # MIT +jsonpatch!=1.20 # BSD +jsonpath-rw # Apache-2.0 +jsonpath-rw-ext # Apache-2.0 +jsonschema # MIT +kazoo # Apache-2.0 +keystoneauth1 # Apache-2.0 +keystonemiddleware # Apache-2.0 +krest # Apache-2.0 +kubernetes # Apache-2.0 +kuryr-lib # Apache-2.0 +packaging!=20.5,!=20.6,!=20.7 # Apache-2.0 +pyScss!=1.3.5 # MIT License +django-pyscss # BSD License (2 clause) +kombu!=4.0.2 # BSD +ldap3 # LGPLv3 +libvirt-python!=4.1.0,!=4.2.0 # LGPLv2+ +lxml!=3.7.0 # BSD +Mako # MIT +marathon!=0.9.1 # MIT +metalsmith # Apache-2.0 +microversion-parse # Apache-2.0 +mistral-lib # Apache-2.0 +monasca-common # Apache-2.0 +monasca-statsd # Apache-2.0 +msgpack # Apache-2.0 +munch # MIT +murano-pkg-check # Apache-2.0 +mypy # MIT +ncclient # Apache-2.0 +netaddr # BSD +netifaces!=0.10.0,!=0.10.1 # MIT +netmiko # MIT +networking-bagpipe # Apache-2.0 +networking-bgpvpn # Apache-2.0 +networking-l2gw # Apache-2.0 +networking-odl # Apache-2.0 +networking-sfc # Apache-2.0 +# NOTE(fdegir): NetworkX 2.3 dropped support for Python 2 +networkx!=2.8.4 # BSD +# NOTE(ralonsoh): neutron-lib 2.0.0 dropped support for Python 2 +neutron-lib # Apache-2.0 +neutron-dynamic-routing # Apache-2.0 +neutron-fwaas # Apache-2.0 +neutron # Apache-2.0 +oauth2client!=4.0.0 # Apache-2.0 +oauthlib # BSD +octavia-lib # Apache-2.0 +openstackdocstheme!=2.1.0,!=2.1.1 # Apache-2.0 +osc-lib # Apache-2.0 +osc-placement # Apache-2.0 +oslo.cache!=1.31.1,!=2.1.0 # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0 # Apache-2.0 +oslo.concurrency # Apache-2.0 +oslo.context # Apache-2.0 +oslo.db # Apache-2.0 +oslo.i18n # Apache-2.0 +oslo.limit # Apache-2.0 +oslo.log!=3.44.2,!=4.1.2,!=4.2.0,!=5.0.1,!=5.0.2,!=5.1.0 # Apache-2.0 +oslo.messaging!=9.0.0 # Apache-2.0 +oslo.metrics # Apache-2.0 +oslo.middleware # Apache-2.0 +oslo.policy!=3.0.0,!=3.6.1 # Apache-2.0 +oslo.privsep # Apache-2.0 +oslo.reports # Apache-2.0 +oslo.rootwrap # Apache-2.0 +# NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641 +oslo.serialization!=2.19.1 # Apache-2.0 +oslo.service!=1.28.1 # Apache-2.0 +oslo.upgradecheck # Apache-2.0 +# NOTE(lajoskatona): oslo.utils version between 3.39.1 and 3.40.1 excluded due to bug 1812922 +oslo.utils!=3.39.1,!=3.40.0,!=3.40.1 # Apache-2.0 +oslo.vmware # Apache-2.0 +oslo.versionedobjects # Apache-2.0 +osprofiler # Apache-2.0 +os-apply-config # Apache-2.0 +os-brick!=2.8.0 # Apache-2.0 +os-client-config # Apache-2.0 +os-collect-config # Apache-2.0 +os-refresh-config # Apache-2.0 +os-resource-classes # Apache-2.0 +os-service-types # Apache-2.0 +os-testr # Apache-2.0 +os-traits # Apache-2.0 +os-ken # Apache-2.0 +os-vif!=1.8.0,!=1.12.0,!=3.0.0 # Apache-2.0 +ovs # Apache-2.0 +os-win # Apache-2.0 +paramiko!=2.9.0,!=2.9.1 # LGPLv2.1+ +passlib # BSD +Paste # MIT +PasteDeploy # MIT +pbr!=2.1.0 # Apache-2.0 +pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,!=1.4.0 # BSD +pexpect!=3.3 # ISC License +pifpaf # Apache-2.0 +pika # BSD +Pillow # PIL License +Pint # BSD +pip # MIT +platformdirs # MIT License +prometheus-client # Apache-2.0 +protobuf # BSD License (3 clause) +PrettyTable!=3.4.0 # BSD +psutil # BSD +pyasn1!=0.2.3 # BSD +pyasn1-modules # BSD +pycadf!=2.0.0 # Apache-2.0 +pycdlib # LGPLv2+ +PyECLib # BSD +pyghmi!=1.4.0,!=1.5.11 # Apache-2.0 +pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT +PyJWT # MIT +pykmip # Apache 2.0 License +python-gnupg # BSD License +python-ldap # PSF +pylxd # Apache-2.0 +pymemcache!=1.3.0 # Apache 2.0 License +pymongo!=3.1 # Apache-2.0 +PyMySQL # MIT License +pytest # MIT +pytest-cov # MIT +pytest-django # BSD (3 clause) +pytest-html #MPL-2.0 +pytest-xdist # MIT +pywbem # LGPLv2.1+ +pywinrm # MIT +salt!=2019.2.1,!=2019.2.2 # Apache-2.0 +sshtunnel # MIT +storpool!=5.2.0,!=5.3.0 # Apache-2.0 +storpool.spopenstack # Apache-2.0 +dfs-sdk # Apache-2.0 +tap-as-a-service # Apache-2.0 +etcd3gw!=0.2.2,!=0.2.3,!=0.2.6 # Apache-2.0 +typing # PSF +typing-extensions # PSF +voluptuous # BSD License +pydot # MIT License +pydotplus # MIT License +pyzabbix # LGPL +statsd # MIT +zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License +jaeger-client # Apache-2.0 +opentelemetry-exporter-otlp # Apache-2.0 +opentelemetry-sdk # Apache-2.0 + +python-linstor # LGPLv3 + +pyngus # Apache-2.0 + +pyOpenSSL # Apache-2.0 +pyparsing # MIT +pyroute2!=0.5.4,!=0.5.5,!=0.7.1;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2) +# pysnmp library is not maintained since 4 years, it is +# not recommended to use it, use its fork pysnmp-lextudio instead +# in conjunction with its dependencies pyasn1-lextudio and +# pyasn1-modules-lextudio +pysnmp # BSD +pysnmp-lextudio # BSD +pyasn1-lextudio # BSD +pyasn1-modules-lextudio # BSD + +pystache # MIT +pysaml2!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0,!=4.6.0 # Apache-2.0 + +# OpenStack clients. None of these should have an upper bound +# as that has implications for testing in the gate. +aodhclient # Apache-2.0 +gnocchiclient # Apache-2.0 +python-barbicanclient # Apache-2.0 +python-blazarclient # Apache-2.0 +python-cinderclient!=4.0.0 # Apache-2.0 +python-cyborgclient # Apache-2.0 +python-cloudkittyclient # Apache-2.0 +python-designateclient # Apache-2.0 +python-freezerclient # Apache-2.0 +python-heatclient # Apache-2.0 +python-glanceclient # Apache-2.0 +python-ironic-inspector-client # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0 # Apache-2.0 +python-keystoneclient!=2.1.0 # Apache-2.0 +python-magnumclient # Apache-2.0 +python-masakariclient # Apache-2.0 +python-manilaclient # Apache-2.0 +python-mistralclient!=3.2.0 # Apache-2.0 +python-muranoclient # Apache-2.0 +python-monascaclient # Apache-2.0 +python-neutronclient # Apache-2.0 +python-novaclient # Apache-2.0 +python-observabilityclient # Apache-2.0 +python-octaviaclient # Apache-2.0 +python-openstackclient # Apache-2.0 +python-rsdclient # Apache-2.0 +python-saharaclient # Apache-2.0 +python-senlinclient # Apache-2.0 +python-solumclient # Apache-2.0 +python-swiftclient # Apache-2.0 +python-tackerclient # Apache-2.0 +python-troveclient # Apache-2.0 +python-vitrageclient # Apache-2.0 +python-watcherclient # Apache-2.0 +python-zaqarclient # Apache-2.0 +python-zunclient # Apache-2.0 + +python-memcached # PSF +python-dateutil # BSD + +#Only required for sasl/binary protocol +python-binary-memcached # MIT +uhashring # BSD + +# 2013.6 is the first version of pytz that is PEP 440 compatible. +pytz # MIT +pyudev # LGPLv2.1+ +PyYAML # MIT +rbd-iscsi-client # Apache-2.0 +reno # Apache-2.0 +requests!=2.20.0,!=2.24.0 # Apache-2.0 +requests-aws # BSD License (3 clause) +requests-kerberos # ISC +requestsexceptions # Apache-2.0 +rfc3986 # Apache-2.0 +rsd-lib # Apache-2.0 +Routes # MIT +rtslib-fb # Apache-2.0 +rst2txt # BSD +ruamel.yaml # MIT +semantic-version # BSD +# https://github.com/harlowja/fasteners/issues/36 +fasteners!=0.15,!=0.16 # Apache-2.0 +# https://github.com/holgern/py-scrypt/issues/16 +scrypt!=0.8.21 # BSD +simplejson # MIT +six # MIT +scipy # BSD +scikit-learn # BSD +setproctitle # BSD +# NOTE(yamahata): +# bug work around of sqlalchemy +# https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/ +# The fix which is in git master branch is planned for 1.1.9 +SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT +SQLAlchemy-Utils # BSD License +sqlalchemy-migrate # Apache-2.0 +sqlalchemy-filters # Apache-2.0 +sqlparse # BSD +stevedore!=3.0.0 # Apache-2.0 +storops # Apache-2.0 +systemd-python # LGPLv2+ +sysv-ipc # BSD License +suds-community # LGPLv3+ +sympy # BSD +taskflow # Apache-2.0 +tempest # Apache-2.0 +tooz # Apache-2.0 +tosca-parser # Apache-2.0 +urllib3 # MIT +warlock # Apache-2.0 +WebOb # MIT +websocket-client # LGPLv2+ +websockify # LGPLv3 +wheel # MIT +PyMI;sys_platform=='win32' # Apache 2.0 License +wmi;sys_platform=='win32' # MIT +WSME # MIT +xattr;sys_platform!='win32' # MIT +xstatic-angular-uuid # MIT License +xstatic-angular-vis # MIT License +xstatic-filesaver # MIT License +xstatic-js-yaml # MIT License +xstatic-json2yaml # MIT License +XStatic # MIT License +XStatic-Angular # MIT License +XStatic-Angular-Bootstrap # MIT License +XStatic-Angular-Gettext # MIT License +XStatic-Angular-lrdragndrop # MIT License +XStatic-Angular-Schema-Form # MIT +XStatic-Bootstrap-Datepicker # Apache 2.0 License +XStatic-Bootstrap-SCSS # Apache 2.0 License +XStatic-bootswatch # MIT License +XStatic-D3 # BSD License (3 clause) +XStatic-Dagre # MIT License +XStatic-Dagre-D3 # MIT License +XStatic-Font-Awesome<4.8.0 # SIL OFL 1.1 License, MIT License +XStatic-Graphlib # MIT License +XStatic-Hogan # Apache 2.0 License +XStatic-Jasmine # MIT License +XStatic-jQuery # MIT License +XStatic-JQuery-Migrate # MIT License +XStatic-JQuery.quicksearch # MIT License +XStatic-JQuery.TableSorter # MIT License +XStatic-jquery-ui # MIT License +XStatic-JSEncrypt # MIT License +XStatic-lodash # MIT License +XStatic-mdi # SIL OPEN FONT LICENSE Version 1.1 +XStatic-moment # MIT License +XStatic-Moment-Timezone # MIT License +XStatic-objectpath # MIT +XStatic-Rickshaw # BSD License (prior) +XStatic-roboto-fontface # Apache 2.0 License +XStatic-smart-table # MIT License +XStatic-Spin # MIT License +XStatic-term.js # MIT License +XStatic-tv4 # MIT +XStatic-Angular-FileUpload # MIT License +yaql # Apache 2.0 License +zeroconf # LGPL +zstd # BSD License (2 clause) + +# Testing tools below, which are typically in test-requires.txt + +bashate # Apache-2.0 +couchdb # Apache-2.0 +coverage!=4.4 # Apache-2.0 +docker # Apache-2.0 +django-nose # BSD +doc8 # Apache-2.0 +Pygments # BSD license +fixtures # Apache-2.0/BSD +freezegun # Apache-2.0 +# The following issue with urllib3 should be fixed to use gabbi 2.5.0. +# https://github.com/urllib3/urllib3/issues/2534 +# Also see https://github.com/cdent/gabbi/issues/309 +gabbi<2.5.0 # Apache-2.0 +kafka-python # Apache-2.0 +keyring # MIT/PSF +ldappool # MPL +# Do not make mock conditional on Python version: we depend on newer code than +# in [most] releases of the Python std library. +# https://github.com/testing-cabal/mock/issues/487 for 4.0.[0-1] blacklist +mock!=4.0.0,!=4.0.1 # BSD +moto # Apache-2.0 +nodeenv # BSD +nose # LGPL +nose-exclude # LGPL +nosehtmloutput # Apache-2.0 +nosexcover # BSD +openstack-doc-tools # Apache-2.0 +openstack.nose-plugin # Apache-2.0 +openstacksdk # Apache-2.0 +os-api-ref # Apache-2.0 +oslosphinx # Apache-2.0 +oslotest # Apache-2.0 +ovsdbapp # Apache-2.0 +proboscis # Apache-2.0 +psycopg2 # LGPL/ZPL +psycopg2-binary # LGPL/ZPL +purestorage # BSD +py-pure-client # BSD +pysendfile;sys_platform!='win32' # MIT +python-3parclient # Apache-2.0 +python-consul # MIT License +python-subunit # Apache-2.0/BSD +pyzmq # LGPL+BSD +redis!=4.0.0 # MIT +requests-mock # Apache-2.0 +tenacity # Apache-2.0 +retrying!=1.3.0 # Apache-2.0 +selenium<4.0.0 # Apache-2.0 +# While setuptools cannot deal with pre-installed incompatible versions, +# setting a lower bound is not harmful - it makes error messages cleaner. DO +# NOT set an upper bound on setuptools, as that will lead to uninstallable +# situations as progressive releases of projects are done. +# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951 +# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086 +# Blacklist setuptools 48.0.0, 49.0.0 due to https://github.com/pypa/setuptools/issues/2232 +setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,!=48.0.0,!=49.0.0 # PSF/ZPL +sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0,!=3.4.2 # BSD +sphinx-testing # BSD License +sphinxcontrib-actdiag # BSD +sphinxcontrib-apidoc # BSD +sphinxcontrib-blockdiag # BSD +sphinxcontrib-httpdomain # BSD +sphinxcontrib-nwdiag # BSD +sphinxcontrib-seqdiag # BSD +sphinxcontrib-pecanwsme # Apache-2.0 +sphinx-feature-classification # Apache-2.0 +sphinxcontrib.datatemplates # BSD License +sphinxcontrib-programoutput # BSD license +sphinxcontrib-svg2pdfconverter # BSD License +stestr!=2.3.0,!=3.0.0 # Apache-2.0 +sushy!=1.9.0 # Apache-2.0 +tabulate # MIT +testrepository # Apache-2.0/BSD +testresources # Apache-2.0/BSD +testscenarios # Apache-2.0/BSD +testtools # MIT +types-paramiko # Apache-2.0 +tzdata # MIT +unittest2 # BSD +virtualbmc # Apache-2.0 +virtualenv!=16.3.0 # MIT +wrapt # BSD License +WebTest # MIT +Werkzeug!=2.2.0 # BSD License +whereto # Apache-2.0 +xmltodict # MIT +wsgi-intercept # MIT License +xvfbwrapper #license: MIT +zake # Apache-2.0 +zuul-sphinx # Apache-2.0 +sadisplay # BSD + +# NOTE(tonyb): Generally adding OpenSatck services isn't allowed but some consumers of ceilometer +# use it like a library so until there is a ceilometer-lib (or similar) this is our best option. +ceilometer # Apache-2.0 + +# Indirect dependencies that need blocking +# NOTE(bnemec): 1.16.0 introduced a bug that is breaking tooz. 1.18.0 fixes it. +# See https://bugs.launchpad.net/python-tooz/+bug/1808046 +grpcio!=1.16.0,!=1.16.1,!=1.17.0,!=1.17.1 +textfsm!=1.1.3 + +# NOTE(dhellmann): We need to include this package for testing the +# release jobs that propose constraint updates, even though it is not +# a real requirement of any of our software. +openstack-release-test + +# NOTE(anilvenkata): This is required for profiling oslo.service processes +Yappi!=0.98,!=0.99 # MIT + +zipp # MIT + +# NOTE(prometheanfire): python3 caps, are not approved for use in OpenStack +gitdb # BSD +gitdb2 # BSD +toml!=0.10.1 # Apache-2.0 \ No newline at end of file diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/caracal/upper-constraints.txt b/build-tools/build-wheels/debian-trixie/openstack-requirements/caracal/upper-constraints.txt new file mode 100644 index 00000000..4ac44a8e --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/caracal/upper-constraints.txt @@ -0,0 +1,620 @@ +voluptuous===0.14.2 +chardet===5.2.0 +enum-compat===0.0.3 +rsa===4.9 +restructuredtext-lint===1.4.0 +netmiko===4.1.2 +sshtunnel===0.4.0 +PasteDeploy===3.1.0 +typing===3.7.4.3 +python-saharaclient===4.2.0 +Routes===2.5.1 +rtslib-fb===2.1.76 +oslo.limit===2.4.0 +tzdata===2024.1 +smmap===5.0.1 +confget===5.1.2 +XStatic-Angular-Bootstrap===2.5.0.0 +WebOb===1.8.7 +sphinxcontrib-actdiag===3.0.0 +pecan===1.5.1 +os-api-ref===3.0.0 +python-ldap===3.4.4 +oslo.concurrency===6.0.0 +websocket-client===1.7.0 +osprofiler===4.1.0 +os-resource-classes===1.1.0 +tabulate===0.9.0 +python-ironic-inspector-client===5.1.0 +lxml===5.1.0 +vintage===0.4.1 +rst2txt===1.1.0 +setproctitle===1.3.3 +pytest===8.0.1 +python-slugify===8.0.4 +cursive===0.2.3 +oslo.service===3.4.1 +django-appconf===1.0.6 +ntc_templates===4.3.0 +sphinxcontrib-nwdiag===2.0.0 +rbd-iscsi-client===0.1.8 +requests-aws===0.1.8 +alabaster===0.7.13;python_version=='3.8' +alabaster===0.7.16;python_version>='3.9' +pbr===6.0.0 +munch===4.0.0 +waiting===1.4.1 +attrs===23.2.0 +microversion-parse===1.0.1 +jwcrypto===1.5.4 +Pint===0.21.1;python_version=='3.8' +Pint===0.23;python_version>='3.9' +oslo.i18n===6.3.0 +jsonpath-rw-ext===1.2.2 +python-mistralclient===5.2.0 +oslo.context===5.5.0 +python-senlinclient===3.1.0 +rcssmin===1.1.1 +pycadf===3.1.1 +grpcio===1.60.1 +pysendfile===2.0.1 +sniffio===1.3.0 +fixtures===4.1.0 +neutron-lib===3.11.1 +XStatic-FileSaver===1.3.2.0 +oslo.metrics===0.8.0 +storage-interfaces===1.0.5 +persist-queue===0.8.1 +pystache===0.6.5 +XStatic-Font-Awesome===4.7.0.0 +nose===1.3.7 +nosehtmloutput===0.0.7 +waitress===3.0.2 +os-refresh-config===13.2.0 +pysnmp===4.4.12 +Mako===1.3.2 +pyScss===1.4.0 +sphinxcontrib-htmlhelp===2.0.1;python_version=='3.8' +sphinxcontrib-htmlhelp===2.0.5;python_version>='3.9' +XStatic-jQuery===3.5.1.1 +ddt===1.7.1 +XStatic-Graphlib===2.1.7.0 +pyserial===3.5 +moto===5.0.1 +infi.dtypes.wwn===0.1.1 +python-freezerclient===5.2.0 +python-vitrageclient===5.0.0 +py-pure-client===1.47.0 +nosexcover===1.0.11 +krest===1.3.6 +psycopg2===2.9.9 +networkx===3.1;python_version=='3.8' +networkx===3.2.1;python_version>='3.9' +XStatic-Angular===1.8.2.2 +pyngus===2.3.1 +zuul-sphinx===0.7.0 +Tempita===0.5.2 +ply===3.11 +google-api-core===2.17.1 +requests-toolbelt===1.0.0 +simplejson===3.19.2 +types-paramiko===3.4.0.20240205 +immutables===0.20 +python-swiftclient===4.5.0 +pyOpenSSL===25.1.0 +monasca-common===3.8.0 +zeroconf===0.131.0 +scipy===1.10.1;python_version=='3.8' +scipy===1.12.0;python_version>='3.9' +opentelemetry-exporter-otlp===1.22.0 +python-gnupg===0.5.2 +mypy-extensions===1.0.0 +rsd-lib===1.2.0 +XStatic-Jasmine===2.4.1.2 +googleapis-common-protos===1.62.0 +python-glanceclient===4.5.0 +prometheus_client===0.20.0 +jaraco.classes===3.3.1 +pyinotify===0.9.6 +debtcollector===3.0.0 +requests-unixsocket===0.3.0 +responses===0.25.0 +croniter===2.0.1 +horizon===24.0.0 +octavia-lib===3.5.0 +python-watcherclient===4.4.0 +MarkupSafe===2.1.5 +types-python-dateutil===2.8.19.20240106 +ruamel.yaml.clib===0.2.8 +doc8===1.1.1 +pymongo===4.6.1 +python-cloudkittyclient===5.0.0 +soupsieve===2.5 +sqlparse===0.5.0 +oslotest===5.0.0 +jsonpointer===2.4 +defusedxml===0.7.1 +opentelemetry-sdk===1.22.0 +netaddr===0.10.1 +pyghmi===1.5.67 +sphinxcontrib-blockdiag===3.0.0 +thrift===0.16.0 +gnocchiclient===7.0.8 +backoff===2.2.1 +wcwidth===0.2.13 +sphinxcontrib.datatemplates===0.11.0 +jsonpath-rw===1.4.0 +prettytable===3.9.0 +vine===5.1.0 +taskflow===5.6.0 +traceback2===1.4.0 +arrow===1.3.0 +semantic-version===2.10.0 +async-timeout===4.0.3;python_version=='3.10' +async-timeout===4.0.3;python_version=='3.8' +async-timeout===4.0.3;python_version=='3.9' +virtualbmc===3.1.0 +SQLAlchemy===1.4.51 +pyroute2===0.7.12 +google-auth===2.28.0 +pyasn1-lextudio===1.1.2 +kazoo===2.10.0 +pyspnego===0.10.2 +XStatic-roboto-fontface===0.5.0.0 +pyudev===0.24.1 +eventlet===0.35.1 +openstack-doc-tools===3.3.1 +oslo.messaging===14.7.2 +jira===3.6.0 +extras===1.0.0 +PyJWT===2.8.0 +typing_extensions===4.9.0 +XStatic-lodash===4.16.4.2 +zVMCloudConnector===1.6.3 +paramiko===3.4.0 +ifaddr===0.2.0 +reno===4.1.0 +ncclient===0.6.15 +imagesize===1.4.1 +pydot===2.0.0 +urllib3===1.26.18 +graphviz===0.20.1 +PyKMIP===0.10.0 +python-observabilityclient===0.1.1 +whereto===0.4.0 +pywbem===1.6.2 +python-subunit===1.4.4 +tornado===6.4 +pycparser===2.21 +mock===5.1.0 +PyYAML===6.0.1 +beautifulsoup4===4.12.3 +ovs===3.1.2 +cryptography===44.0.1 +httpcore===1.0.3 +URLObject===2.4.3 +nocasedict===2.0.1 +psycopg2-binary===2.9.9 +openstack-release-test===5.0.0 +pylxd===2.3.2 +pycryptodomex===3.20.0 +requests-mock===1.11.0 +os-apply-config===13.2.0 +oslosphinx===4.18.0 +gunicorn===21.2.0 +storpool===7.3.0 +textfsm===1.1.2 +python-3parclient===4.2.13 +unittest2===1.1.0 +django-compressor===4.4 +libvirt-python===10.0.0 +python-zunclient===5.0.0 +tzlocal===5.2 +sphinxcontrib-jsmath===1.0.1 +python-novaclient===18.6.0 +pact===1.12.0 +bcrypt===4.0.1 +exceptiongroup===1.2.0;python_version=='3.10' +exceptiongroup===1.2.0;python_version=='3.8' +exceptiongroup===1.2.0;python_version=='3.9' +os-client-config===2.1.0 +XStatic-Angular-Gettext===2.4.1.0 +Deprecated===1.2.14 +h11===0.14.0 +Pygments===2.17.2 +XStatic-Hogan===2.0.0.3 +XStatic-objectpath===1.2.1.0 +python-manilaclient===4.8.0 +sphinxcontrib-serializinghtml===1.1.5;python_version=='3.8' +sphinxcontrib-serializinghtml===1.1.10;python_version>='3.9' +requests===2.31.0 +snowballstemmer===2.2.0 +Jinja2===3.1.6 +XStatic-Bootstrap-SCSS===3.4.1.0 +pyzabbix===1.3.1 +ptyprocess===0.7.0 +threadloop===1.0.2 +amqp===5.2.0 +ruamel.yaml===0.18.6 +websockify===0.11.0 +gssapi===1.8.3 +XStatic-JQuery.quicksearch===2.0.3.2 +mpmath===1.3.0 +python-binary-memcached===0.31.2 +django-debreach===2.1.0 +sphinx-feature-classification===1.1.0 +django-pymemcache===1.0.0 +XStatic-JQuery-Migrate===3.3.2.1 +pytest-html===4.1.1 +appdirs===1.4.4 +google-auth-httplib2===0.2.0 +pkgutil_resolve_name===1.3.10;python_version=='3.8' +daiquiri===3.2.5.1 +influxdb===5.3.1 +funcparserlib===1.0.1 +passlib===1.7.4 +dib-utils===0.0.11 +cliff===4.6.0 +os-brick===6.7.1 +ansible-runner===2.3.5 +scp===0.14.5 +python-zaqarclient===2.7.0 +lockfile===0.12.2 +ldappool===3.0.0 +termcolor===2.4.0 +joblib===1.3.2 +google-api-python-client===2.118.0 +castellan===5.0.0 +oslo.versionedobjects===3.3.0 +enmerkar===0.7.1 +webcolors===1.13 +aodhclient===3.5.1 +autobahn===23.1.2;python_version=='3.8' +autobahn===23.6.2;python_version>='3.9' +SQLAlchemy-Utils===0.41.1 +retryz===0.1.9 +pluggy===1.4.0 +coverage===7.4.1 +freezegun===1.4.0 +toml===0.10.2 +pycdlib===1.14.0 +pyperclip===1.8.2 +cassandra-driver===3.29.0 +XStatic-Angular-Schema-Form===0.8.13.0 +opentelemetry-exporter-otlp-proto-http===1.22.0 +gabbi===2.4.0 +nwdiag===3.0.0 +XStatic-bootswatch===3.3.7.0 +pytest-xdist===3.5.0 +XStatic-JS-Yaml===3.8.1.0 +XStatic-term.js===0.0.7.0 +oslo.log===5.5.1 +nodeenv===1.8.0 +gossip===2.4.0 +suds-community===1.1.2 +importlib-metadata===6.2.1;python_version=='3.8' +importlib-metadata===6.2.1;python_version=='3.9' +importlib-metadata===6.11.0;python_version>='3.10' +oslo.middleware===6.1.0 +XStatic-mdi===1.6.50.2 +django-pyscss===2.0.3 +uritemplate===4.1.1 +docutils===0.20.1 +threadpoolctl===3.3.0 +os-ken===2.8.1 +ujson===5.9.0 +selenium===3.141.0 +mistral-lib===2.10.0 +dogtag-pki===11.2.1 +XStatic-Angular-UUID===0.0.4.0 +purestorage===1.19.0 +sphinxcontrib-seqdiag===3.0.0 +os-win===5.9.0 +capacity===1.3.14 +retrying===1.3.4 +XStatic-Dagre===0.6.4.1 +platformdirs===4.2.0 +pydotplus===2.0.2 +boto3===1.34.44 +jeepney===0.8.0 +stestr===4.1.0 +pillow===9.5.0 +infoblox-client===0.6.0 +pysmi-lextudio===1.1.13 +oslo.serialization===5.4.1 +warlock===2.0.1 +exabgp===4.2.21 +sphinxcontrib-httpdomain===1.8.1 +metalsmith===2.1.1 +s3transfer===0.10.0 +text-unidecode===1.3 +sphinxcontrib-svg2pdfconverter===1.2.2 +murano-pkg-check===0.3.0 +oslo.vmware===4.4.0 +XStatic-moment===2.8.4.3 +autopage===0.5.2 +sqlalchemy-migrate===0.13.0 +gitdb===4.0.11 +python-monascaclient===2.8.0 +ldap3===2.9.1 +opentelemetry-api===1.22.0 +requests-ntlm===1.2.0 +automaton===3.2.0 +os-service-types===1.7.0 +keyring===24.3.0 +elementpath===4.2.1 +jsonschema-specifications===2023.12.1 +testscenarios===0.5.0 +sphinxcontrib-pecanwsme===0.11.0 +sadisplay===0.4.9 +infinisdk===240.1.2 +packaging===23.2 +opentelemetry-exporter-otlp-proto-grpc===1.22.0 +XStatic-Dagre-D3===0.4.17.0 +nose-exclude===0.5.0 +psutil===5.9.8 +txaio===23.1.1 +elasticsearch===2.4.1 +django-nose===1.4.7 +asgiref===3.7.2 +XStatic-JQuery.TableSorter===2.14.5.2 +pifpaf===3.1.5 +pysmi===0.3.4 +blockdiag===3.0.0 +testtools===2.7.1 +infi.dtypes.iqn===0.4.0 +XStatic-tv4===1.2.7.0 +XStatic-JSEncrypt===2.3.1.1 +python-cinderclient===9.5.0 +keystonemiddleware===10.6.0 +django-formtools===2.5.1 +XStatic-Spin===1.2.5.3 +tap-as-a-service===13.0.0.0rc1 +os-traits===3.0.0 +typepy===1.3.2 +SecretStorage===3.3.3 +opentracing===2.4.0 +XStatic-Rickshaw===1.5.1.0 +iso8601===2.1.0 +tooz===6.2.0 +linecache2===1.0.0 +oauth2client===4.1.3 +idna===3.6 +yamlloader===1.3.2 +protobuf===4.25.3 +sushy===5.0.0 +python-neutronclient===11.2.0 +pika===1.3.2 +oslo.cache===3.7.0 +WebTest===3.0.0 +openstack.nose-plugin===0.11 +os-collect-config===13.2.0 +edgegrid-python===1.3.1 +python-qpid-proton===0.39.0 +python-octaviaclient===3.7.0 +pysaml2===7.3.1;python_version=='3.8' +pysaml2===7.4.2;python_version>='3.9' +requests-oauthlib===1.3.1 +oslo.reports===3.3.0 +pysnmp-lextudio===5.0.33 +bitmath===1.3.3.1 +ceilometermiddleware===3.3.1 +pyasn1-modules-lextudio===0.2.9 +testrepository===0.0.20 +sympy===1.12 +Logbook===1.7.0.post0 +PyNaCl===1.5.0 +osc-lib===3.0.1 +python-consul===1.1.0 +more-itertools===10.2.0 +seqdiag===3.0.0 +numpy===1.24.4;python_version=='3.8' +numpy===1.26.4;python_version>='3.9' +msgpack===1.0.7 +Sphinx===7.1.2;python_version=='3.8' +Sphinx===7.2.6;python_version>='3.9' +oslo.config===9.4.0 +openstackdocstheme===3.2.0 +osc-placement===4.3.0 +rpds-py===0.18.0 +zake===0.2.2 +python-rsdclient===1.0.2 +flux===1.3.5 +python-solumclient===3.8.0 +pysnmpcrypto===0.0.4 +krb5===0.5.1 +PyMySQL===1.1.1 +uhashring===2.3 +kubernetes===29.0.0 +httplib2===0.22.0 +betamax===0.9.0 +construct===2.10.70 +pytest-metadata===3.1.1 +pyparsing===3.1.1 +geomet===0.2.1.post1 +opentelemetry-exporter-otlp-proto-common===1.22.0 +distlib===0.3.8 +XStatic-Moment-Timezone===0.5.22.0 +dogpile.cache===1.3.1 +python-barbicanclient===5.7.0 +salt===3006.6 +opentelemetry-semantic-conventions===0.43b0 +api-object-schema===2.0.0 +blinker===1.7.0 +WSME===0.12.1 +tomli===2.0.1;python_version=='3.10' +tomli===2.0.1;python_version=='3.8' +tomli===2.0.1;python_version=='3.9' +proboscis===1.2.6.0 +backports.zoneinfo===0.2.1;python_version=='3.8' +oslo.upgradecheck===2.3.0 +stevedore===5.2.0 +pywinrm===0.4.3 +botocore===1.34.44 +xmltodict===0.13.0 +pyasn1===0.5.1 +oslo.rootwrap===7.2.0 +Django===4.2.23 +pexpect===4.9.0 +contextvars===2.4 +cmd2===2.4.3 +python-json-logger===2.0.7 +redis===5.0.1 +jmespath===1.0.1 +click===8.1.7 +XStatic-smart-table===1.4.13.2 +kuryr-lib===3.0.0 +scrypt===0.8.20 +jsonpatch===1.33 +python-daemon===3.0.1 +os-testr===3.0.0 +cotyledon===1.7.3 +xattr===1.1.0 +systemd-python===235 +python-memcached===1.62 +openstacksdk===3.0.0 +infi.dtypes.nqn===0.1.0 +looseversion===1.3.0 +six===1.16.0 +dulwich===0.21.7 +dfs-sdk===1.2.27 +sentinels===1.0.0 +kombu===5.3.5 +distro===1.9.0 +zstd===1.5.5.1 +yaql===3.0.0 +requestsexceptions===1.4.0 +testresources===2.0.1 +falcon===3.1.3 +tomlkit===0.12.3 +etcd3gw===2.4.0 +Flask-RESTful===0.3.10 +GitPython===3.1.42 +python-ironicclient===5.5.0 +XStatic===1.0.3 +XStatic-Angular-FileUpload===12.2.13.0 +python-openstackclient===6.6.1 +pyzmq===25.1.2 +nocaselist===2.0.0 +oslo.db===15.0.0 +simplegeneric===0.8.1 +python-pcre===0.7 +yappi===1.6.0 +mbstrdecoder===1.1.3 +pymemcache===4.0.0 +wrapt===1.16.0 +oslo.privsep===3.3.0 +sphinxcontrib-apidoc===0.5.0 +oslo.policy===4.3.0 +python-muranoclient===2.8.0 +hvac===2.1.0 +pyeclib===1.6.1 +wsgi-intercept===1.13.0 +ndg-httpsclient===0.5.1 +repoze.lru===0.7 +rfc3986===2.0.0 +tenacity===6.3.1 +python-designateclient===6.0.1 +future===0.18.3 +pytest-cov===4.1.0 +reactivex===4.0.4 +Paste===3.7.1 +pytest-django===4.8.0 +jaeger-client===4.8.0 +XStatic-Json2yaml===0.1.1.0 +boto===2.49.0 +os-vif===3.5.0 +hyperlink===21.0.0 +mitba===1.1.1 +python-masakariclient===8.4.0 +Werkzeug===3.0.6 +pyasn1-modules===0.3.0 +APScheduler===3.10.4 +xmlschema===2.5.1 +python-troveclient===8.4.0 +cachez===0.1.2 +XStatic-Bootstrap-Datepicker===1.4.0.0 +CouchDB===1.2 +netifaces===0.11.0 +cachetools===5.3.2 +ws4py===0.5.1 +sphinxcontrib-qthelp===1.0.3;python_version=='3.8' +sphinxcontrib-qthelp===1.0.7;python_version>='3.9' +keystoneauth1===5.6.0 +statsd===4.0.1 +python-keystoneclient===5.4.0 +ceilometer===22.0.0.0rc1 +diskimage-builder===3.32.0 +heat-translator===3.0.0 +python-magnumclient===4.4.0 +docker===7.0.0 +storops===1.2.11 +anyio===4.2.0 +XStatic-Angular-lrdragndrop===1.0.2.6 +ovsdbapp===2.6.1 +aniso8601===9.0.1 +rjsmin===1.2.1 +icalendar===5.0.11 +decorator===5.1.1 +DateTimeRange===2.2.0 +cffi===1.16.0 +python-cyborgclient===2.3.0 +futurist===3.0.0 +jsonschema===4.19.2 +sphinxcontrib-devhelp===1.0.2;python_version=='3.8' +sphinxcontrib-devhelp===1.0.6;python_version>='3.9' +python-blazarclient===4.0.1 +alembic===1.9.4 +execnet===2.0.2 +glance-store===4.7.0 +sphinxcontrib-programoutput===0.17 +storpool.spopenstack===3.2.0 +sphinx-testing===1.0.1 +dnspython===2.5.0 +oauthlib===3.2.2 +Babel===2.14.0 +logutils===0.3.5 +zipp===3.17.0 +greenlet===3.0.3 +XStatic-Angular-Vis===4.16.0.0 +iniconfig===2.0.0 +referencing===0.33.0 +confluent-kafka===2.3.0 +xvfbwrapper===0.2.9 +influxdb-client===1.40.0 +tosca-parser===2.10.0 +charset-normalizer===3.3.2 +Flask===3.0.2 +httpx===0.26.0 +sqlalchemy-filters===0.13.0 +marathon===0.13.0 +sphinxcontrib-runcmd===0.2.0 +confspirator===0.3.0 +fasteners===0.19 +sortedcontainers===2.4.0 +python-linstor===1.21.0 +filelock===3.13.1 +python-tackerclient===2.0.0 +python-heatclient===3.5.0 +kafka-python===2.0.2 +oslo.utils===7.1.0 +gitdb2===4.0.2 +requests-kerberos===0.14.0 +itsdangerous===2.1.2 +XStatic-jquery-ui===1.13.0.1 +monasca-statsd===2.7.0 +python-dateutil===2.8.2 +virtualenv===20.25.0 +colorama===0.4.6 +confetti===2.5.3 +ironic-lib===6.0.0 +pytz===2024.1 +opentelemetry-proto===1.22.0 +XStatic-D3===3.5.17.0 +actdiag===3.0.0 +sysv-ipc===1.1.0 +sphinxcontrib-applehelp===1.0.4;python_version=='3.8' +sphinxcontrib-applehelp===1.0.8;python_version>='3.9' +scikit-learn===1.3.2;python_version=='3.8' +scikit-learn===1.4.0;python_version>='3.9' + diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/global-requirements.txt b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/global-requirements.txt new file mode 100644 index 00000000..ae607482 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/global-requirements.txt @@ -0,0 +1,604 @@ +abclient # Apache-2.0 +alembic!=1.2.0 # MIT +amqp!=2.1.4 # BSD +ansible-runner!=1.3.5 # Apache 2.0 +anyjson # BSD +appdirs # MIT License +apscheduler # MIT License +autobahn # MIT License +automaton # Apache-2.0 +beautifulsoup4 # MIT +Babel!=2.4.0 # BSD +bcrypt # Apache-2.0 +betamax # Apache-2.0 +betamax-matchers # Apache-2.0 +blockdiag!=2.0.0 # Apache-2.0 +boto # MIT +boto3 # Apache-2.0 +botocore # Apache-2.0 +cassandra-driver!=3.6.0 # Apache-2.0 +castellan # Apache-2.0 +ceilometermiddleware # Apache-2.0 +cachetools # MIT License +cffi # MIT +cliff!=2.9.0,!=2.17.0,<3.0.0;python_version=='2.7' # Apache-2.0 +cliff!=2.9.0,!=2.17.0;python_version>='3.6' # Apache-2.0 +# NOTE(mordred) python-openstackclient is broken due to bug 1810213 +cmd2!=0.8.3,<0.9.0 # MIT +confluent-kafka!=1.4.0 # Apache-2.0 +cotyledon # Apache-2.0 +construct<2.9 # MIT +PuLP # MIT +contextlib2;python_version<'3.0' # PSF License +croniter # MIT License +cryptography!=2.0 # BSD/Apache-2.0 +cursive # Apache-2.0 +dataclasses;python_version=='3.6' # Apache-2.0 +ddt # MIT +debtcollector<2.0.0;python_version<'3.0' # Apache-2.0 +debtcollector;python_version>='3.0' # Apache-2.0 +decorator # BSD +defusedxml # PSF +dib-utils # Apache-2.0 +diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0 +distro # Apache-2.0 +Django<2;python_version<'3.0' # BSD +Django<3.0;python_version>='3.0' # BSD +django-compressor # MIT +django-debreach # BSD +django-floppyforms<2 # BSD +django-formtools # BSD +dnspython;python_version=='2.7' # http://www.dnspython.org/LICENSE +dnspython3!=1.13.0,!=1.14.0;python_version>='3.0' # http://www.dnspython.org/LICENSE +# Note(tonyb): We don't actually directly depend on docutils but we pull it in +# indirectly and we needed to blacklist 0.13.1 for problems with +# Sphinx 1.3. This can be now removed once all projects removed it. +docutils # OSI-Approved Open Source, Public Domain +dogpile.cache # BSD +dogtag-pki # LGPLv3+ +dulwich!=0.19.3,!=0.19.7 # Apache-2.0 +edgegrid-python # Apache-2.0 +elasticsearch<3.0.0 # Apache-2.0 +enmerkar;python_version>='3.0' # BSD +enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD +# NOTE: New versions of eventlet should not be accepted lightly +# as they have earned a reputation of frequently breaking things. +eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0 # MIT +exabgp!=4.0.6 # BSD +extras # MIT +faker # MIT +falcon # Apache-2.0 +Flask!=0.11 # BSD +flask-keystone # Apache-2.0 +flask-oslolog # Apache-2.0 +Flask-RESTful # BSD +Flask-SQLAlchemy # BSD +fortiosclient # Apache-2.0 +futures!=0.17.0;python_version=='2.7' or python_version=='2.6' # PSF +futurist<2.0.0;python_version=='2.7' # Apache-2.0 +futurist;python_version>='3.6' # Apache-2.0 +funcsigs;python_version=='2.7' or python_version=='2.6' # Apache-2.0 +glance-store!=0.29.0 # Apache-2.0 +google-api-python-client # Apache-2.0 +graphviz!=0.5.0 # MIT License +greenlet!=0.4.14 # MIT +GitPython<2.1.12;python_version<'3.0' # BSD License (3 clause) +GitPython;python_version>='3.0' # BSD License (3 clause) +gunicorn<20.0.0;python_version<'3.0' # MIT +gunicorn;python_version>='3.0' # MIT +happybase!=0.7,!=1.0.0;python_version=='2.7' # MIT +heat-translator # Apache-2.0 +horizon # Apache-2.0 +httplib2 # MIT +hvac # Apache-2.0 +icalendar # BSD +importlib-metadata # Apache-2.0 +infinisdk # BSD-3 +influxdb!=5.2.0,!=5.2.1,!=5.2.2,!=5.2.3;python_version<'3.0' # MIT +influxdb;python_version>='3.0' # MIT +instack-undercloud # Apache-2.0 +ironic-lib # Apache-2.0 +ipaddress;python_version<'3.3' # PSF +iso8601 # MIT +jira # BSD License (2 clause) +Jinja2 # BSD License (3 clause) +jmespath # MIT +jsonmodels # BSD License (3 clause) +jsonpatch!=1.20 # BSD +jsonpath-rw<2.0 # Apache-2.0 +jsonpath-rw-ext # Apache-2.0 +jsonschema # MIT +kazoo # Apache-2.0 +keystoneauth1 # Apache-2.0 +keystonemiddleware # Apache-2.0 +krest # Apache-2.0 +kubernetes # Apache-2.0 +kuryr-lib # Apache-2.0 +packaging # Apache-2.0 +pylev # BSD +pypowervm!=1.1.21,!=1.1.22 # Apache-2.0 +pyScss!=1.3.5 # MIT License +django-pyscss # BSD License (2 clause) +kombu!=4.0.2 # BSD +ldap3 # LGPLv3 +deprecation # Apache-2.0 +libvirt-python!=4.1.0,!=4.2.0,<6.0.0;python_version<'3.0' # LGPLv2+ +libvirt-python!=4.1.0,!=4.2.0;python_version>='3.0' # LGPLv2+ +lxml!=3.7.0 # BSD +Mako # MIT +marathon!=0.9.1 # MIT +metalsmith # Apache-2.0 +microversion-parse # Apache-2.0 +mistral-lib # Apache-2.0 +monasca-common # Apache-2.0 +monasca-statsd # Apache-2.0 +monotonic;python_version<'3.3' # Apache-2.0 +msgpack # Apache-2.0 +munch # MIT +murano-pkg-check # Apache-2.0 +mypy;python_version>='3.4' # MIT +ndg-httpsclient;python_version<'3.0' # BSD +netaddr # BSD +netifaces!=0.10.0,!=0.10.1 # MIT +netmiko # MIT +network-runner # Apache 2.0 +networking-bagpipe # Apache-2.0 +networking-bgpvpn # Apache-2.0 +networking-l2gw # Apache-2.0 +networking-odl # Apache-2.0 +networking-sfc # Apache-2.0 +# NOTE(fdegir): NetworkX 2.3 dropped support for Python 2 +networkx<2.3;python_version<'3.0' # BSD +networkx;python_version>='3.4' # BSD +# NOTE(ralonsoh): neutron-lib 2.0.0 dropped support for Python 2 +neutron-lib<2.0.0;python_version=='2.7' # Apache-2.0 +neutron-lib;python_version>='3.6' # Apache-2.0 +neutron-dynamic-routing # Apache-2.0 +neutron-fwaas # Apache-2.0 +neutron-lbaas # Apache-2.0 +neutron-vpnaas # Apache-2.0 +neutron # Apache-2.0 +notifier # Apache-2.0 +oauth2client!=4.0.0 # Apache-2.0 +oauthlib # BSD +octavia-lib # Apache-2.0 +openstackdocstheme # Apache-2.0 +osc-lib # Apache-2.0 +osc-placement # Apache-2.0 +oslo.cache!=1.31.1,<2.0.0;python_version<'3.0' # Apache-2.0 +oslo.cache!=1.31.1,!=2.1.0;python_version>='3.0' # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0,<8.0.0;python_version<'3.0' # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0;python_version>='3.0' # Apache-2.0 +oslo.concurrency<4.0.0;python_version<'3.0' # Apache-2.0 +oslo.concurrency;python_version>='3.0' # Apache-2.0 +oslo.context<3.0.0;python_version<'3.0' # Apache-2.0 +oslo.context;python_version>='3.0' # Apache-2.0 +oslo.db # Apache-2.0 +oslo.i18n<4.0.0;python_version=='2.7' # Apache-2.0 +oslo.i18n;python_version>='3.6' # Apache-2.0 +oslo.limit<1.0.0;python_version=='2.7' # Apache-2.0 +oslo.limit;python_version>='3.0' # Apache-2.0 +oslo.log<4.0.0;python_version<'3.0' # Apache-2.0 +oslo.log;python_version>='3.0' # Apache-2.0 +oslo.messaging!=9.0.0 # Apache-2.0 +oslo.middleware # Apache-2.0 +oslo.policy<3.0.0;python_version=='2.7' # Apache-2.0 +oslo.policy!=3.0.0;python_version>='3.6' # Apache-2.0 +oslo.privsep<2.0.0;python_version=='2.7' # Apache-2.0 +oslo.privsep;python_version>='3.6' # Apache-2.0 +oslo.reports<2.0.0;python_version<'3.0' # Apache-2.0 +oslo.reports;python_version>='3.6' # Apache-2.0 +oslo.rootwrap # Apache-2.0 +# NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641 +oslo.serialization!=2.19.1,<3.0.0;python_version<'3.0' # Apache-2.0 +oslo.serialization!=2.19.1;python_version>='3.0' # Apache-2.0 +oslo.service!=1.28.1 # Apache-2.0 +oslo.upgradecheck<0.4.0;python_version=='2.7' # Apache-2.0 +oslo.upgradecheck;python_version>='3.6' # Apache-2.0 +# NOTE(lajoskatona): oslo.utils version between 3.39.1 and 3.40.1 excluded due to bug 1812922 +oslo.utils!=3.39.1,!=3.40.0,!=3.40.1,<4.0.0;python_version<'3.0' # Apache-2.0 +oslo.utils!=3.39.1,!=3.40.0,!=3.40.1;python_version>='3.0' # Apache-2.0 +oslo.vmware # Apache-2.0 +oslo.versionedobjects<2.0.0;python_version=='2.7' # Apache-2.0 +oslo.versionedobjects;python_version>='3.6' # Apache-2.0 +osprofiler # Apache-2.0 +os-apply-config # Apache-2.0 +os-brick!=2.8.0 # Apache-2.0 +os-client-config # Apache-2.0 +os-collect-config # Apache-2.0 +os-dpm # Apache-2.0 +os-net-config # Apache-2.0 +os-refresh-config # Apache-2.0 +os-resource-classes # Apache-2.0 +os-service-types # Apache-2.0 +os-testr<2.0.0;python_version=='2.7' # Apache-2.0 +os-testr;python_version>='3.6' # Apache-2.0 +os-traits # Apache-2.0 +os-ken<1.0.0;python_version=='2.7' # Apache-2.0 +os-ken;python_version>='3.6' # Apache-2.0 +os-vif!=1.8.0,!=1.12.0,<2.0.0;python_version=='2.7' # Apache-2.0 +os-vif!=1.8.0,!=1.12.0;python_version>='3.6' # Apache-2.0 +ovs # Apache-2.0 +os-win<5.0.0;python_version=='2.7' # Apache-2.0 +os-win;python_version>='3.6' # Apache-2.0 +os-xenapi # Apache-2.0 +paramiko # LGPLv2.1+ +Parsley # MIT +pathlib2 # MIT +passlib # BSD +Paste # MIT +PasteDeploy # MIT +paunch # Apache-2.0 +pbr!=2.1.0 # Apache-2.0 +pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD +pexpect!=3.3 # ISC License +pifpaf # Apache-2.0 +pika # BSD +Pillow # PIL License +Pint<0.10;python_version<'3.6' # BSD +Pint;python_version>='3.6' # BSD +pip # MIT +prometheus-client # Apache-2.0 +protobuf # BSD License (3 clause) +PrettyTable<0.8 # BSD +psutil # BSD +pyasn1!=0.2.3 # BSD +pyasn1-modules # BSD +pycadf!=2.0.0,<3.0.0;python_version=='2.7' # Apache-2.0 +pycadf!=2.0.0;python_version>='3.6' # Apache-2.0 +PyECLib # BSD +pyghmi!=1.4.0,!=1.5.11 # Apache-2.0 +pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT +PyJWT # MIT +pykmip # Apache 2.0 License +python-ldap # PSF +pylxd # Apache-2.0 +pymemcache!=1.3.0 # Apache 2.0 License +pymongo!=3.1 # Apache-2.0 +PyMySQL # MIT License +pytest # MIT +pytest-django # BSD (3 clause) +pytest-html #MPL-2.0 +python-etcd # MIT License +pywbem # LGPLv2.1+ +pywinrm # MIT +salt!=2019.2.1,!=2019.2.2 # Apache-2.0 +storpool!=5.2.0,!=5.3.0 # Apache-2.0 +storpool.spopenstack # Apache-2.0 +dfs-sdk # Apache-2.0 +tap-as-a-service # Apache-2.0 +etcd3 # Apache-2.0 +etcd3gw!=0.2.2,!=0.2.3 # Apache-2.0 +typing # PSF +voluptuous # BSD License +pydot # MIT License +pydotplus # MIT License +crc16 # LGPLv3+ +pyzabbix # LGPL +statsd # MIT +weakrefmethod;python_version=='2.7' # PSF +zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License +opentracing # Apache-2.0 +jaeger-client # Apache-2.0 + +pyngus # Apache-2.0 + +pyOpenSSL # Apache-2.0 +pyparsing # MIT +pyroute2!=0.5.4,!=0.5.5;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2) +pysnmp # BSD +pystache # MIT +pysaml2!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0,!=4.6.0 # Apache-2.0 + +# OpenStack clients. None of these should have an upper bound +# as that has implications for testing in the gate. +aodhclient # Apache-2.0 +gnocchiclient # Apache-2.0 +tricircleclient<1.0.0;python_version=='2.7' # Apache-2.0 +tricircleclient;python_version>='3.6' # Apache-2.0 +python-barbicanclient # Apache-2.0 +python-blazarclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-blazarclient;python_version>='3.6' # Apache-2.0 +python-ceilometerclient # Apache-2.0 +python-cinderclient!=4.0.0,<6.0.0;python_version=='2.7' # Apache-2.0 +python-cinderclient!=4.0.0;python_version>='3.6' # Apache-2.0 +python-cloudkittyclient<4.0.0;python_version=='2.7' # Apache-2.0 +python-cloudkittyclient;python_version>='3.6' # Apache-2.0 +python-congressclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-congressclient<2000;python_version>='3.6' # Apache-2.0 +python-designateclient # Apache-2.0 +python-freezerclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-freezerclient;python_version>='3.6' # Apache-2.0 +python-heatclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-heatclient;python_version>='3.6' # Apache-2.0 +python-hnvclient # Apache-2.0 +python-glanceclient # Apache-2.0 +python-glareclient # Apache-2.0 +python-ironic-inspector-client # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,<4.0.0;python_version=='2.7' # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0;python_version>='3.6' # Apache-2.0 +python-karborclient # Apache-2.0 +python-keystoneclient!=2.1.0 # Apache-2.0 +python-kingbirdclient # Apache-2.0 +python-magnumclient # Apache-2.0 +python-masakariclient # Apache-2.0 +python-manilaclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-manilaclient;python_version>='3.6' # Apache-2.0 +python-mistralclient!=3.2.0,<4.0.0;python_version=='2.7' # Apache-2.0 +python-mistralclient!=3.2.0;python_version>='3.6' # Apache-2.0 +python-muranoclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-muranoclient;python_version>='3.6' # Apache-2.0 +python-monascaclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-monascaclient;python_version>='3.6' # Apache-2.0 +python-neutronclient # Apache-2.0 +python-novaclient # Apache-2.0 +python-octaviaclient # Apache-2.0 +python-openstackclient # Apache-2.0 +python-qinlingclient<5.0.0;python_version=='2.7' # Apache-2.0 +python-qinlingclient;python_version>='3.6' # Apache-2.0 +python-rsdclient # Apache-2.0 +python-saharaclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-saharaclient;python_version>='3.6' # Apache-2.0 +python-searchlightclient<2.0.0;python_version=='2.7' #Apache-2.0 +python-searchlightclient;python_version>='3.6' #Apache-2.0 +python-senlinclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-senlinclient;python_version>='3.6' # Apache-2.0 +python-smaugclient # Apache-2.0 +python-solumclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-solumclient;python_version>='3.6' # Apache-2.0 +python-swiftclient # Apache-2.0 +python-tackerclient<1.0.0;python_version=='2.7' # Apache-2.0 +python-tackerclient;python_version>='3.6' # Apache-2.0 +python-troveclient # Apache-2.0 +python-vitrageclient<4.0.0;python_version=='2.7' # Apache-2.0 +python-vitrageclient;python_version>='3.6' # Apache-2.0 +python-watcherclient # Apache-2.0 +python-zaqarclient # Apache-2.0 +python-zunclient # Apache-2.0 + +python-magic # MIT +python-memcached # PSF +python-dateutil # BSD + +# 2013.6 is the first version of pytz that is PEP 440 compatible. +pytz # MIT +pyudev # LGPLv2.1+ +PyYAML # MIT +qpid-python;python_version=='2.7' # Apache-2.0 +raven # BSD +reno<3.0.0;python_version<'3.0' # Apache-2.0 +reno;python_version>='3.0' # Apache-2.0 +requests!=2.20.0 # Apache-2.0 +requests-aws # BSD License (3 clause) +requests-kerberos # ISC +requestsexceptions # Apache-2.0 +rfc3986 # Apache-2.0 +rsd-lib # Apache-2.0 +Routes # MIT +rtslib-fb # Apache-2.0 +ryu # Apache-2.0 +semantic-version # BSD +fasteners!=0.15 # Apache-2.0 +scrypt # BSD +simplejson # MIT +six # MIT +scipy # BSD +scikit-learn<=0.20.0;python_version<='3.4' # BSD +scikit-learn;python_version>='3.5' # BSD +setproctitle # BSD +# NOTE(yamahata): +# bug work around of sqlalchemy +# https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/ +# The fix which is in git master branch is planned for 1.1.9 +SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT +SQLAlchemy-Utils # BSD License +sqlalchemy-migrate # Apache-2.0 +sqlalchemy-filters # Apache-2.0 +sqlparse # BSD +stevedore # Apache-2.0 +storops # Apache-2.0 +systemd-python # LGPLv2+ +sysv-ipc # BSD License +suds-jurko # LGPLv3+ +sympy # BSD +taskflow # Apache-2.0 +tempest # Apache-2.0 +tooz # Apache-2.0 +tosca-parser # Apache-2.0 +tripleo-common!=11.3.0 # Apache-2.0 +validations-libs # Apache-2.0 +urllib3 # MIT +unicodecsv;python_version<'3.0' # BSD +warlock<2 # Apache-2.0 +WebOb # MIT +websocket-client # LGPLv2+ +websockify # LGPLv3 +wheel # MIT +PyMI;sys_platform=='win32' # Apache 2.0 License +wmi;sys_platform=='win32' # MIT +WSME # MIT +xattr;sys_platform!='win32' # MIT +xstatic-angular-uuid # MIT License +xstatic-angular-vis # MIT License +xstatic-filesaver # MIT License +xstatic-js-yaml # MIT License +xstatic-json2yaml # MIT License +XenAPI # LGPL +XStatic # MIT License +XStatic-Angular # MIT License +XStatic-Angular-Bootstrap # MIT License +XStatic-Angular-Gettext # MIT License +XStatic-Angular-lrdragndrop # MIT License +XStatic-Angular-Schema-Form # MIT +XStatic-angular-ui-router # MIT +XStatic-Bootstrap-Datepicker # Apache 2.0 License +XStatic-Bootstrap-SCSS # Apache 2.0 License +XStatic-bootswatch # MIT License +XStatic-D3 # BSD License (3 clause) +XStatic-Dagre # MIT License +XStatic-Dagre-D3 # MIT License +XStatic-Font-Awesome # SIL OFL 1.1 License, MIT License +XStatic-Graphlib # MIT License +XStatic-Hogan # Apache 2.0 License +XStatic-Jasmine # MIT License +XStatic-jQuery<2 # MIT License +XStatic-JQuery-Migrate # MIT License +XStatic-JQuery.quicksearch # MIT License +XStatic-JQuery.TableSorter # MIT License +XStatic-jquery-ui # MIT License +XStatic-JSEncrypt # MIT License +XStatic-lodash # MIT License +XStatic-mdi # SIL OPEN FONT LICENSE Version 1.1 +XStatic-moment # MIT License +XStatic-Moment-Timezone # MIT License +XStatic-objectpath # MIT +XStatic-Rickshaw # BSD License (prior) +XStatic-roboto-fontface # Apache 2.0 License +XStatic-smart-table # MIT License +XStatic-Spin # MIT License +XStatic-term.js # MIT License +XStatic-tv4 # MIT +XStatic-Angular-FileUpload # MIT License +yaql # Apache 2.0 License +# NOTE(dtantsur): zeroconf dropped compatibility with Python 2 in version 0.20 +zeroconf<0.20;python_version=='2.7' # LGPL +zeroconf;python_version>='3.0' # LGPL +zhmcclient # Apache 2.0 License + +# Testing tools below, which are typically in test-requires.txt + +bashate<1.0.0;python_version=='2.7' # Apache-2.0 +bashate;python_version>='3.6' # Apache-2.0 +couchdb # Apache-2.0 +coverage!=4.4 # Apache-2.0 +demjson # GLGPLv3+ +docker # Apache-2.0 +django-nose # BSD +doc8 # Apache-2.0 +Pygments # BSD license +fixtures # Apache-2.0/BSD +fixtures-git # Apache-2.0 +freezegun # Apache-2.0 +gabbi # Apache-2.0 +kafka-python # Apache-2.0 +keyring<19.0.0;python_version=='2.7' # MIT/PSF +keyring;python_version>='3.4' # MIT/PSF +ldappool # MPL +# Do not make mock conditional on Python version: we depend on newer code than +# in [most] releases of the Python std library. +# https://github.com/testing-cabal/mock/issues/487 for 4.0.[0-1] blacklist +mock!=4.0.0,!=4.0.1 # BSD +mox # Apache-2.0 +mox3 # Apache-2.0 +nodeenv # BSD +nose # LGPL +nose-exclude # LGPL +nosehtmloutput # Apache-2.0 +nosexcover # BSD +openstack-doc-tools # Apache-2.0 +openstack.nose-plugin # Apache-2.0 +openstacksdk # Apache-2.0 +os-api-ref # Apache-2.0 +oslosphinx # Apache-2.0 +oslotest # Apache-2.0 +ovsdbapp # Apache-2.0 +proboscis # Apache-2.0 +psycopg2 # LGPL/ZPL +psycopg2-binary # LGPL/ZPL +purestorage # BSD +pysendfile;sys_platform!='win32' # MIT +python-3parclient # Apache-2.0 +python-consul # MIT License +python-subunit # Apache-2.0/BSD +python-pytun # MIT +pyzmq # LGPL+BSD +redis # MIT +hiredis # BSD +requests-mock # Apache-2.0 +tenacity # Apache-2.0 +retrying!=1.3.0 # Apache-2.0 +selenium # Apache-2.0 +# While setuptools cannot deal with pre-installed incompatible versions, +# setting a lower bound is not harmful - it makes error messages cleaner. DO +# NOT set an upper bound on setuptools, as that will lead to uninstallable +# situations as progressive releases of projects are done. +# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951 +# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086 +# Cap setuptools to 58.0.0 on python3.5 due to the incompatibility with decorator 3.4.0. +setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<58.0.0;python_version>='3.5' # PSF/ZPL +setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='2.7' # PSF/ZPL +sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD +sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0;python_version>='3.4' # BSD +sphinx-testing # BSD License +sphinxcontrib-actdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-actdiag;python_version>='3.4' # BSD +sphinxcontrib-apidoc # BSD +sphinxcontrib-blockdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-blockdiag;python_version>='3.4' # BSD +sphinxcontrib-httpdomain # BSD +sphinxcontrib-nwdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-nwdiag;python_version>='3.4' # BSD +sphinxcontrib-seqdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-seqdiag;python_version>='3.4' # BSD +sphinxcontrib-pecanwsme # Apache-2.0 +sphinxcontrib-fulltoc # Apache-2.0 +sphinx-feature-classification # Apache-2.0 +sphinxmark # Apache-2.0 +sphinxcontrib.datatemplates # BSD License +sphinxcontrib-programoutput # BSD license +sphinxcontrib-svg2pdfconverter # BSD License +stestr!=2.3.0,!=3.0.0 # Apache-2.0 +sushy!=1.9.0<3.0.0;python_version=='2.7' # Apache-2.0 +sushy!=1.9.0;python_version>='3.6' # Apache-2.0 +tabulate # MIT +testrepository # Apache-2.0/BSD +testresources # Apache-2.0/BSD +testscenarios # Apache-2.0/BSD +testtools # MIT +trollius;python_version=='2.7' # Apache-2.0 +ujson # BSD +unittest2 # BSD +virtualbmc # Apache-2.0 +virtualenv<20.8 # MIT +vmware-nsxlib # Apache-2.0 +wrapt # BSD License +WebTest # MIT +Werkzeug # BSD License +whereto # Apache-2.0 +xmltodict # MIT +wsgi-intercept # MIT License +xvfbwrapper #license: MIT +zake # Apache-2.0 +zuul-sphinx # Apache-2.0 +shade # Apache-2.0 +sadisplay # BSD + +# NOTE(tonyb): Generally adding OpenSatck services isn't allowed but some consumers of ceilometer +# use it like a library so until there is a ceilometer-lib (or similar) this is our best option. +ceilometer # Apache-2.0 + +# Indirect dependencies that need blocking +# NOTE(bnemec): 1.16.0 introduced a bug that is breaking tooz. 1.18.0 fixes it. +# See https://bugs.launchpad.net/python-tooz/+bug/1808046 +grpcio!=1.16.0,!=1.16.1,!=1.17.0,!=1.17.1 + +# NOTE(dhellmann): We need to include this package for testing the +# release jobs that propose constraint updates, even though it is not +# a real requirement of any of our software. +openstack-release-test + +# NOTE(snapiri): This is required for Dragonflow topology visualization +skydive-client # Apache-2.0 + +# NOTE(anilvenkata): This is required for profiling oslo.service processes +Yappi!=0.98,!=0.99 # MIT + +# NOTE(yoctozepto): To avoid repeated breakage (this is a dep of deps) +zipp<2;python_version<'3.6' # MIT +zipp;python_version>='3.6' # MIT + +# NOTE(prometheanfire): python3 caps, are not approved for use in OpenStack +gitdb<4.0.0;python_version=='2.7' # BSD +gitdb;python_version>='3.4' # BSD +gitdb2<3.0.0;python_version=='2.7' # BSD +gitdb2;python_version>='3.4' # BSD diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upper-constraints.txt b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upper-constraints.txt new file mode 100644 index 00000000..3eba40e0 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upper-constraints.txt @@ -0,0 +1,1141 @@ +ntlm-auth===1.4.0 +voluptuous===0.11.7 +chardet===3.0.4 +enum-compat===0.0.3 +rsa===4.0 +restructuredtext-lint===1.3.0 +netmiko===3.1.0 +instack-undercloud===9.5.1 +PasteDeploy===2.1.0 +typing===3.7.4.1 +python-saharaclient===2.3.0;python_version=='2.7' +python-saharaclient===3.1.0;python_version=='3.6' +python-saharaclient===3.1.0;python_version=='3.7' +python-saharaclient===3.1.0;python_version=='3.8' +python-saharaclient===3.1.0;python_version=='3.9' +python-hnvclient===0.1.0 +Routes===2.4.1 +rtslib-fb===2.1.71 +oslo.limit===0.3.0;python_version=='2.7' +oslo.limit===1.0.2;python_version=='3.6' +oslo.limit===1.0.2;python_version=='3.7' +oslo.limit===1.0.2;python_version=='3.8' +oslo.limit===1.0.2;python_version=='3.9' +smmap===3.0.1 +confget===2.3.3 +XStatic-Angular-Bootstrap===2.5.0.0 +paunch===7.0.4 +WebOb===1.8.6 +sphinxcontrib-actdiag===0.8.5;python_version=='2.7' +sphinxcontrib-actdiag===2.0.0;python_version=='3.6' +sphinxcontrib-actdiag===2.0.0;python_version=='3.7' +sphinxcontrib-actdiag===2.0.0;python_version=='3.8' +sphinxcontrib-actdiag===2.0.0;python_version=='3.9' +docopt===0.6.2 +pecan===1.3.3 +ryu===4.32 +os-api-ref===1.6.2;python_version=='2.7' +os-api-ref===2.0.1;python_version=='3.6' +os-api-ref===2.0.1;python_version=='3.7' +os-api-ref===2.0.1;python_version=='3.8' +os-api-ref===2.0.1;python_version=='3.9' +python-ldap===3.2.0 +oslo.concurrency===3.31.0;python_version=='2.7' +oslo.concurrency===4.0.3;python_version=='3.6' +oslo.concurrency===4.0.3;python_version=='3.7' +oslo.concurrency===4.0.3;python_version=='3.8' +oslo.concurrency===4.0.3;python_version=='3.9' +websocket-client===0.57.0 +osprofiler===2.9.0;python_version=='2.7' +osprofiler===3.1.0;python_version=='3.6' +osprofiler===3.1.0;python_version=='3.7' +osprofiler===3.1.0;python_version=='3.8' +osprofiler===3.1.0;python_version=='3.9' +os-resource-classes===0.5.0;python_version=='2.7' +os-resource-classes===1.0.0;python_version=='3.6' +os-resource-classes===1.0.0;python_version=='3.7' +os-resource-classes===1.0.0;python_version=='3.8' +os-resource-classes===1.0.0;python_version=='3.9' +tabulate===0.8.7 +python-ironic-inspector-client===4.0.0;python_version=='2.7' +python-ironic-inspector-client===4.1.0;python_version=='3.6' +python-ironic-inspector-client===4.1.0;python_version=='3.7' +python-ironic-inspector-client===4.1.0;python_version=='3.8' +python-ironic-inspector-client===4.1.0;python_version=='3.9' +lxml===4.5.0 +vintage===0.4.1 +python-kingbirdclient===0.2.1 +setproctitle===1.1.10 +pytest===4.6.9;python_version=='2.7' +pytest===5.4.1;python_version=='3.6' +pytest===5.4.1;python_version=='3.7' +pytest===5.4.1;python_version=='3.8' +pytest===5.4.1;python_version=='3.9' +python-etcd===0.4.5 +raven===6.10.0 +cursive===0.2.2 +oslo.service===1.41.1;python_version=='2.7' +oslo.service===2.1.1;python_version=='3.6' +oslo.service===2.1.1;python_version=='3.7' +oslo.service===2.1.1;python_version=='3.8' +oslo.service===2.1.1;python_version=='3.9' +django-appconf===1.0.4 +pykerberos===1.2.1 +certifi===2021.10.8 +sphinxcontrib-nwdiag===0.9.5;python_version=='2.7' +sphinxcontrib-nwdiag===2.0.0;python_version=='3.6' +sphinxcontrib-nwdiag===2.0.0;python_version=='3.7' +sphinxcontrib-nwdiag===2.0.0;python_version=='3.8' +sphinxcontrib-nwdiag===2.0.0;python_version=='3.9' +requests-aws===0.1.8 +alabaster===0.7.12 +pbr===5.4.5 +munch===2.5.0 +waiting===1.4.1 +attrs===19.3.0 +microversion-parse===0.2.1;python_version=='2.7' +microversion-parse===1.0.1;python_version=='3.6' +microversion-parse===1.0.1;python_version=='3.7' +microversion-parse===1.0.1;python_version=='3.8' +microversion-parse===1.0.1;python_version=='3.9' +Pint===0.11;python_version=='3.6' +Pint===0.11;python_version=='3.7' +Pint===0.11;python_version=='3.8' +Pint===0.11;python_version=='3.9' +Pint===0.9;python_version=='2.7' +oslo.i18n===3.25.1;python_version=='2.7' +oslo.i18n===4.0.1;python_version=='3.6' +oslo.i18n===4.0.1;python_version=='3.7' +oslo.i18n===4.0.1;python_version=='3.8' +oslo.i18n===4.0.1;python_version=='3.9' +jsonpath-rw-ext===1.2.2 +python-mistralclient===3.10.0;python_version=='2.7' +python-mistralclient===4.0.1;python_version=='3.6' +python-mistralclient===4.0.1;python_version=='3.7' +python-mistralclient===4.0.1;python_version=='3.8' +python-mistralclient===4.0.1;python_version=='3.9' +oslo.context===2.23.0;python_version=='2.7' +oslo.context===3.0.3;python_version=='3.6' +oslo.context===3.0.3;python_version=='3.7' +oslo.context===3.0.3;python_version=='3.8' +oslo.context===3.0.3;python_version=='3.9' +python-senlinclient===1.11.0;python_version=='2.7' +python-senlinclient===2.0.1;python_version=='3.6' +python-senlinclient===2.0.1;python_version=='3.7' +python-senlinclient===2.0.1;python_version=='3.8' +python-senlinclient===2.0.1;python_version=='3.9' +rcssmin===1.0.6 +pycadf===2.10.0;python_version=='2.7' +pycadf===3.0.0;python_version=='3.6' +pycadf===3.0.0;python_version=='3.7' +pycadf===3.0.0;python_version=='3.8' +pycadf===3.0.0;python_version=='3.9' +grpcio===1.28.1 +skydive-client===0.7.0 +pysendfile===2.0.1 +fixtures===3.0.0 +neutron===16.4.2 +neutron-lib===1.31.0;python_version=='2.7' +neutron-lib===2.3.0;python_version=='3.6' +neutron-lib===2.3.0;python_version=='3.7' +neutron-lib===2.3.0;python_version=='3.8' +neutron-lib===2.3.0;python_version=='3.9' +XStatic-FileSaver===1.3.2.0 +storage-interfaces===1.0.3 +persist-queue===0.5.0 +pystache===0.5.4 +XStatic-Font-Awesome===4.7.0.0 +nose===1.3.7 +nosehtmloutput===0.0.7 +waitress===1.4.3 +os-refresh-config===11.0.1 +pysnmp===4.4.12 +sphinxcontrib-websupport===1.1.2;python_version=='2.7' +Mako===1.1.2 +XStatic-angular-ui-router===0.3.1.2 +pyScss===1.3.7 +thriftpy2===0.4.11;python_version=='2.7' +sphinxcontrib-htmlhelp===1.0.3;python_version=='3.6' +sphinxcontrib-htmlhelp===1.0.3;python_version=='3.7' +sphinxcontrib-htmlhelp===1.0.3;python_version=='3.8' +sphinxcontrib-htmlhelp===1.0.3;python_version=='3.9' +XStatic-jQuery===1.12.4.1 +jsonmodels===2.4 +ddt===1.3.1 +XStatic-Graphlib===2.1.7.0 +pyserial===3.4 +ipaddress===1.0.23;python_version=='2.7' +infi.dtypes.wwn===0.1.1 +python-freezerclient===2.2.0;python_version=='2.7' +python-freezerclient===3.0.1;python_version=='3.6' +python-freezerclient===3.0.1;python_version=='3.7' +python-freezerclient===3.0.1;python_version=='3.8' +python-freezerclient===3.0.1;python_version=='3.9' +os-xenapi===0.3.4 +python-vitrageclient===3.0.0;python_version=='2.7' +python-vitrageclient===4.0.1;python_version=='3.6' +python-vitrageclient===4.0.1;python_version=='3.7' +python-vitrageclient===4.0.1;python_version=='3.8' +python-vitrageclient===4.0.1;python_version=='3.9' +nosexcover===1.0.11 +krest===1.3.1 +psycopg2===2.8.5 +networkx===2.2;python_version=='2.7' +networkx===2.4;python_version=='3.6' +networkx===2.4;python_version=='3.7' +networkx===2.4;python_version=='3.8' +networkx===2.4;python_version=='3.9' +bashate===0.6.0;python_version=='2.7' +bashate===2.0.0;python_version=='3.6' +bashate===2.0.0;python_version=='3.7' +bashate===2.0.0;python_version=='3.8' +bashate===2.0.0;python_version=='3.9' +XStatic-Angular===1.5.8.0 +pyngus===2.3.0 +Pillow===6.2.2;python_version=='2.7' +Pillow===7.1.1;python_version=='3.6' +Pillow===7.1.1;python_version=='3.7' +Pillow===7.1.1;python_version=='3.8' +Pillow===7.1.1;python_version=='3.9' +zuul-sphinx===0.4.1 +python-mimeparse===1.6.0 +tripleo-common===12.4.6 +validations-libs===1.5.0 +Tempita===0.5.2 +ply===3.11 +google-api-core===1.16.0 +requests-toolbelt===0.9.1 +simplejson===3.17.0 +suds-jurko===0.6 +python-swiftclient===3.9.1 +pyOpenSSL===19.1.0 +monasca-common===3.1.0 +zeroconf===0.19.1;python_version=='2.7' +zeroconf===0.25.0;python_version=='3.6' +zeroconf===0.25.0;python_version=='3.7' +zeroconf===0.25.0;python_version=='3.8' +zeroconf===0.25.0;python_version=='3.9' +scipy===1.2.3;python_version=='2.7' +scipy===1.4.1;python_version=='3.6' +scipy===1.4.1;python_version=='3.7' +scipy===1.4.1;python_version=='3.8' +scipy===1.6.3;python_version=='3.9' # dpanech +mypy-extensions===0.4.3;python_version=='3.6' +mypy-extensions===0.4.3;python_version=='3.7' +mypy-extensions===0.4.3;python_version=='3.8' +mypy-extensions===0.4.3;python_version=='3.9' +rsd-lib===1.2.0 +XStatic-Jasmine===2.4.1.2 +googleapis-common-protos===1.51.0 +python-glanceclient===3.0.0;python_version=='2.7' +python-glanceclient===3.1.2;python_version=='3.6' +python-glanceclient===3.1.2;python_version=='3.7' +python-glanceclient===3.1.2;python_version=='3.8' +python-glanceclient===3.1.2;python_version=='3.9' +pyinotify===0.9.6 +debtcollector===1.22.0;python_version=='2.7' +debtcollector===2.0.1;python_version=='3.6' +debtcollector===2.0.1;python_version=='3.7' +debtcollector===2.0.1;python_version=='3.8' +debtcollector===2.0.1;python_version=='3.9' +requests-unixsocket===0.2.0 +croniter===0.3.31 +octavia-lib===1.5.0;python_version=='2.7' +octavia-lib===2.0.0;python_version=='3.6' +octavia-lib===2.0.0;python_version=='3.7' +octavia-lib===2.0.0;python_version=='3.8' +octavia-lib===2.0.0;python_version=='3.9' +python-watcherclient===2.5.0;python_version=='2.7' +python-watcherclient===3.0.0;python_version=='3.6' +python-watcherclient===3.0.0;python_version=='3.7' +python-watcherclient===3.0.0;python_version=='3.8' +python-watcherclient===3.0.0;python_version=='3.9' +MarkupSafe===1.1.1 +pypowervm===1.1.24 +doc8===0.8.0 +pymongo===3.11.3 +python-cloudkittyclient===3.1.0;python_version=='2.7' +python-cloudkittyclient===4.0.0;python_version=='3.6' +python-cloudkittyclient===4.0.0;python_version=='3.7' +python-cloudkittyclient===4.0.0;python_version=='3.8' +python-cloudkittyclient===4.0.0;python_version=='3.9' +soupsieve===1.9.5;python_version=='2.7' +soupsieve===2.0;python_version=='3.6' +soupsieve===2.0;python_version=='3.7' +soupsieve===2.0;python_version=='3.8' +soupsieve===2.0;python_version=='3.9' +sqlparse===0.3.1 +oslotest===3.9.0;python_version=='2.7' +oslotest===4.2.0;python_version=='3.6' +oslotest===4.2.0;python_version=='3.7' +oslotest===4.2.0;python_version=='3.8' +oslotest===4.2.0;python_version=='3.9' +jsonpointer===2.0 +defusedxml===0.6.0 +netaddr===0.7.20 +pyghmi===1.5.13 +sphinxcontrib-blockdiag===1.5.5;python_version=='2.7' +sphinxcontrib-blockdiag===2.0.0;python_version=='3.6' +sphinxcontrib-blockdiag===2.0.0;python_version=='3.7' +sphinxcontrib-blockdiag===2.0.0;python_version=='3.8' +sphinxcontrib-blockdiag===2.0.0;python_version=='3.9' +thrift===0.13.0 +gnocchiclient===7.0.6 +wcwidth===0.1.9 +sphinxcontrib.datatemplates===0.6.1 +jsonpath-rw===1.4.0 +prettytable===0.7.2 +vine===1.3.0 +taskflow===3.8.0;python_version=='2.7' +taskflow===4.1.0;python_version=='3.6' +taskflow===4.1.0;python_version=='3.7' +taskflow===4.1.0;python_version=='3.8' +taskflow===4.1.0;python_version=='3.9' +traceback2===1.4.0 +arrow===0.15.5 +semantic-version===2.8.4 +virtualbmc===2.0.0 +deprecation===2.0.7 +SQLAlchemy===1.3.16 +pyroute2===0.5.11 +google-auth===1.13.1 +kazoo===2.7.0 +XStatic-roboto-fontface===0.5.0.0 +pyudev===0.22.0 +eventlet===0.30.0 +openstack-doc-tools===2.0.0;python_version=='2.7' +openstack-doc-tools===3.0.0;python_version=='3.6' +openstack-doc-tools===3.0.0;python_version=='3.7' +openstack-doc-tools===3.0.0;python_version=='3.8' +openstack-doc-tools===3.0.0;python_version=='3.9' +frozendict===1.2 +oslo.messaging===10.5.0;python_version=='2.7' +oslo.messaging===12.1.6;python_version=='3.6' +oslo.messaging===12.1.6;python_version=='3.7' +oslo.messaging===12.1.6;python_version=='3.8' +oslo.messaging===12.1.6;python_version=='3.9' +jira===2.0.0 +extras===1.0.0 +PyJWT===1.7.1 +XStatic-lodash===4.16.4.1 +zVMCloudConnector===1.4.1 +paramiko===2.7.1 +ifaddr===0.1.6;python_version=='3.6' +ifaddr===0.1.6;python_version=='3.7' +ifaddr===0.1.6;python_version=='3.8' +ifaddr===0.1.6;python_version=='3.9' +reno===2.11.3;python_version=='2.7' +reno===3.0.1;python_version=='3.6' +reno===3.0.1;python_version=='3.7' +reno===3.0.1;python_version=='3.8' +reno===3.0.1;python_version=='3.9' +unicodecsv===0.14.1;python_version=='2.7' +imagesize===1.2.0 +pydot===1.4.1 +pathlib===1.0.1;python_version=='2.7' +urllib3===1.25.8 +graphviz===0.13.2 +PyKMIP===0.10.0 +whereto===0.4.0 +pywbem===0.17.0 +python-subunit===1.4.0 +tornado===5.1.1;python_version=='2.7' +tornado===6.0.4;python_version=='3.6' +tornado===6.0.4;python_version=='3.7' +tornado===6.0.4;python_version=='3.8' +tornado===6.0.4;python_version=='3.9' +pycparser===2.20 +mock===3.0.5 +PyYAML===5.3.1 +beautifulsoup4===4.9.0 +os-net-config===12.3.5 +ovs===2.11.0 +cryptography===2.9 +URLObject===2.4.3 +psycopg2-binary===2.8.5 +backports.ssl-match-hostname===3.7.0.1;python_version=='2.7' +openstack-release-test===3.0.1 +pylxd===2.2.10 +pycryptodomex===3.9.7 +anyjson===0.3.3 +requests-mock===1.7.0 +os-apply-config===11.2.3 +prometheus-client===0.7.1 +oslosphinx===4.18.0 +mox3===0.28.0;python_version=='2.7' +mox3===1.0.0;python_version=='3.6' +mox3===1.0.0;python_version=='3.7' +mox3===1.0.0;python_version=='3.8' +mox3===1.0.0;python_version=='3.9' +gunicorn===19.10.0;python_version=='2.7' +gunicorn===20.0.4;python_version=='3.6' +gunicorn===20.0.4;python_version=='3.7' +gunicorn===20.0.4;python_version=='3.8' +gunicorn===20.0.4;python_version=='3.9' +storpool===5.3.1 +textfsm===1.1.0 +python-3parclient===4.2.11 +unittest2===1.1.0 +django-compressor===2.4 +libvirt-python===5.10.0;python_version=='2.7' +libvirt-python===6.1.0;python_version=='3.6' +libvirt-python===6.1.0;python_version=='3.7' +libvirt-python===6.1.0;python_version=='3.8' +libvirt-python===7.0.0;python_version=='3.9' +python-zunclient===3.6.0;python_version=='2.7' +python-zunclient===4.0.1;python_version=='3.6' +python-zunclient===4.0.1;python_version=='3.7' +python-zunclient===4.0.1;python_version=='3.8' +python-zunclient===4.0.1;python_version=='3.9' +asyncio===3.4.3;python_version=='3.6' +asyncio===3.4.3;python_version=='3.7' +asyncio===3.4.3;python_version=='3.8' +asyncio===3.4.3;python_version=='3.9' +tzlocal===2.0.0 +sphinxcontrib-jsmath===1.0.1;python_version=='3.6' +sphinxcontrib-jsmath===1.0.1;python_version=='3.7' +sphinxcontrib-jsmath===1.0.1;python_version=='3.8' +sphinxcontrib-jsmath===1.0.1;python_version=='3.9' +python-novaclient===16.0.0;python_version=='2.7' +python-novaclient===17.0.1;python_version=='3.6' +python-novaclient===17.0.1;python_version=='3.7' +python-novaclient===17.0.1;python_version=='3.8' +python-novaclient===17.0.1;python_version=='3.9' +pact===1.12.0 +bcrypt===3.1.7 +fixtures-git===0.1.0 +os-client-config===2.1.0 +XStatic-Angular-Gettext===2.4.1.0 +Pygments===2.5.2;python_version=='2.7' +Pygments===2.6.1;python_version=='3.6' +Pygments===2.6.1;python_version=='3.7' +Pygments===2.6.1;python_version=='3.8' +Pygments===2.6.1;python_version=='3.9' +XStatic-Hogan===2.0.0.3 +XStatic-objectpath===1.2.1.0 +python-manilaclient===1.29.0;python_version=='2.7' +python-manilaclient===2.1.0;python_version=='3.6' +python-manilaclient===2.1.0;python_version=='3.7' +python-manilaclient===2.1.0;python_version=='3.8' +python-manilaclient===2.1.0;python_version=='3.9' +sphinxcontrib-serializinghtml===1.1.4;python_version=='3.6' +sphinxcontrib-serializinghtml===1.1.4;python_version=='3.7' +sphinxcontrib-serializinghtml===1.1.4;python_version=='3.8' +sphinxcontrib-serializinghtml===1.1.4;python_version=='3.9' +requests===2.23.0 +snowballstemmer===2.0.0 +Jinja2===2.11.1 +XStatic-Bootstrap-SCSS===3.4.1.0 +pyzabbix===0.7.5 +ptyprocess===0.6.0 +threadloop===1.0.2 +amqp===2.5.2 +websockify===0.9.0 +XStatic-JQuery.quicksearch===2.0.3.2 +mpmath===1.1.0 +django-debreach===2.0.1 +sphinx-feature-classification===1.0.0;python_version=='2.7' +sphinx-feature-classification===1.0.1;python_version=='3.6' +sphinx-feature-classification===1.0.1;python_version=='3.7' +sphinx-feature-classification===1.0.1;python_version=='3.8' +sphinx-feature-classification===1.0.1;python_version=='3.9' +XStatic-JQuery-Migrate===1.2.1.2 +pytest-html===1.22.1;python_version=='2.7' +pytest-html===2.1.1;python_version=='3.6' +pytest-html===2.1.1;python_version=='3.7' +pytest-html===2.1.1;python_version=='3.8' +pytest-html===2.1.1;python_version=='3.9' +appdirs===1.4.3 +tinyrpc===1.0.4 +M2Crypto===0.35.2;python_version=='2.7' +google-auth-httplib2===0.0.3 +Flask-SQLAlchemy===2.4.1 +daiquiri===2.1.1 +influxdb===5.1.0;python_version=='2.7' +influxdb===5.2.3;python_version=='3.6' +influxdb===5.2.3;python_version=='3.7' +influxdb===5.2.3;python_version=='3.8' +influxdb===5.2.3;python_version=='3.9' +funcparserlib===0.3.6 +passlib===1.7.2 +dib-utils===0.0.11 +cliff===2.18.0;python_version=='2.7' +cliff===3.2.0;python_version=='3.6' +cliff===3.2.0;python_version=='3.7' +cliff===3.2.0;python_version=='3.8' +cliff===3.2.0;python_version=='3.9' +os-brick===3.0.8 +ansible-runner===1.4.6 +trollius===2.2.post1;python_version=='2.7' +scp===0.13.2 +python-zaqarclient===1.13.2 +funcsigs===1.0.2;python_version=='2.7' +zhmcclient===0.26.0 +lockfile===0.12.2 +dnspython3===1.15.0;python_version=='3.6' +dnspython3===1.15.0;python_version=='3.7' +dnspython3===1.15.0;python_version=='3.8' +dnspython3===1.15.0;python_version=='3.9' +ldappool===2.4.1 +termcolor===1.1.0 +joblib===0.14.1;python_version=='3.6' +joblib===0.14.1;python_version=='3.7' +joblib===0.14.1;python_version=='3.8' +joblib===0.14.1;python_version=='3.9' +hiredis===1.0.1 +google-api-python-client===1.8.0 +castellan===1.4.0;python_version=='2.7' +castellan===3.0.4;python_version=='3.6' +castellan===3.0.4;python_version=='3.7' +castellan===3.0.4;python_version=='3.8' +castellan===3.0.4;python_version=='3.9' +oslo.versionedobjects===1.37.0;python_version=='2.7' +oslo.versionedobjects===2.0.2;python_version=='3.6' +oslo.versionedobjects===2.0.2;python_version=='3.7' +oslo.versionedobjects===2.0.2;python_version=='3.8' +oslo.versionedobjects===2.0.2;python_version=='3.9' +enmerkar===0.7.1 +webcolors===1.10;python_version=='2.7' +webcolors===1.11.1;python_version=='3.6' +webcolors===1.11.1;python_version=='3.7' +webcolors===1.11.1;python_version=='3.8' +webcolors===1.11.1;python_version=='3.9' +aodhclient===2.0.0;python_version=='2.7' +aodhclient===2.0.1;python_version=='3.6' +aodhclient===2.0.1;python_version=='3.7' +aodhclient===2.0.1;python_version=='3.8' +aodhclient===2.0.1;python_version=='3.9' +autobahn===19.11.2;python_version=='2.7' +autobahn===20.4.1;python_version=='3.6' +autobahn===20.4.1;python_version=='3.7' +autobahn===20.4.1;python_version=='3.8' +autobahn===20.4.1;python_version=='3.9' +SQLAlchemy-Utils===0.36.3 +retryz===0.1.9 +pluggy===0.13.1 +coverage===5.2.1 +freezegun===0.3.15 +python-pytun===2.3.0 +pyperclip===1.8.0 +cassandra-driver===3.23.0 +mox===0.5.3 +XStatic-Angular-Schema-Form===0.8.13.0 +gabbi===1.49.0 +nwdiag===2.0.0 +XStatic-bootswatch===3.3.7.0 +XStatic-JS-Yaml===3.8.1.0 +XStatic-term.js===0.0.7.0 +oslo.log===3.45.2;python_version=='2.7' +oslo.log===4.1.3;python_version=='3.6' +oslo.log===4.1.3;python_version=='3.7' +oslo.log===4.1.3;python_version=='3.8' +oslo.log===4.1.3;python_version=='3.9' +nodeenv===1.3.5 +gossip===2.4.0 +pylev===1.3.0 +importlib-metadata===1.6.0 +python-searchlightclient===1.6.0;python_version=='2.7' +python-searchlightclient===2.0.1;python_version=='3.6' +python-searchlightclient===2.0.1;python_version=='3.7' +python-searchlightclient===2.0.1;python_version=='3.8' +python-searchlightclient===2.0.1;python_version=='3.9' +oslo.middleware===3.38.1;python_version=='2.7' +oslo.middleware===4.0.2;python_version=='3.6' +oslo.middleware===4.0.2;python_version=='3.7' +oslo.middleware===4.0.2;python_version=='3.8' +oslo.middleware===4.0.2;python_version=='3.9' +XStatic-mdi===1.6.50.2 +django-pyscss===2.0.2 +uritemplate===3.0.1 +docutils===0.15.2 +notifier===1.0.3 +os-ken===0.4.1;python_version=='2.7' +os-ken===1.0.0;python_version=='3.6' +os-ken===1.0.0;python_version=='3.7' +os-ken===1.0.0;python_version=='3.8' +os-ken===1.0.0;python_version=='3.9' +pycrypto===2.6.1 +ujson===2.0.3 +selenium===3.141.0 +python-glareclient===0.5.3 +mypy===0.770;python_version=='3.6' +mypy===0.770;python_version=='3.7' +mypy===0.770;python_version=='3.8' +mypy===0.770;python_version=='3.9' +mistral-lib===1.4.0;python_version=='2.7' +mistral-lib===2.1.0;python_version=='3.6' +mistral-lib===2.1.0;python_version=='3.7' +mistral-lib===2.1.0;python_version=='3.8' +mistral-lib===2.1.0;python_version=='3.9' +dogtag-pki===10.7.4.1 +XStatic-Angular-UUID===0.0.4.0 +purestorage===1.18.1 +sphinxcontrib-seqdiag===0.8.5;python_version=='2.7' +sphinxcontrib-seqdiag===2.0.0;python_version=='3.6' +sphinxcontrib-seqdiag===2.0.0;python_version=='3.7' +sphinxcontrib-seqdiag===2.0.0;python_version=='3.8' +sphinxcontrib-seqdiag===2.0.0;python_version=='3.9' +os-win===4.3.2;python_version=='2.7' +os-win===5.0.2;python_version=='3.6' +os-win===5.0.2;python_version=='3.7' +os-win===5.0.2;python_version=='3.8' +os-win===5.0.2;python_version=='3.9' +capacity===1.3.14 +retrying===1.3.3 +shade===1.33.0 +XStatic-Dagre===0.6.4.0 +pathlib2===2.3.5 +pydotplus===2.0.2 +boto3===1.12.39 +flask-oslolog===0.1 +jeepney===0.4.3;python_version=='3.6' +jeepney===0.4.3;python_version=='3.7' +jeepney===0.4.3;python_version=='3.8' +jeepney===0.4.3;python_version=='3.9' +stestr===2.6.0;python_version=='2.7' +stestr===3.0.1;python_version=='3.6' +stestr===3.0.1;python_version=='3.7' +stestr===3.0.1;python_version=='3.8' +stestr===3.0.1;python_version=='3.9' +singledispatch===3.4.0.3;python_version=='2.7' +oslo.serialization===2.29.2;python_version=='2.7' +oslo.serialization===3.1.2;python_version=='3.6' +oslo.serialization===3.1.2;python_version=='3.7' +oslo.serialization===3.1.2;python_version=='3.8' +oslo.serialization===3.1.2;python_version=='3.9' +warlock===1.3.3 +exabgp===4.2.6 +sphinxcontrib-httpdomain===1.7.0 +metalsmith===1.0.1 +s3transfer===0.3.3 +text-unidecode===1.3 +sphinxcontrib-svg2pdfconverter===0.1.0;python_version=='2.7' +sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.6' +sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.7' +sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.8' +sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.9' +murano-pkg-check===0.3.0 +oslo.vmware===2.35.0;python_version=='2.7' +oslo.vmware===3.3.1;python_version=='3.6' +oslo.vmware===3.3.1;python_version=='3.7' +oslo.vmware===3.3.1;python_version=='3.8' +oslo.vmware===3.3.1;python_version=='3.9' +XStatic-moment===2.8.4.2 +sqlalchemy-migrate===0.13.0 +gitdb===0.6.4;python_version=='2.7' +gitdb===4.0.2;python_version=='3.6' +gitdb===4.0.2;python_version=='3.7' +gitdb===4.0.2;python_version=='3.8' +gitdb===4.0.2;python_version=='3.9' +python-monascaclient===1.16.0;python_version=='2.7' +python-monascaclient===2.1.0;python_version=='3.6' +python-monascaclient===2.1.0;python_version=='3.7' +python-monascaclient===2.1.0;python_version=='3.8' +python-monascaclient===2.1.0;python_version=='3.9' +ldap3===2.7 +requests-ntlm===1.1.0 +automaton===1.17.0;python_version=='2.7' +automaton===2.0.1;python_version=='3.6' +automaton===2.0.1;python_version=='3.7' +automaton===2.0.1;python_version=='3.8' +automaton===2.0.1;python_version=='3.9' +os-service-types===1.7.0 +keyring===18.0.1;python_version=='2.7' +keyring===21.2.0;python_version=='3.6' +keyring===21.2.0;python_version=='3.7' +keyring===21.2.0;python_version=='3.8' +keyring===21.2.0;python_version=='3.9' +testscenarios===0.5.0 +sphinxcontrib-pecanwsme===0.10.0 +sadisplay===0.4.9 +enum34===1.1.10;python_version=='2.7' +infinisdk===151.1.1 +packaging===20.3 +flask-keystone===0.2 +XStatic-Dagre-D3===0.4.17.0 +nose-exclude===0.5.0 +psutil===5.7.0 +py===1.8.1 +txaio===18.8.1;python_version=='2.7' +txaio===20.4.1;python_version=='3.6' +txaio===20.4.1;python_version=='3.7' +txaio===20.4.1;python_version=='3.8' +txaio===20.4.1;python_version=='3.9' +python-qinlingclient===4.0.0;python_version=='2.7' +python-qinlingclient===5.0.1;python_version=='3.6' +python-qinlingclient===5.0.1;python_version=='3.7' +python-qinlingclient===5.0.1;python_version=='3.8' +python-qinlingclient===5.0.1;python_version=='3.9' +elasticsearch===2.4.1 +django-nose===1.4.6 +XStatic-JQuery.TableSorter===2.14.5.2 +pifpaf===2.4.0 +pysmi===0.3.4 +blockdiag===1.5.4;python_version=='2.7' +blockdiag===2.0.1;python_version=='3.6' +blockdiag===2.0.1;python_version=='3.7' +blockdiag===2.0.1;python_version=='3.8' +blockdiag===2.0.1;python_version=='3.9' +testtools===2.4.0 +infi.dtypes.iqn===0.4.0 +Parsley===1.3 +XStatic-tv4===1.2.7.0 +XStatic-JSEncrypt===2.3.1.1 +python-cinderclient===5.0.1;python_version=='2.7' +python-cinderclient===7.0.2;python_version=='3.6' +python-cinderclient===7.0.2;python_version=='3.7' +python-cinderclient===7.0.2;python_version=='3.8' +python-cinderclient===7.0.2;python_version=='3.9' +keystonemiddleware===9.0.0 +django-formtools===2.2 +python-ceilometerclient===2.9.0 +XStatic-Spin===1.2.5.3 +tap-as-a-service===3.0.0 +os-traits===2.2.0;python_version=='2.7' +os-traits===2.3.0;python_version=='3.6' +os-traits===2.3.0;python_version=='3.7' +os-traits===2.3.0;python_version=='3.8' +os-traits===2.3.0;python_version=='3.9' +SecretStorage===2.3.1;python_version=='2.7' +SecretStorage===3.1.2;python_version=='3.6' +SecretStorage===3.1.2;python_version=='3.7' +SecretStorage===3.1.2;python_version=='3.8' +SecretStorage===3.1.2;python_version=='3.9' +opentracing===2.3.0 +XStatic-Rickshaw===1.5.1.0 +iso8601===0.1.12 +tooz===1.67.2;python_version=='2.7' +tooz===2.3.1;python_version=='3.6' +tooz===2.3.1;python_version=='3.7' +tooz===2.3.1;python_version=='3.8' +tooz===2.3.1;python_version=='3.9' +linecache2===1.0.0 +oauth2client===4.1.3 +idna===2.9 +python-karborclient===2.0.0 +weakrefmethod===1.0.3;python_version=='2.7' +PuLP===2.1 +crc16===0.1.1 +protobuf===3.11.3 +os-dpm===1.1.0 +sushy===3.2.2 +python-neutronclient===7.1.0;python_version=='2.7' +python-neutronclient===7.1.1;python_version=='3.6' +python-neutronclient===7.1.1;python_version=='3.7' +python-neutronclient===7.1.1;python_version=='3.8' +python-neutronclient===7.1.1;python_version=='3.9' +pika===1.1.0 +oslo.cache===1.38.1;python_version=='2.7' +oslo.cache===2.3.1;python_version=='3.6' +oslo.cache===2.3.1;python_version=='3.7' +oslo.cache===2.3.1;python_version=='3.8' +oslo.cache===2.3.1;python_version=='3.9' +WebTest===2.0.34 +openstack.nose-plugin===0.11 +os-collect-config===11.0.4 +edgegrid-python===1.1.1 +python-qpid-proton===0.30.0 +python-octaviaclient===2.0.0;python_version=='2.7' +python-octaviaclient===2.0.2;python_version=='3.6' +python-octaviaclient===2.0.2;python_version=='3.7' +python-octaviaclient===2.0.2;python_version=='3.8' +python-octaviaclient===2.0.2;python_version=='3.9' +pysaml2===5.0.0 +requests-oauthlib===1.3.0 +oslo.reports===1.31.1;python_version=='2.7' +oslo.reports===2.0.1;python_version=='3.6' +oslo.reports===2.0.1;python_version=='3.7' +oslo.reports===2.0.1;python_version=='3.8' +oslo.reports===2.0.1;python_version=='3.9' +bitmath===1.3.3.1 +ceilometermiddleware===2.0.0 +python-nss===1.0.1 +testrepository===0.0.20 +sympy===1.5.1 +sphinxmark===0.2.0 +Logbook===1.5.3 +PyNaCl===1.3.0 +osc-lib===2.0.0 +python-consul===1.1.0 +Faker===3.0.1;python_version=='2.7' +Faker===4.0.2;python_version=='3.6' +Faker===4.0.2;python_version=='3.7' +Faker===4.0.2;python_version=='3.8' +Faker===4.0.2;python_version=='3.9' +more-itertools===5.0.0;python_version=='2.7' +more-itertools===8.2.0;python_version=='3.6' +more-itertools===8.2.0;python_version=='3.7' +more-itertools===8.2.0;python_version=='3.8' +more-itertools===8.2.0;python_version=='3.9' +seqdiag===0.9.6;python_version=='2.7' +seqdiag===2.0.0;python_version=='3.6' +seqdiag===2.0.0;python_version=='3.7' +seqdiag===2.0.0;python_version=='3.8' +seqdiag===2.0.0;python_version=='3.9' +numpy===1.16.6;python_version=='2.7' +numpy===1.18.2;python_version=='3.6' +numpy===1.18.2;python_version=='3.7' +numpy===1.20.1;python_version=='3.8' +numpy===1.20.1;python_version=='3.9' +msgpack===0.6.2 +Sphinx===1.8.5;python_version=='2.7' +Sphinx===3.0.1;python_version=='3.6' +Sphinx===3.0.1;python_version=='3.7' +Sphinx===3.0.1;python_version=='3.8' +Sphinx===3.0.1;python_version=='3.9' +oslo.config===7.0.0;python_version=='2.7' +oslo.config===8.0.5;python_version=='3.6' +oslo.config===8.0.5;python_version=='3.7' +oslo.config===8.0.5;python_version=='3.8' +oslo.config===8.0.5;python_version=='3.9' +tempest===24.0.0 +django-floppyforms===1.8.0 +openstackdocstheme===1.31.2;python_version=='2.7' +openstackdocstheme===2.0.2;python_version=='3.6' +openstackdocstheme===2.0.2;python_version=='3.7' +openstackdocstheme===2.0.2;python_version=='3.8' +openstackdocstheme===2.0.2;python_version=='3.9' +osc-placement===2.0.0 +zake===0.2.2 +python-rsdclient===1.0.2 +python-magic===0.4.15 +flux===1.3.5 +python-solumclient===2.9.0;python_version=='2.7' +python-solumclient===3.1.0;python_version=='3.6' +python-solumclient===3.1.0;python_version=='3.7' +python-solumclient===3.1.0;python_version=='3.8' +python-solumclient===3.1.0;python_version=='3.9' +PyMySQL===0.9.3 +kubernetes===11.0.0 +httplib2===0.17.2 +bottle===0.12.18 +betamax===0.8.1 +construct===2.8.22 +pytest-metadata===1.8.0 +pyparsing===2.4.7 +geomet===0.1.2 +distlib===0.3.0 +XStatic-Moment-Timezone===0.5.22.0 +dogpile.cache===0.9.0 +python-barbicanclient===4.10.0 +salt===3001.8 # dpanech +api-object-schema===2.0.0 +tricircleclient===0.6.0;python_version=='2.7' +tricircleclient===1.0.0;python_version=='3.6' +tricircleclient===1.0.0;python_version=='3.7' +tricircleclient===1.0.0;python_version=='3.8' +tricircleclient===1.0.0;python_version=='3.9' +WSME===0.10.0 +proboscis===1.2.6.0 +fortiosclient===0.0.3 +oslo.upgradecheck===0.3.2;python_version=='2.7' +oslo.upgradecheck===1.0.1;python_version=='3.6' +oslo.upgradecheck===1.0.1;python_version=='3.7' +oslo.upgradecheck===1.0.1;python_version=='3.8' +oslo.upgradecheck===1.0.1;python_version=='3.9' +stevedore===1.32.0 +pywinrm===0.4.1 +botocore===1.15.39 +xmltodict===0.12.0 +pyasn1===0.4.8 +oslo.rootwrap===5.17.1;python_version=='2.7' +oslo.rootwrap===6.0.2;python_version=='3.6' +oslo.rootwrap===6.0.2;python_version=='3.7' +oslo.rootwrap===6.0.2;python_version=='3.8' +oslo.rootwrap===6.0.2;python_version=='3.9' +Django===1.11.29;python_version=='2.7' +Django===2.2.12;python_version=='3.6' +Django===2.2.12;python_version=='3.7' +Django===2.2.12;python_version=='3.8' +Django===2.2.12;python_version=='3.9' +pexpect===4.8.0 +cmd2===0.8.9 +python-json-logger===0.1.11 +redis===3.4.1 +jmespath===0.9.5 +click===7.1.1 +atomicwrites===1.3.0;python_version=='2.7' +XStatic-smart-table===1.4.13.2 +kuryr-lib===2.0.1 +scrypt===0.8.13 +jsonpatch===1.25 +python-daemon===2.2.4 +typed-ast===1.4.1;python_version=='3.6' +typed-ast===1.4.1;python_version=='3.7' +typed-ast===1.4.1;python_version=='3.8' +typed-ast===1.4.1;python_version=='3.9' +os-testr===1.1.0;python_version=='2.7' +os-testr===2.0.0;python_version=='3.6' +os-testr===2.0.0;python_version=='3.7' +os-testr===2.0.0;python_version=='3.8' +os-testr===2.0.0;python_version=='3.9' +cotyledon===1.7.3 +stomp.py===4.1.23;python_version=='2.7' +stomp.py===6.0.0;python_version=='3.6' +stomp.py===6.0.0;python_version=='3.7' +stomp.py===6.0.0;python_version=='3.8' +stomp.py===6.0.0;python_version=='3.9' +xattr===0.9.7 +systemd-python===234 +python-memcached===1.59 +openstacksdk===0.45.0;python_version=='2.7' +openstacksdk===0.46.1;python_version=='3.6' +openstacksdk===0.46.1;python_version=='3.7' +openstacksdk===0.46.1;python_version=='3.8' +openstacksdk===0.46.1;python_version=='3.9' +six===1.14.0 +dulwich===0.19.15 +dfs-sdk===1.2.26 +sentinels===1.0.0 +kombu===4.6.8 +distro===1.5.0 +betamax-matchers===0.4.0 +yaql===1.1.3 +requestsexceptions===1.4.0 +testresources===2.0.1 +falcon===2.0.0 +subprocess32===3.5.4;python_version=='2.7' +etcd3gw===0.2.5 +Flask-RESTful===0.3.8 +GitPython===2.1.11;python_version=='2.7' +GitPython===3.1.0;python_version=='3.6' +GitPython===3.1.0;python_version=='3.7' +GitPython===3.1.0;python_version=='3.8' +GitPython===3.1.0;python_version=='3.9' +python-ironicclient===3.1.1;python_version=='2.7' +python-ironicclient===4.1.0;python_version=='3.6' +python-ironicclient===4.1.0;python_version=='3.7' +python-ironicclient===4.1.0;python_version=='3.8' +python-ironicclient===4.1.0;python_version=='3.9' +XStatic===1.0.2 +XStatic-Angular-FileUpload===12.0.4.0 +python-openstackclient===5.2.0 +pyzmq===21.0.2 +oslo.db===6.0.0;python_version=='2.7' +oslo.db===8.1.1;python_version=='3.6' +oslo.db===8.1.1;python_version=='3.7' +oslo.db===8.1.1;python_version=='3.8' +oslo.db===8.1.1;python_version=='3.9' +simplegeneric===0.8.1 +python-pcre===0.7 +yappi===1.2.3 +dataclasses===0.7;python_version=='3.6' +abclient===0.2.3 +pymemcache===3.1.0 +wrapt===1.12.1 +oslo.privsep===1.34.0;python_version=='2.7' +oslo.privsep===2.1.2;python_version=='3.6' +oslo.privsep===2.1.2;python_version=='3.7' +oslo.privsep===2.1.2;python_version=='3.8' +oslo.privsep===2.1.2;python_version=='3.9' +sphinxcontrib-apidoc===0.3.0 +oslo.policy===2.4.1;python_version=='2.7' +oslo.policy===3.1.2;python_version=='3.6' +oslo.policy===3.1.2;python_version=='3.7' +oslo.policy===3.1.2;python_version=='3.8' +oslo.policy===3.1.2;python_version=='3.9' +python-muranoclient===1.3.0;python_version=='2.7' +python-muranoclient===2.0.1;python_version=='3.6' +python-muranoclient===2.0.1;python_version=='3.7' +python-muranoclient===2.0.1;python_version=='3.8' +python-muranoclient===2.0.1;python_version=='3.9' +hvac===0.10.1 +pyeclib===1.6.0 +wsgi-intercept===1.9.2 +ndg-httpsclient===0.5.1 +pyrsistent===0.16.0 +repoze.lru===0.7 +rfc3986===1.4.0 +network-runner===0.2.1 +tenacity===6.1.0 +python-designateclient===3.1.0;python_version=='2.7' +python-designateclient===4.0.0;python_version=='3.6' +python-designateclient===4.0.0;python_version=='3.7' +python-designateclient===4.0.0;python_version=='3.8' +python-designateclient===4.0.0;python_version=='3.9' +future===0.18.2 +Paste===3.4.0 +pytest-django===3.9.0 +jaeger-client===4.3.0 +XStatic-Json2yaml===0.1.1.0 +boto===2.49.0 +functools32===3.2.3.post2;python_version=='2.7' +os-vif===1.17.0;python_version=='2.7' +os-vif===2.0.1;python_version=='3.6' +os-vif===2.0.1;python_version=='3.7' +os-vif===2.0.1;python_version=='3.8' +os-vif===2.0.1;python_version=='3.9' +mitba===1.1.1 +python-masakariclient===5.6.0;python_version=='2.7' +python-masakariclient===6.0.0;python_version=='3.6' +python-masakariclient===6.0.0;python_version=='3.7' +python-masakariclient===6.0.0;python_version=='3.8' +python-masakariclient===6.0.0;python_version=='3.9' +Werkzeug===1.0.1 +backports.functools-lru-cache===1.6.1;python_version=='2.7' +pyasn1-modules===0.2.8 +entrypoints===0.3 +APScheduler===3.6.3 +monotonic===1.5 +python-smaugclient===0.0.8 +python-troveclient===3.3.2 +etcd3===0.12.0 +cachez===0.1.2 +XStatic-Bootstrap-Datepicker===1.4.0.0 +CouchDB===1.2 +netifaces===0.10.9 +cachetools===3.1.1;python_version=='2.7' +cachetools===4.1.0;python_version=='3.6' +cachetools===4.1.0;python_version=='3.7' +cachetools===4.1.0;python_version=='3.8' +cachetools===4.1.0;python_version=='3.9' +ws4py===0.5.1 +backports-abc===0.5;python_version=='2.7' +sphinxcontrib-qthelp===1.0.3;python_version=='3.6' +sphinxcontrib-qthelp===1.0.3;python_version=='3.7' +sphinxcontrib-qthelp===1.0.3;python_version=='3.8' +sphinxcontrib-qthelp===1.0.3;python_version=='3.9' +keystoneauth1===4.0.0 +statsd===3.3.0 +XenAPI===2.14 +importlib-resources===1.4.0 +python-keystoneclient===3.22.0;python_version=='2.7' +python-keystoneclient===4.0.0;python_version=='3.6' +python-keystoneclient===4.0.0;python_version=='3.7' +python-keystoneclient===4.0.0;python_version=='3.8' +python-keystoneclient===4.0.0;python_version=='3.9' +ceilometer===14.1.0 +demjson===2.2.4 +diskimage-builder===2.35.0 +heat-translator===1.5.0;python_version=='2.7' +heat-translator===2.0.0;python_version=='3.6' +heat-translator===2.0.0;python_version=='3.7' +heat-translator===2.0.0;python_version=='3.8' +heat-translator===2.0.0;python_version=='3.9' +python-magnumclient===3.0.1 +docker===4.2.0 +storops===1.2.4 +qpid-python===1.36.0.post1;python_version=='2.7' +contextlib2===0.6.0.post1;python_version=='2.7' +XStatic-Angular-lrdragndrop===1.0.2.4 +python-congressclient===1.13.0;python_version=='2.7' +python-congressclient===2.0.1;python_version=='3.6' +python-congressclient===2.0.1;python_version=='3.7' +python-congressclient===2.0.1;python_version=='3.8' +python-congressclient===2.0.1;python_version=='3.9' +ovsdbapp===0.18.0;python_version=='2.7' +ovsdbapp===1.2.3;python_version=='3.6' +ovsdbapp===1.2.3;python_version=='3.7' +ovsdbapp===1.2.3;python_version=='3.8' +ovsdbapp===1.2.3;python_version=='3.9' +aniso8601===8.0.0 +rjsmin===1.1.0 +icalendar===4.0.5 +configparser===4.0.2;python_version=='2.7' +decorator===4.4.2 +cffi===1.14.0 +futurist===1.10.0;python_version=='2.7' +futurist===2.1.1;python_version=='3.6' +futurist===2.1.1;python_version=='3.7' +futurist===2.1.1;python_version=='3.8' +futurist===2.1.1;python_version=='3.9' +jsonschema===3.2.0 +sphinxcontrib-devhelp===1.0.2;python_version=='3.6' +sphinxcontrib-devhelp===1.0.2;python_version=='3.7' +sphinxcontrib-devhelp===1.0.2;python_version=='3.8' +sphinxcontrib-devhelp===1.0.2;python_version=='3.9' +python-blazarclient===2.2.1;python_version=='2.7' +python-blazarclient===3.0.1;python_version=='3.6' +python-blazarclient===3.0.1;python_version=='3.7' +python-blazarclient===3.0.1;python_version=='3.8' +python-blazarclient===3.0.1;python_version=='3.9' +alembic===1.4.2 +glance-store===2.0.1 +sphinxcontrib-programoutput===0.16 +storpool.spopenstack===2.2.1 +sphinx-testing===1.0.1 +dnspython===1.15.0;python_version=='3.6' +dnspython===1.15.0;python_version=='3.7' +dnspython===1.15.0;python_version=='3.8' +dnspython===1.15.0;python_version=='3.9' +dnspython===1.16.0;python_version=='2.7' +oauthlib===3.1.0 +Babel===2.8.0 +logutils===0.3.5 +scandir===1.10.0;python_version=='2.7' +zipp===1.2.0;python_version=='2.7' +zipp===3.1.0;python_version=='3.6' +zipp===3.1.0;python_version=='3.7' +zipp===3.1.0;python_version=='3.8' +zipp===3.1.0;python_version=='3.9' +sphinxcontrib-fulltoc===1.2.0 +smmap2===3.0.1;python_version=='2.7' +greenlet===0.4.16 # dpanech +XStatic-Angular-Vis===4.16.0.0 +confluent-kafka===1.3.0 +xvfbwrapper===0.2.9 +futures===3.3.0;python_version=='2.7' +tosca-parser===1.7.0;python_version=='2.7' +tosca-parser===2.0.0;python_version=='3.6' +tosca-parser===2.0.0;python_version=='3.7' +tosca-parser===2.0.0;python_version=='3.8' +tosca-parser===2.0.0;python_version=='3.9' +Flask===1.1.2 +happybase===1.2.0;python_version=='2.7' +sqlalchemy-filters===0.10.0 +marathon===0.12.0 +fasteners===0.14.1 +sortedcontainers===2.1.0 +filelock===3.0.12 +python-tackerclient===0.16.1;python_version=='2.7' +python-tackerclient===1.1.1;python_version=='3.6' +python-tackerclient===1.1.1;python_version=='3.7' +python-tackerclient===1.1.1;python_version=='3.8' +python-tackerclient===1.1.1;python_version=='3.9' +python-heatclient===1.18.0;python_version=='2.7' +python-heatclient===2.1.0;python_version=='3.6' +python-heatclient===2.1.0;python_version=='3.7' +python-heatclient===2.1.0;python_version=='3.8' +python-heatclient===2.1.0;python_version=='3.9' +kafka-python===2.0.1 +oslo.utils===3.42.1;python_version=='2.7' +oslo.utils===4.1.2;python_version=='3.6' +oslo.utils===4.1.2;python_version=='3.7' +oslo.utils===4.1.2;python_version=='3.8' +oslo.utils===4.1.2;python_version=='3.9' +python-editor===1.0.4 +gitdb2===2.0.6;python_version=='2.7' +gitdb2===4.0.2;python_version=='3.6' +gitdb2===4.0.2;python_version=='3.7' +gitdb2===4.0.2;python_version=='3.8' +gitdb2===4.0.2;python_version=='3.9' +requests-kerberos===0.12.0 +itsdangerous===1.1.0 +XStatic-jquery-ui===1.12.1.1 +monasca-statsd===2.0.0 +python-dateutil===2.8.1 +typing-extensions===3.7.4.2;python_version=='3.6' +typing-extensions===3.7.4.2;python_version=='3.7' +typing-extensions===3.7.4.2;python_version=='3.8' +typing-extensions===3.7.4.2;python_version=='3.9' +virtualenv===20.0.17 +colorama===0.4.3 +confetti===2.5.3 +ironic-lib===4.2.3 +pytz===2019.3 +XStatic-D3===3.5.17.0 +actdiag===0.5.4;python_version=='2.7' +actdiag===2.0.0;python_version=='3.6' +actdiag===2.0.0;python_version=='3.7' +actdiag===2.0.0;python_version=='3.8' +actdiag===2.0.0;python_version=='3.9' +sysv-ipc===1.0.1 +sphinxcontrib-applehelp===1.0.2;python_version=='3.6' +sphinxcontrib-applehelp===1.0.2;python_version=='3.7' +sphinxcontrib-applehelp===1.0.2;python_version=='3.8' +sphinxcontrib-applehelp===1.0.2;python_version=='3.9' +scikit-learn===0.20.0;python_version=='2.7' +scikit-learn===0.22.2.post1;python_version=='3.6' +scikit-learn===0.22.2.post1;python_version=='3.7' +scikit-learn===0.22.2.post1;python_version=='3.8' +scikit-learn===0.23.2.post1;python_version=='3.9' diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/global-requirements.txt b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/global-requirements.txt new file mode 100644 index 00000000..ae607482 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/global-requirements.txt @@ -0,0 +1,604 @@ +abclient # Apache-2.0 +alembic!=1.2.0 # MIT +amqp!=2.1.4 # BSD +ansible-runner!=1.3.5 # Apache 2.0 +anyjson # BSD +appdirs # MIT License +apscheduler # MIT License +autobahn # MIT License +automaton # Apache-2.0 +beautifulsoup4 # MIT +Babel!=2.4.0 # BSD +bcrypt # Apache-2.0 +betamax # Apache-2.0 +betamax-matchers # Apache-2.0 +blockdiag!=2.0.0 # Apache-2.0 +boto # MIT +boto3 # Apache-2.0 +botocore # Apache-2.0 +cassandra-driver!=3.6.0 # Apache-2.0 +castellan # Apache-2.0 +ceilometermiddleware # Apache-2.0 +cachetools # MIT License +cffi # MIT +cliff!=2.9.0,!=2.17.0,<3.0.0;python_version=='2.7' # Apache-2.0 +cliff!=2.9.0,!=2.17.0;python_version>='3.6' # Apache-2.0 +# NOTE(mordred) python-openstackclient is broken due to bug 1810213 +cmd2!=0.8.3,<0.9.0 # MIT +confluent-kafka!=1.4.0 # Apache-2.0 +cotyledon # Apache-2.0 +construct<2.9 # MIT +PuLP # MIT +contextlib2;python_version<'3.0' # PSF License +croniter # MIT License +cryptography!=2.0 # BSD/Apache-2.0 +cursive # Apache-2.0 +dataclasses;python_version=='3.6' # Apache-2.0 +ddt # MIT +debtcollector<2.0.0;python_version<'3.0' # Apache-2.0 +debtcollector;python_version>='3.0' # Apache-2.0 +decorator # BSD +defusedxml # PSF +dib-utils # Apache-2.0 +diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0 +distro # Apache-2.0 +Django<2;python_version<'3.0' # BSD +Django<3.0;python_version>='3.0' # BSD +django-compressor # MIT +django-debreach # BSD +django-floppyforms<2 # BSD +django-formtools # BSD +dnspython;python_version=='2.7' # http://www.dnspython.org/LICENSE +dnspython3!=1.13.0,!=1.14.0;python_version>='3.0' # http://www.dnspython.org/LICENSE +# Note(tonyb): We don't actually directly depend on docutils but we pull it in +# indirectly and we needed to blacklist 0.13.1 for problems with +# Sphinx 1.3. This can be now removed once all projects removed it. +docutils # OSI-Approved Open Source, Public Domain +dogpile.cache # BSD +dogtag-pki # LGPLv3+ +dulwich!=0.19.3,!=0.19.7 # Apache-2.0 +edgegrid-python # Apache-2.0 +elasticsearch<3.0.0 # Apache-2.0 +enmerkar;python_version>='3.0' # BSD +enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD +# NOTE: New versions of eventlet should not be accepted lightly +# as they have earned a reputation of frequently breaking things. +eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0 # MIT +exabgp!=4.0.6 # BSD +extras # MIT +faker # MIT +falcon # Apache-2.0 +Flask!=0.11 # BSD +flask-keystone # Apache-2.0 +flask-oslolog # Apache-2.0 +Flask-RESTful # BSD +Flask-SQLAlchemy # BSD +fortiosclient # Apache-2.0 +futures!=0.17.0;python_version=='2.7' or python_version=='2.6' # PSF +futurist<2.0.0;python_version=='2.7' # Apache-2.0 +futurist;python_version>='3.6' # Apache-2.0 +funcsigs;python_version=='2.7' or python_version=='2.6' # Apache-2.0 +glance-store!=0.29.0 # Apache-2.0 +google-api-python-client # Apache-2.0 +graphviz!=0.5.0 # MIT License +greenlet!=0.4.14 # MIT +GitPython<2.1.12;python_version<'3.0' # BSD License (3 clause) +GitPython;python_version>='3.0' # BSD License (3 clause) +gunicorn<20.0.0;python_version<'3.0' # MIT +gunicorn;python_version>='3.0' # MIT +happybase!=0.7,!=1.0.0;python_version=='2.7' # MIT +heat-translator # Apache-2.0 +horizon # Apache-2.0 +httplib2 # MIT +hvac # Apache-2.0 +icalendar # BSD +importlib-metadata # Apache-2.0 +infinisdk # BSD-3 +influxdb!=5.2.0,!=5.2.1,!=5.2.2,!=5.2.3;python_version<'3.0' # MIT +influxdb;python_version>='3.0' # MIT +instack-undercloud # Apache-2.0 +ironic-lib # Apache-2.0 +ipaddress;python_version<'3.3' # PSF +iso8601 # MIT +jira # BSD License (2 clause) +Jinja2 # BSD License (3 clause) +jmespath # MIT +jsonmodels # BSD License (3 clause) +jsonpatch!=1.20 # BSD +jsonpath-rw<2.0 # Apache-2.0 +jsonpath-rw-ext # Apache-2.0 +jsonschema # MIT +kazoo # Apache-2.0 +keystoneauth1 # Apache-2.0 +keystonemiddleware # Apache-2.0 +krest # Apache-2.0 +kubernetes # Apache-2.0 +kuryr-lib # Apache-2.0 +packaging # Apache-2.0 +pylev # BSD +pypowervm!=1.1.21,!=1.1.22 # Apache-2.0 +pyScss!=1.3.5 # MIT License +django-pyscss # BSD License (2 clause) +kombu!=4.0.2 # BSD +ldap3 # LGPLv3 +deprecation # Apache-2.0 +libvirt-python!=4.1.0,!=4.2.0,<6.0.0;python_version<'3.0' # LGPLv2+ +libvirt-python!=4.1.0,!=4.2.0;python_version>='3.0' # LGPLv2+ +lxml!=3.7.0 # BSD +Mako # MIT +marathon!=0.9.1 # MIT +metalsmith # Apache-2.0 +microversion-parse # Apache-2.0 +mistral-lib # Apache-2.0 +monasca-common # Apache-2.0 +monasca-statsd # Apache-2.0 +monotonic;python_version<'3.3' # Apache-2.0 +msgpack # Apache-2.0 +munch # MIT +murano-pkg-check # Apache-2.0 +mypy;python_version>='3.4' # MIT +ndg-httpsclient;python_version<'3.0' # BSD +netaddr # BSD +netifaces!=0.10.0,!=0.10.1 # MIT +netmiko # MIT +network-runner # Apache 2.0 +networking-bagpipe # Apache-2.0 +networking-bgpvpn # Apache-2.0 +networking-l2gw # Apache-2.0 +networking-odl # Apache-2.0 +networking-sfc # Apache-2.0 +# NOTE(fdegir): NetworkX 2.3 dropped support for Python 2 +networkx<2.3;python_version<'3.0' # BSD +networkx;python_version>='3.4' # BSD +# NOTE(ralonsoh): neutron-lib 2.0.0 dropped support for Python 2 +neutron-lib<2.0.0;python_version=='2.7' # Apache-2.0 +neutron-lib;python_version>='3.6' # Apache-2.0 +neutron-dynamic-routing # Apache-2.0 +neutron-fwaas # Apache-2.0 +neutron-lbaas # Apache-2.0 +neutron-vpnaas # Apache-2.0 +neutron # Apache-2.0 +notifier # Apache-2.0 +oauth2client!=4.0.0 # Apache-2.0 +oauthlib # BSD +octavia-lib # Apache-2.0 +openstackdocstheme # Apache-2.0 +osc-lib # Apache-2.0 +osc-placement # Apache-2.0 +oslo.cache!=1.31.1,<2.0.0;python_version<'3.0' # Apache-2.0 +oslo.cache!=1.31.1,!=2.1.0;python_version>='3.0' # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0,<8.0.0;python_version<'3.0' # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0;python_version>='3.0' # Apache-2.0 +oslo.concurrency<4.0.0;python_version<'3.0' # Apache-2.0 +oslo.concurrency;python_version>='3.0' # Apache-2.0 +oslo.context<3.0.0;python_version<'3.0' # Apache-2.0 +oslo.context;python_version>='3.0' # Apache-2.0 +oslo.db # Apache-2.0 +oslo.i18n<4.0.0;python_version=='2.7' # Apache-2.0 +oslo.i18n;python_version>='3.6' # Apache-2.0 +oslo.limit<1.0.0;python_version=='2.7' # Apache-2.0 +oslo.limit;python_version>='3.0' # Apache-2.0 +oslo.log<4.0.0;python_version<'3.0' # Apache-2.0 +oslo.log;python_version>='3.0' # Apache-2.0 +oslo.messaging!=9.0.0 # Apache-2.0 +oslo.middleware # Apache-2.0 +oslo.policy<3.0.0;python_version=='2.7' # Apache-2.0 +oslo.policy!=3.0.0;python_version>='3.6' # Apache-2.0 +oslo.privsep<2.0.0;python_version=='2.7' # Apache-2.0 +oslo.privsep;python_version>='3.6' # Apache-2.0 +oslo.reports<2.0.0;python_version<'3.0' # Apache-2.0 +oslo.reports;python_version>='3.6' # Apache-2.0 +oslo.rootwrap # Apache-2.0 +# NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641 +oslo.serialization!=2.19.1,<3.0.0;python_version<'3.0' # Apache-2.0 +oslo.serialization!=2.19.1;python_version>='3.0' # Apache-2.0 +oslo.service!=1.28.1 # Apache-2.0 +oslo.upgradecheck<0.4.0;python_version=='2.7' # Apache-2.0 +oslo.upgradecheck;python_version>='3.6' # Apache-2.0 +# NOTE(lajoskatona): oslo.utils version between 3.39.1 and 3.40.1 excluded due to bug 1812922 +oslo.utils!=3.39.1,!=3.40.0,!=3.40.1,<4.0.0;python_version<'3.0' # Apache-2.0 +oslo.utils!=3.39.1,!=3.40.0,!=3.40.1;python_version>='3.0' # Apache-2.0 +oslo.vmware # Apache-2.0 +oslo.versionedobjects<2.0.0;python_version=='2.7' # Apache-2.0 +oslo.versionedobjects;python_version>='3.6' # Apache-2.0 +osprofiler # Apache-2.0 +os-apply-config # Apache-2.0 +os-brick!=2.8.0 # Apache-2.0 +os-client-config # Apache-2.0 +os-collect-config # Apache-2.0 +os-dpm # Apache-2.0 +os-net-config # Apache-2.0 +os-refresh-config # Apache-2.0 +os-resource-classes # Apache-2.0 +os-service-types # Apache-2.0 +os-testr<2.0.0;python_version=='2.7' # Apache-2.0 +os-testr;python_version>='3.6' # Apache-2.0 +os-traits # Apache-2.0 +os-ken<1.0.0;python_version=='2.7' # Apache-2.0 +os-ken;python_version>='3.6' # Apache-2.0 +os-vif!=1.8.0,!=1.12.0,<2.0.0;python_version=='2.7' # Apache-2.0 +os-vif!=1.8.0,!=1.12.0;python_version>='3.6' # Apache-2.0 +ovs # Apache-2.0 +os-win<5.0.0;python_version=='2.7' # Apache-2.0 +os-win;python_version>='3.6' # Apache-2.0 +os-xenapi # Apache-2.0 +paramiko # LGPLv2.1+ +Parsley # MIT +pathlib2 # MIT +passlib # BSD +Paste # MIT +PasteDeploy # MIT +paunch # Apache-2.0 +pbr!=2.1.0 # Apache-2.0 +pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD +pexpect!=3.3 # ISC License +pifpaf # Apache-2.0 +pika # BSD +Pillow # PIL License +Pint<0.10;python_version<'3.6' # BSD +Pint;python_version>='3.6' # BSD +pip # MIT +prometheus-client # Apache-2.0 +protobuf # BSD License (3 clause) +PrettyTable<0.8 # BSD +psutil # BSD +pyasn1!=0.2.3 # BSD +pyasn1-modules # BSD +pycadf!=2.0.0,<3.0.0;python_version=='2.7' # Apache-2.0 +pycadf!=2.0.0;python_version>='3.6' # Apache-2.0 +PyECLib # BSD +pyghmi!=1.4.0,!=1.5.11 # Apache-2.0 +pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT +PyJWT # MIT +pykmip # Apache 2.0 License +python-ldap # PSF +pylxd # Apache-2.0 +pymemcache!=1.3.0 # Apache 2.0 License +pymongo!=3.1 # Apache-2.0 +PyMySQL # MIT License +pytest # MIT +pytest-django # BSD (3 clause) +pytest-html #MPL-2.0 +python-etcd # MIT License +pywbem # LGPLv2.1+ +pywinrm # MIT +salt!=2019.2.1,!=2019.2.2 # Apache-2.0 +storpool!=5.2.0,!=5.3.0 # Apache-2.0 +storpool.spopenstack # Apache-2.0 +dfs-sdk # Apache-2.0 +tap-as-a-service # Apache-2.0 +etcd3 # Apache-2.0 +etcd3gw!=0.2.2,!=0.2.3 # Apache-2.0 +typing # PSF +voluptuous # BSD License +pydot # MIT License +pydotplus # MIT License +crc16 # LGPLv3+ +pyzabbix # LGPL +statsd # MIT +weakrefmethod;python_version=='2.7' # PSF +zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License +opentracing # Apache-2.0 +jaeger-client # Apache-2.0 + +pyngus # Apache-2.0 + +pyOpenSSL # Apache-2.0 +pyparsing # MIT +pyroute2!=0.5.4,!=0.5.5;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2) +pysnmp # BSD +pystache # MIT +pysaml2!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0,!=4.6.0 # Apache-2.0 + +# OpenStack clients. None of these should have an upper bound +# as that has implications for testing in the gate. +aodhclient # Apache-2.0 +gnocchiclient # Apache-2.0 +tricircleclient<1.0.0;python_version=='2.7' # Apache-2.0 +tricircleclient;python_version>='3.6' # Apache-2.0 +python-barbicanclient # Apache-2.0 +python-blazarclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-blazarclient;python_version>='3.6' # Apache-2.0 +python-ceilometerclient # Apache-2.0 +python-cinderclient!=4.0.0,<6.0.0;python_version=='2.7' # Apache-2.0 +python-cinderclient!=4.0.0;python_version>='3.6' # Apache-2.0 +python-cloudkittyclient<4.0.0;python_version=='2.7' # Apache-2.0 +python-cloudkittyclient;python_version>='3.6' # Apache-2.0 +python-congressclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-congressclient<2000;python_version>='3.6' # Apache-2.0 +python-designateclient # Apache-2.0 +python-freezerclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-freezerclient;python_version>='3.6' # Apache-2.0 +python-heatclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-heatclient;python_version>='3.6' # Apache-2.0 +python-hnvclient # Apache-2.0 +python-glanceclient # Apache-2.0 +python-glareclient # Apache-2.0 +python-ironic-inspector-client # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,<4.0.0;python_version=='2.7' # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0;python_version>='3.6' # Apache-2.0 +python-karborclient # Apache-2.0 +python-keystoneclient!=2.1.0 # Apache-2.0 +python-kingbirdclient # Apache-2.0 +python-magnumclient # Apache-2.0 +python-masakariclient # Apache-2.0 +python-manilaclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-manilaclient;python_version>='3.6' # Apache-2.0 +python-mistralclient!=3.2.0,<4.0.0;python_version=='2.7' # Apache-2.0 +python-mistralclient!=3.2.0;python_version>='3.6' # Apache-2.0 +python-muranoclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-muranoclient;python_version>='3.6' # Apache-2.0 +python-monascaclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-monascaclient;python_version>='3.6' # Apache-2.0 +python-neutronclient # Apache-2.0 +python-novaclient # Apache-2.0 +python-octaviaclient # Apache-2.0 +python-openstackclient # Apache-2.0 +python-qinlingclient<5.0.0;python_version=='2.7' # Apache-2.0 +python-qinlingclient;python_version>='3.6' # Apache-2.0 +python-rsdclient # Apache-2.0 +python-saharaclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-saharaclient;python_version>='3.6' # Apache-2.0 +python-searchlightclient<2.0.0;python_version=='2.7' #Apache-2.0 +python-searchlightclient;python_version>='3.6' #Apache-2.0 +python-senlinclient<2.0.0;python_version=='2.7' # Apache-2.0 +python-senlinclient;python_version>='3.6' # Apache-2.0 +python-smaugclient # Apache-2.0 +python-solumclient<3.0.0;python_version=='2.7' # Apache-2.0 +python-solumclient;python_version>='3.6' # Apache-2.0 +python-swiftclient # Apache-2.0 +python-tackerclient<1.0.0;python_version=='2.7' # Apache-2.0 +python-tackerclient;python_version>='3.6' # Apache-2.0 +python-troveclient # Apache-2.0 +python-vitrageclient<4.0.0;python_version=='2.7' # Apache-2.0 +python-vitrageclient;python_version>='3.6' # Apache-2.0 +python-watcherclient # Apache-2.0 +python-zaqarclient # Apache-2.0 +python-zunclient # Apache-2.0 + +python-magic # MIT +python-memcached # PSF +python-dateutil # BSD + +# 2013.6 is the first version of pytz that is PEP 440 compatible. +pytz # MIT +pyudev # LGPLv2.1+ +PyYAML # MIT +qpid-python;python_version=='2.7' # Apache-2.0 +raven # BSD +reno<3.0.0;python_version<'3.0' # Apache-2.0 +reno;python_version>='3.0' # Apache-2.0 +requests!=2.20.0 # Apache-2.0 +requests-aws # BSD License (3 clause) +requests-kerberos # ISC +requestsexceptions # Apache-2.0 +rfc3986 # Apache-2.0 +rsd-lib # Apache-2.0 +Routes # MIT +rtslib-fb # Apache-2.0 +ryu # Apache-2.0 +semantic-version # BSD +fasteners!=0.15 # Apache-2.0 +scrypt # BSD +simplejson # MIT +six # MIT +scipy # BSD +scikit-learn<=0.20.0;python_version<='3.4' # BSD +scikit-learn;python_version>='3.5' # BSD +setproctitle # BSD +# NOTE(yamahata): +# bug work around of sqlalchemy +# https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/ +# The fix which is in git master branch is planned for 1.1.9 +SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT +SQLAlchemy-Utils # BSD License +sqlalchemy-migrate # Apache-2.0 +sqlalchemy-filters # Apache-2.0 +sqlparse # BSD +stevedore # Apache-2.0 +storops # Apache-2.0 +systemd-python # LGPLv2+ +sysv-ipc # BSD License +suds-jurko # LGPLv3+ +sympy # BSD +taskflow # Apache-2.0 +tempest # Apache-2.0 +tooz # Apache-2.0 +tosca-parser # Apache-2.0 +tripleo-common!=11.3.0 # Apache-2.0 +validations-libs # Apache-2.0 +urllib3 # MIT +unicodecsv;python_version<'3.0' # BSD +warlock<2 # Apache-2.0 +WebOb # MIT +websocket-client # LGPLv2+ +websockify # LGPLv3 +wheel # MIT +PyMI;sys_platform=='win32' # Apache 2.0 License +wmi;sys_platform=='win32' # MIT +WSME # MIT +xattr;sys_platform!='win32' # MIT +xstatic-angular-uuid # MIT License +xstatic-angular-vis # MIT License +xstatic-filesaver # MIT License +xstatic-js-yaml # MIT License +xstatic-json2yaml # MIT License +XenAPI # LGPL +XStatic # MIT License +XStatic-Angular # MIT License +XStatic-Angular-Bootstrap # MIT License +XStatic-Angular-Gettext # MIT License +XStatic-Angular-lrdragndrop # MIT License +XStatic-Angular-Schema-Form # MIT +XStatic-angular-ui-router # MIT +XStatic-Bootstrap-Datepicker # Apache 2.0 License +XStatic-Bootstrap-SCSS # Apache 2.0 License +XStatic-bootswatch # MIT License +XStatic-D3 # BSD License (3 clause) +XStatic-Dagre # MIT License +XStatic-Dagre-D3 # MIT License +XStatic-Font-Awesome # SIL OFL 1.1 License, MIT License +XStatic-Graphlib # MIT License +XStatic-Hogan # Apache 2.0 License +XStatic-Jasmine # MIT License +XStatic-jQuery<2 # MIT License +XStatic-JQuery-Migrate # MIT License +XStatic-JQuery.quicksearch # MIT License +XStatic-JQuery.TableSorter # MIT License +XStatic-jquery-ui # MIT License +XStatic-JSEncrypt # MIT License +XStatic-lodash # MIT License +XStatic-mdi # SIL OPEN FONT LICENSE Version 1.1 +XStatic-moment # MIT License +XStatic-Moment-Timezone # MIT License +XStatic-objectpath # MIT +XStatic-Rickshaw # BSD License (prior) +XStatic-roboto-fontface # Apache 2.0 License +XStatic-smart-table # MIT License +XStatic-Spin # MIT License +XStatic-term.js # MIT License +XStatic-tv4 # MIT +XStatic-Angular-FileUpload # MIT License +yaql # Apache 2.0 License +# NOTE(dtantsur): zeroconf dropped compatibility with Python 2 in version 0.20 +zeroconf<0.20;python_version=='2.7' # LGPL +zeroconf;python_version>='3.0' # LGPL +zhmcclient # Apache 2.0 License + +# Testing tools below, which are typically in test-requires.txt + +bashate<1.0.0;python_version=='2.7' # Apache-2.0 +bashate;python_version>='3.6' # Apache-2.0 +couchdb # Apache-2.0 +coverage!=4.4 # Apache-2.0 +demjson # GLGPLv3+ +docker # Apache-2.0 +django-nose # BSD +doc8 # Apache-2.0 +Pygments # BSD license +fixtures # Apache-2.0/BSD +fixtures-git # Apache-2.0 +freezegun # Apache-2.0 +gabbi # Apache-2.0 +kafka-python # Apache-2.0 +keyring<19.0.0;python_version=='2.7' # MIT/PSF +keyring;python_version>='3.4' # MIT/PSF +ldappool # MPL +# Do not make mock conditional on Python version: we depend on newer code than +# in [most] releases of the Python std library. +# https://github.com/testing-cabal/mock/issues/487 for 4.0.[0-1] blacklist +mock!=4.0.0,!=4.0.1 # BSD +mox # Apache-2.0 +mox3 # Apache-2.0 +nodeenv # BSD +nose # LGPL +nose-exclude # LGPL +nosehtmloutput # Apache-2.0 +nosexcover # BSD +openstack-doc-tools # Apache-2.0 +openstack.nose-plugin # Apache-2.0 +openstacksdk # Apache-2.0 +os-api-ref # Apache-2.0 +oslosphinx # Apache-2.0 +oslotest # Apache-2.0 +ovsdbapp # Apache-2.0 +proboscis # Apache-2.0 +psycopg2 # LGPL/ZPL +psycopg2-binary # LGPL/ZPL +purestorage # BSD +pysendfile;sys_platform!='win32' # MIT +python-3parclient # Apache-2.0 +python-consul # MIT License +python-subunit # Apache-2.0/BSD +python-pytun # MIT +pyzmq # LGPL+BSD +redis # MIT +hiredis # BSD +requests-mock # Apache-2.0 +tenacity # Apache-2.0 +retrying!=1.3.0 # Apache-2.0 +selenium # Apache-2.0 +# While setuptools cannot deal with pre-installed incompatible versions, +# setting a lower bound is not harmful - it makes error messages cleaner. DO +# NOT set an upper bound on setuptools, as that will lead to uninstallable +# situations as progressive releases of projects are done. +# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951 +# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086 +# Cap setuptools to 58.0.0 on python3.5 due to the incompatibility with decorator 3.4.0. +setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<58.0.0;python_version>='3.5' # PSF/ZPL +setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='2.7' # PSF/ZPL +sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD +sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0;python_version>='3.4' # BSD +sphinx-testing # BSD License +sphinxcontrib-actdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-actdiag;python_version>='3.4' # BSD +sphinxcontrib-apidoc # BSD +sphinxcontrib-blockdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-blockdiag;python_version>='3.4' # BSD +sphinxcontrib-httpdomain # BSD +sphinxcontrib-nwdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-nwdiag;python_version>='3.4' # BSD +sphinxcontrib-seqdiag<2.0.0;python_version=='2.7' # BSD +sphinxcontrib-seqdiag;python_version>='3.4' # BSD +sphinxcontrib-pecanwsme # Apache-2.0 +sphinxcontrib-fulltoc # Apache-2.0 +sphinx-feature-classification # Apache-2.0 +sphinxmark # Apache-2.0 +sphinxcontrib.datatemplates # BSD License +sphinxcontrib-programoutput # BSD license +sphinxcontrib-svg2pdfconverter # BSD License +stestr!=2.3.0,!=3.0.0 # Apache-2.0 +sushy!=1.9.0<3.0.0;python_version=='2.7' # Apache-2.0 +sushy!=1.9.0;python_version>='3.6' # Apache-2.0 +tabulate # MIT +testrepository # Apache-2.0/BSD +testresources # Apache-2.0/BSD +testscenarios # Apache-2.0/BSD +testtools # MIT +trollius;python_version=='2.7' # Apache-2.0 +ujson # BSD +unittest2 # BSD +virtualbmc # Apache-2.0 +virtualenv<20.8 # MIT +vmware-nsxlib # Apache-2.0 +wrapt # BSD License +WebTest # MIT +Werkzeug # BSD License +whereto # Apache-2.0 +xmltodict # MIT +wsgi-intercept # MIT License +xvfbwrapper #license: MIT +zake # Apache-2.0 +zuul-sphinx # Apache-2.0 +shade # Apache-2.0 +sadisplay # BSD + +# NOTE(tonyb): Generally adding OpenSatck services isn't allowed but some consumers of ceilometer +# use it like a library so until there is a ceilometer-lib (or similar) this is our best option. +ceilometer # Apache-2.0 + +# Indirect dependencies that need blocking +# NOTE(bnemec): 1.16.0 introduced a bug that is breaking tooz. 1.18.0 fixes it. +# See https://bugs.launchpad.net/python-tooz/+bug/1808046 +grpcio!=1.16.0,!=1.16.1,!=1.17.0,!=1.17.1 + +# NOTE(dhellmann): We need to include this package for testing the +# release jobs that propose constraint updates, even though it is not +# a real requirement of any of our software. +openstack-release-test + +# NOTE(snapiri): This is required for Dragonflow topology visualization +skydive-client # Apache-2.0 + +# NOTE(anilvenkata): This is required for profiling oslo.service processes +Yappi!=0.98,!=0.99 # MIT + +# NOTE(yoctozepto): To avoid repeated breakage (this is a dep of deps) +zipp<2;python_version<'3.6' # MIT +zipp;python_version>='3.6' # MIT + +# NOTE(prometheanfire): python3 caps, are not approved for use in OpenStack +gitdb<4.0.0;python_version=='2.7' # BSD +gitdb;python_version>='3.4' # BSD +gitdb2<3.0.0;python_version=='2.7' # BSD +gitdb2;python_version>='3.4' # BSD diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/upper-constraints.txt b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/upper-constraints.txt new file mode 100644 index 00000000..5f77a747 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upstream/36a2c2677e56afe0ece61cc0ade0f89285440ea0/upper-constraints.txt @@ -0,0 +1,1005 @@ +ntlm-auth===1.4.0 +voluptuous===0.11.7 +chardet===3.0.4 +enum-compat===0.0.3 +rsa===4.0 +restructuredtext-lint===1.3.0 +netmiko===3.1.0 +instack-undercloud===9.5.1 +PasteDeploy===2.1.0 +typing===3.7.4.1 +python-saharaclient===2.3.0;python_version=='2.7' +python-saharaclient===3.1.0;python_version=='3.6' +python-saharaclient===3.1.0;python_version=='3.7' +python-saharaclient===3.1.0;python_version=='3.8' +python-hnvclient===0.1.0 +Routes===2.4.1 +rtslib-fb===2.1.71 +oslo.limit===0.3.0;python_version=='2.7' +oslo.limit===1.0.2;python_version=='3.6' +oslo.limit===1.0.2;python_version=='3.7' +oslo.limit===1.0.2;python_version=='3.8' +smmap===3.0.1 +confget===2.3.3 +XStatic-Angular-Bootstrap===2.5.0.0 +paunch===7.0.4 +WebOb===1.8.6 +sphinxcontrib-actdiag===0.8.5;python_version=='2.7' +sphinxcontrib-actdiag===2.0.0;python_version=='3.6' +sphinxcontrib-actdiag===2.0.0;python_version=='3.7' +sphinxcontrib-actdiag===2.0.0;python_version=='3.8' +docopt===0.6.2 +pecan===1.3.3 +ryu===4.32 +os-api-ref===1.6.2;python_version=='2.7' +os-api-ref===2.0.1;python_version=='3.6' +os-api-ref===2.0.1;python_version=='3.7' +os-api-ref===2.0.1;python_version=='3.8' +python-ldap===3.2.0 +oslo.concurrency===3.31.0;python_version=='2.7' +oslo.concurrency===4.0.3;python_version=='3.6' +oslo.concurrency===4.0.3;python_version=='3.7' +oslo.concurrency===4.0.3;python_version=='3.8' +websocket-client===0.57.0 +osprofiler===2.9.0;python_version=='2.7' +osprofiler===3.1.0;python_version=='3.6' +osprofiler===3.1.0;python_version=='3.7' +osprofiler===3.1.0;python_version=='3.8' +os-resource-classes===0.5.0;python_version=='2.7' +os-resource-classes===1.0.0;python_version=='3.6' +os-resource-classes===1.0.0;python_version=='3.7' +os-resource-classes===1.0.0;python_version=='3.8' +tabulate===0.8.7 +python-ironic-inspector-client===4.0.0;python_version=='2.7' +python-ironic-inspector-client===4.1.0;python_version=='3.6' +python-ironic-inspector-client===4.1.0;python_version=='3.7' +python-ironic-inspector-client===4.1.0;python_version=='3.8' +lxml===4.5.0 +vintage===0.4.1 +python-kingbirdclient===0.2.1 +setproctitle===1.1.10 +pytest===4.6.9;python_version=='2.7' +pytest===5.4.1;python_version=='3.6' +pytest===5.4.1;python_version=='3.7' +pytest===5.4.1;python_version=='3.8' +python-etcd===0.4.5 +raven===6.10.0 +cursive===0.2.2 +oslo.service===1.41.1;python_version=='2.7' +oslo.service===2.1.1;python_version=='3.6' +oslo.service===2.1.1;python_version=='3.7' +oslo.service===2.1.1;python_version=='3.8' +django-appconf===1.0.4 +pykerberos===1.2.1 +certifi===2021.10.8 +sphinxcontrib-nwdiag===0.9.5;python_version=='2.7' +sphinxcontrib-nwdiag===2.0.0;python_version=='3.6' +sphinxcontrib-nwdiag===2.0.0;python_version=='3.7' +sphinxcontrib-nwdiag===2.0.0;python_version=='3.8' +requests-aws===0.1.8 +alabaster===0.7.12 +pbr===5.4.5 +munch===2.5.0 +waiting===1.4.1 +attrs===19.3.0 +microversion-parse===0.2.1;python_version=='2.7' +microversion-parse===1.0.1;python_version=='3.6' +microversion-parse===1.0.1;python_version=='3.7' +microversion-parse===1.0.1;python_version=='3.8' +Pint===0.11;python_version=='3.6' +Pint===0.11;python_version=='3.7' +Pint===0.11;python_version=='3.8' +Pint===0.9;python_version=='2.7' +oslo.i18n===3.25.1;python_version=='2.7' +oslo.i18n===4.0.1;python_version=='3.6' +oslo.i18n===4.0.1;python_version=='3.7' +oslo.i18n===4.0.1;python_version=='3.8' +jsonpath-rw-ext===1.2.2 +python-mistralclient===3.10.0;python_version=='2.7' +python-mistralclient===4.0.1;python_version=='3.6' +python-mistralclient===4.0.1;python_version=='3.7' +python-mistralclient===4.0.1;python_version=='3.8' +oslo.context===2.23.0;python_version=='2.7' +oslo.context===3.0.3;python_version=='3.6' +oslo.context===3.0.3;python_version=='3.7' +oslo.context===3.0.3;python_version=='3.8' +python-senlinclient===1.11.0;python_version=='2.7' +python-senlinclient===2.0.1;python_version=='3.6' +python-senlinclient===2.0.1;python_version=='3.7' +python-senlinclient===2.0.1;python_version=='3.8' +rcssmin===1.0.6 +pycadf===2.10.0;python_version=='2.7' +pycadf===3.0.0;python_version=='3.6' +pycadf===3.0.0;python_version=='3.7' +pycadf===3.0.0;python_version=='3.8' +grpcio===1.28.1 +skydive-client===0.7.0 +pysendfile===2.0.1 +fixtures===3.0.0 +neutron===16.4.2 +neutron-lib===1.31.0;python_version=='2.7' +neutron-lib===2.3.0;python_version=='3.6' +neutron-lib===2.3.0;python_version=='3.7' +neutron-lib===2.3.0;python_version=='3.8' +XStatic-FileSaver===1.3.2.0 +storage-interfaces===1.0.3 +persist-queue===0.5.0 +pystache===0.5.4 +XStatic-Font-Awesome===4.7.0.0 +nose===1.3.7 +nosehtmloutput===0.0.7 +waitress===1.4.3 +os-refresh-config===11.0.1 +pysnmp===4.4.12 +sphinxcontrib-websupport===1.1.2;python_version=='2.7' +Mako===1.1.2 +XStatic-angular-ui-router===0.3.1.2 +pyScss===1.3.7 +thriftpy2===0.4.11;python_version=='2.7' +sphinxcontrib-htmlhelp===1.0.3;python_version=='3.6' +sphinxcontrib-htmlhelp===1.0.3;python_version=='3.7' +sphinxcontrib-htmlhelp===1.0.3;python_version=='3.8' +XStatic-jQuery===1.12.4.1 +jsonmodels===2.4 +ddt===1.3.1 +XStatic-Graphlib===2.1.7.0 +pyserial===3.4 +ipaddress===1.0.23;python_version=='2.7' +infi.dtypes.wwn===0.1.1 +python-freezerclient===2.2.0;python_version=='2.7' +python-freezerclient===3.0.1;python_version=='3.6' +python-freezerclient===3.0.1;python_version=='3.7' +python-freezerclient===3.0.1;python_version=='3.8' +os-xenapi===0.3.4 +python-vitrageclient===3.0.0;python_version=='2.7' +python-vitrageclient===4.0.1;python_version=='3.6' +python-vitrageclient===4.0.1;python_version=='3.7' +python-vitrageclient===4.0.1;python_version=='3.8' +nosexcover===1.0.11 +krest===1.3.1 +psycopg2===2.8.5 +networkx===2.2;python_version=='2.7' +networkx===2.4;python_version=='3.6' +networkx===2.4;python_version=='3.7' +networkx===2.4;python_version=='3.8' +bashate===0.6.0;python_version=='2.7' +bashate===2.0.0;python_version=='3.6' +bashate===2.0.0;python_version=='3.7' +bashate===2.0.0;python_version=='3.8' +XStatic-Angular===1.5.8.0 +pyngus===2.3.0 +Pillow===6.2.2;python_version=='2.7' +Pillow===7.1.1;python_version=='3.6' +Pillow===7.1.1;python_version=='3.7' +Pillow===7.1.1;python_version=='3.8' +zuul-sphinx===0.4.1 +python-mimeparse===1.6.0 +tripleo-common===12.4.6 +validations-libs===1.5.0 +Tempita===0.5.2 +ply===3.11 +google-api-core===1.16.0 +requests-toolbelt===0.9.1 +simplejson===3.17.0 +suds-jurko===0.6 +python-swiftclient===3.9.1 +pyOpenSSL===19.1.0 +monasca-common===3.1.0 +zeroconf===0.19.1;python_version=='2.7' +zeroconf===0.25.0;python_version=='3.6' +zeroconf===0.25.0;python_version=='3.7' +zeroconf===0.25.0;python_version=='3.8' +scipy===1.2.3;python_version=='2.7' +scipy===1.4.1;python_version=='3.6' +scipy===1.4.1;python_version=='3.7' +scipy===1.4.1;python_version=='3.8' +mypy-extensions===0.4.3;python_version=='3.6' +mypy-extensions===0.4.3;python_version=='3.7' +mypy-extensions===0.4.3;python_version=='3.8' +rsd-lib===1.2.0 +XStatic-Jasmine===2.4.1.2 +googleapis-common-protos===1.51.0 +python-glanceclient===3.0.0;python_version=='2.7' +python-glanceclient===3.1.2;python_version=='3.6' +python-glanceclient===3.1.2;python_version=='3.7' +python-glanceclient===3.1.2;python_version=='3.8' +pyinotify===0.9.6 +debtcollector===1.22.0;python_version=='2.7' +debtcollector===2.0.1;python_version=='3.6' +debtcollector===2.0.1;python_version=='3.7' +debtcollector===2.0.1;python_version=='3.8' +requests-unixsocket===0.2.0 +croniter===0.3.31 +octavia-lib===1.5.0;python_version=='2.7' +octavia-lib===2.0.0;python_version=='3.6' +octavia-lib===2.0.0;python_version=='3.7' +octavia-lib===2.0.0;python_version=='3.8' +python-watcherclient===2.5.0;python_version=='2.7' +python-watcherclient===3.0.0;python_version=='3.6' +python-watcherclient===3.0.0;python_version=='3.7' +python-watcherclient===3.0.0;python_version=='3.8' +MarkupSafe===1.1.1 +pypowervm===1.1.24 +doc8===0.8.0 +pymongo===3.10.1 +python-cloudkittyclient===3.1.0;python_version=='2.7' +python-cloudkittyclient===4.0.0;python_version=='3.6' +python-cloudkittyclient===4.0.0;python_version=='3.7' +python-cloudkittyclient===4.0.0;python_version=='3.8' +soupsieve===1.9.5;python_version=='2.7' +soupsieve===2.0;python_version=='3.6' +soupsieve===2.0;python_version=='3.7' +soupsieve===2.0;python_version=='3.8' +sqlparse===0.3.1 +oslotest===3.9.0;python_version=='2.7' +oslotest===4.2.0;python_version=='3.6' +oslotest===4.2.0;python_version=='3.7' +oslotest===4.2.0;python_version=='3.8' +jsonpointer===2.0 +defusedxml===0.6.0 +netaddr===0.7.19 +pyghmi===1.5.13 +sphinxcontrib-blockdiag===1.5.5;python_version=='2.7' +sphinxcontrib-blockdiag===2.0.0;python_version=='3.6' +sphinxcontrib-blockdiag===2.0.0;python_version=='3.7' +sphinxcontrib-blockdiag===2.0.0;python_version=='3.8' +thrift===0.13.0 +gnocchiclient===7.0.6 +wcwidth===0.1.9 +sphinxcontrib.datatemplates===0.6.1 +jsonpath-rw===1.4.0 +prettytable===0.7.2 +vine===1.3.0 +taskflow===3.8.0;python_version=='2.7' +taskflow===4.1.0;python_version=='3.6' +taskflow===4.1.0;python_version=='3.7' +taskflow===4.1.0;python_version=='3.8' +traceback2===1.4.0 +arrow===0.15.5 +semantic-version===2.8.4 +virtualbmc===2.0.0 +deprecation===2.0.7 +SQLAlchemy===1.3.16 +pyroute2===0.5.11 +google-auth===1.13.1 +kazoo===2.7.0 +XStatic-roboto-fontface===0.5.0.0 +pyudev===0.22.0 +eventlet===0.26.1 +openstack-doc-tools===2.0.0;python_version=='2.7' +openstack-doc-tools===3.0.0;python_version=='3.6' +openstack-doc-tools===3.0.0;python_version=='3.7' +openstack-doc-tools===3.0.0;python_version=='3.8' +frozendict===1.2 +oslo.messaging===10.5.0;python_version=='2.7' +oslo.messaging===12.1.6;python_version=='3.6' +oslo.messaging===12.1.6;python_version=='3.7' +oslo.messaging===12.1.6;python_version=='3.8' +jira===2.0.0 +extras===1.0.0 +PyJWT===1.7.1 +XStatic-lodash===4.16.4.1 +zVMCloudConnector===1.4.1 +paramiko===2.7.1 +ifaddr===0.1.6;python_version=='3.6' +ifaddr===0.1.6;python_version=='3.7' +ifaddr===0.1.6;python_version=='3.8' +reno===2.11.3;python_version=='2.7' +reno===3.0.1;python_version=='3.6' +reno===3.0.1;python_version=='3.7' +reno===3.0.1;python_version=='3.8' +unicodecsv===0.14.1;python_version=='2.7' +imagesize===1.2.0 +pydot===1.4.1 +pathlib===1.0.1;python_version=='2.7' +urllib3===1.25.8 +graphviz===0.13.2 +PyKMIP===0.10.0 +whereto===0.4.0 +pywbem===0.17.0 +python-subunit===1.4.0 +tornado===5.1.1;python_version=='2.7' +tornado===6.0.4;python_version=='3.6' +tornado===6.0.4;python_version=='3.7' +tornado===6.0.4;python_version=='3.8' +pycparser===2.20 +mock===3.0.5 +PyYAML===5.3.1 +beautifulsoup4===4.9.0 +os-net-config===12.3.5 +ovs===2.11.0 +cryptography===2.9 +URLObject===2.4.3 +psycopg2-binary===2.8.5 +backports.ssl-match-hostname===3.7.0.1;python_version=='2.7' +openstack-release-test===3.0.1 +pylxd===2.2.10 +pycryptodomex===3.9.7 +anyjson===0.3.3 +requests-mock===1.7.0 +os-apply-config===11.2.3 +prometheus-client===0.7.1 +oslosphinx===4.18.0 +mox3===0.28.0;python_version=='2.7' +mox3===1.0.0;python_version=='3.6' +mox3===1.0.0;python_version=='3.7' +mox3===1.0.0;python_version=='3.8' +gunicorn===19.10.0;python_version=='2.7' +gunicorn===20.0.4;python_version=='3.6' +gunicorn===20.0.4;python_version=='3.7' +gunicorn===20.0.4;python_version=='3.8' +storpool===5.3.1 +textfsm===1.1.0 +python-3parclient===4.2.11 +unittest2===1.1.0 +django-compressor===2.4 +libvirt-python===5.10.0;python_version=='2.7' +libvirt-python===6.1.0;python_version=='3.6' +libvirt-python===6.1.0;python_version=='3.7' +libvirt-python===6.1.0;python_version=='3.8' +python-zunclient===3.6.0;python_version=='2.7' +python-zunclient===4.0.1;python_version=='3.6' +python-zunclient===4.0.1;python_version=='3.7' +python-zunclient===4.0.1;python_version=='3.8' +asyncio===3.4.3;python_version=='3.6' +asyncio===3.4.3;python_version=='3.7' +asyncio===3.4.3;python_version=='3.8' +tzlocal===2.0.0 +sphinxcontrib-jsmath===1.0.1;python_version=='3.6' +sphinxcontrib-jsmath===1.0.1;python_version=='3.7' +sphinxcontrib-jsmath===1.0.1;python_version=='3.8' +python-novaclient===16.0.0;python_version=='2.7' +python-novaclient===17.0.1;python_version=='3.6' +python-novaclient===17.0.1;python_version=='3.7' +python-novaclient===17.0.1;python_version=='3.8' +pact===1.12.0 +bcrypt===3.1.7 +fixtures-git===0.1.0 +os-client-config===2.1.0 +XStatic-Angular-Gettext===2.4.1.0 +Pygments===2.5.2;python_version=='2.7' +Pygments===2.6.1;python_version=='3.6' +Pygments===2.6.1;python_version=='3.7' +Pygments===2.6.1;python_version=='3.8' +XStatic-Hogan===2.0.0.3 +XStatic-objectpath===1.2.1.0 +python-manilaclient===1.29.0;python_version=='2.7' +python-manilaclient===2.1.0;python_version=='3.6' +python-manilaclient===2.1.0;python_version=='3.7' +python-manilaclient===2.1.0;python_version=='3.8' +sphinxcontrib-serializinghtml===1.1.4;python_version=='3.6' +sphinxcontrib-serializinghtml===1.1.4;python_version=='3.7' +sphinxcontrib-serializinghtml===1.1.4;python_version=='3.8' +requests===2.23.0 +snowballstemmer===2.0.0 +Jinja2===2.11.1 +XStatic-Bootstrap-SCSS===3.4.1.0 +pyzabbix===0.7.5 +ptyprocess===0.6.0 +threadloop===1.0.2 +amqp===2.5.2 +websockify===0.9.0 +XStatic-JQuery.quicksearch===2.0.3.2 +mpmath===1.1.0 +django-debreach===2.0.1 +sphinx-feature-classification===1.0.0;python_version=='2.7' +sphinx-feature-classification===1.0.1;python_version=='3.6' +sphinx-feature-classification===1.0.1;python_version=='3.7' +sphinx-feature-classification===1.0.1;python_version=='3.8' +XStatic-JQuery-Migrate===1.2.1.2 +pytest-html===1.22.1;python_version=='2.7' +pytest-html===2.1.1;python_version=='3.6' +pytest-html===2.1.1;python_version=='3.7' +pytest-html===2.1.1;python_version=='3.8' +appdirs===1.4.3 +tinyrpc===1.0.4 +M2Crypto===0.35.2;python_version=='2.7' +google-auth-httplib2===0.0.3 +Flask-SQLAlchemy===2.4.1 +daiquiri===2.1.1 +influxdb===5.1.0;python_version=='2.7' +influxdb===5.2.3;python_version=='3.6' +influxdb===5.2.3;python_version=='3.7' +influxdb===5.2.3;python_version=='3.8' +funcparserlib===0.3.6 +passlib===1.7.2 +dib-utils===0.0.11 +cliff===2.18.0;python_version=='2.7' +cliff===3.2.0;python_version=='3.6' +cliff===3.2.0;python_version=='3.7' +cliff===3.2.0;python_version=='3.8' +os-brick===3.0.8 +ansible-runner===1.4.6 +trollius===2.2.post1;python_version=='2.7' +scp===0.13.2 +python-zaqarclient===1.13.2 +funcsigs===1.0.2;python_version=='2.7' +zhmcclient===0.26.0 +lockfile===0.12.2 +dnspython3===1.15.0;python_version=='3.6' +dnspython3===1.15.0;python_version=='3.7' +dnspython3===1.15.0;python_version=='3.8' +ldappool===2.4.1 +termcolor===1.1.0 +joblib===0.14.1;python_version=='3.6' +joblib===0.14.1;python_version=='3.7' +joblib===0.14.1;python_version=='3.8' +hiredis===1.0.1 +google-api-python-client===1.8.0 +castellan===1.4.0;python_version=='2.7' +castellan===3.0.4;python_version=='3.6' +castellan===3.0.4;python_version=='3.7' +castellan===3.0.4;python_version=='3.8' +oslo.versionedobjects===1.37.0;python_version=='2.7' +oslo.versionedobjects===2.0.2;python_version=='3.6' +oslo.versionedobjects===2.0.2;python_version=='3.7' +oslo.versionedobjects===2.0.2;python_version=='3.8' +enmerkar===0.7.1 +webcolors===1.10;python_version=='2.7' +webcolors===1.11.1;python_version=='3.6' +webcolors===1.11.1;python_version=='3.7' +webcolors===1.11.1;python_version=='3.8' +aodhclient===2.0.0;python_version=='2.7' +aodhclient===2.0.1;python_version=='3.6' +aodhclient===2.0.1;python_version=='3.7' +aodhclient===2.0.1;python_version=='3.8' +autobahn===19.11.2;python_version=='2.7' +autobahn===20.4.1;python_version=='3.6' +autobahn===20.4.1;python_version=='3.7' +autobahn===20.4.1;python_version=='3.8' +SQLAlchemy-Utils===0.36.3 +retryz===0.1.9 +pluggy===0.13.1 +coverage===5.0.4 +freezegun===0.3.15 +python-pytun===2.3.0 +pyperclip===1.8.0 +cassandra-driver===3.23.0 +mox===0.5.3 +XStatic-Angular-Schema-Form===0.8.13.0 +gabbi===1.49.0 +nwdiag===2.0.0 +XStatic-bootswatch===3.3.7.0 +XStatic-JS-Yaml===3.8.1.0 +XStatic-term.js===0.0.7.0 +oslo.log===3.45.2;python_version=='2.7' +oslo.log===4.1.3;python_version=='3.6' +oslo.log===4.1.3;python_version=='3.7' +oslo.log===4.1.3;python_version=='3.8' +nodeenv===1.3.5 +gossip===2.4.0 +pylev===1.3.0 +importlib-metadata===1.6.0 +python-searchlightclient===1.6.0;python_version=='2.7' +python-searchlightclient===2.0.1;python_version=='3.6' +python-searchlightclient===2.0.1;python_version=='3.7' +python-searchlightclient===2.0.1;python_version=='3.8' +oslo.middleware===3.38.1;python_version=='2.7' +oslo.middleware===4.0.2;python_version=='3.6' +oslo.middleware===4.0.2;python_version=='3.7' +oslo.middleware===4.0.2;python_version=='3.8' +XStatic-mdi===1.6.50.2 +django-pyscss===2.0.2 +uritemplate===3.0.1 +docutils===0.15.2 +notifier===1.0.3 +os-ken===0.4.1;python_version=='2.7' +os-ken===1.0.0;python_version=='3.6' +os-ken===1.0.0;python_version=='3.7' +os-ken===1.0.0;python_version=='3.8' +pycrypto===2.6.1 +ujson===2.0.3 +selenium===3.141.0 +python-glareclient===0.5.3 +mypy===0.770;python_version=='3.6' +mypy===0.770;python_version=='3.7' +mypy===0.770;python_version=='3.8' +mistral-lib===1.4.0;python_version=='2.7' +mistral-lib===2.1.0;python_version=='3.6' +mistral-lib===2.1.0;python_version=='3.7' +mistral-lib===2.1.0;python_version=='3.8' +dogtag-pki===10.7.4.1 +XStatic-Angular-UUID===0.0.4.0 +purestorage===1.18.1 +sphinxcontrib-seqdiag===0.8.5;python_version=='2.7' +sphinxcontrib-seqdiag===2.0.0;python_version=='3.6' +sphinxcontrib-seqdiag===2.0.0;python_version=='3.7' +sphinxcontrib-seqdiag===2.0.0;python_version=='3.8' +os-win===4.3.2;python_version=='2.7' +os-win===5.0.2;python_version=='3.6' +os-win===5.0.2;python_version=='3.7' +os-win===5.0.2;python_version=='3.8' +capacity===1.3.14 +retrying===1.3.3 +shade===1.33.0 +XStatic-Dagre===0.6.4.0 +pathlib2===2.3.5 +pydotplus===2.0.2 +boto3===1.12.39 +flask-oslolog===0.1 +jeepney===0.4.3;python_version=='3.6' +jeepney===0.4.3;python_version=='3.7' +jeepney===0.4.3;python_version=='3.8' +stestr===2.6.0;python_version=='2.7' +stestr===3.0.1;python_version=='3.6' +stestr===3.0.1;python_version=='3.7' +stestr===3.0.1;python_version=='3.8' +singledispatch===3.4.0.3;python_version=='2.7' +oslo.serialization===2.29.2;python_version=='2.7' +oslo.serialization===3.1.2;python_version=='3.6' +oslo.serialization===3.1.2;python_version=='3.7' +oslo.serialization===3.1.2;python_version=='3.8' +warlock===1.3.3 +exabgp===4.2.6 +sphinxcontrib-httpdomain===1.7.0 +metalsmith===1.0.1 +s3transfer===0.3.3 +text-unidecode===1.3 +sphinxcontrib-svg2pdfconverter===0.1.0;python_version=='2.7' +sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.6' +sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.7' +sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.8' +murano-pkg-check===0.3.0 +oslo.vmware===2.35.0;python_version=='2.7' +oslo.vmware===3.3.1;python_version=='3.6' +oslo.vmware===3.3.1;python_version=='3.7' +oslo.vmware===3.3.1;python_version=='3.8' +XStatic-moment===2.8.4.2 +sqlalchemy-migrate===0.13.0 +gitdb===0.6.4;python_version=='2.7' +gitdb===4.0.2;python_version=='3.6' +gitdb===4.0.2;python_version=='3.7' +gitdb===4.0.2;python_version=='3.8' +python-monascaclient===1.16.0;python_version=='2.7' +python-monascaclient===2.1.0;python_version=='3.6' +python-monascaclient===2.1.0;python_version=='3.7' +python-monascaclient===2.1.0;python_version=='3.8' +ldap3===2.7 +requests-ntlm===1.1.0 +automaton===1.17.0;python_version=='2.7' +automaton===2.0.1;python_version=='3.6' +automaton===2.0.1;python_version=='3.7' +automaton===2.0.1;python_version=='3.8' +os-service-types===1.7.0 +keyring===18.0.1;python_version=='2.7' +keyring===21.2.0;python_version=='3.6' +keyring===21.2.0;python_version=='3.7' +keyring===21.2.0;python_version=='3.8' +testscenarios===0.5.0 +sphinxcontrib-pecanwsme===0.10.0 +sadisplay===0.4.9 +enum34===1.1.10;python_version=='2.7' +infinisdk===151.1.1 +packaging===20.3 +flask-keystone===0.2 +XStatic-Dagre-D3===0.4.17.0 +nose-exclude===0.5.0 +psutil===5.7.0 +py===1.8.1 +txaio===18.8.1;python_version=='2.7' +txaio===20.4.1;python_version=='3.6' +txaio===20.4.1;python_version=='3.7' +txaio===20.4.1;python_version=='3.8' +python-qinlingclient===4.0.0;python_version=='2.7' +python-qinlingclient===5.0.1;python_version=='3.6' +python-qinlingclient===5.0.1;python_version=='3.7' +python-qinlingclient===5.0.1;python_version=='3.8' +elasticsearch===2.4.1 +django-nose===1.4.6 +XStatic-JQuery.TableSorter===2.14.5.2 +pifpaf===2.4.0 +pysmi===0.3.4 +blockdiag===1.5.4;python_version=='2.7' +blockdiag===2.0.1;python_version=='3.6' +blockdiag===2.0.1;python_version=='3.7' +blockdiag===2.0.1;python_version=='3.8' +testtools===2.4.0 +infi.dtypes.iqn===0.4.0 +Parsley===1.3 +XStatic-tv4===1.2.7.0 +XStatic-JSEncrypt===2.3.1.1 +python-cinderclient===5.0.1;python_version=='2.7' +python-cinderclient===7.0.2;python_version=='3.6' +python-cinderclient===7.0.2;python_version=='3.7' +python-cinderclient===7.0.2;python_version=='3.8' +keystonemiddleware===9.0.0 +django-formtools===2.2 +python-ceilometerclient===2.9.0 +XStatic-Spin===1.2.5.3 +tap-as-a-service===3.0.0 +os-traits===2.2.0;python_version=='2.7' +os-traits===2.3.0;python_version=='3.6' +os-traits===2.3.0;python_version=='3.7' +os-traits===2.3.0;python_version=='3.8' +SecretStorage===2.3.1;python_version=='2.7' +SecretStorage===3.1.2;python_version=='3.6' +SecretStorage===3.1.2;python_version=='3.7' +SecretStorage===3.1.2;python_version=='3.8' +opentracing===2.3.0 +XStatic-Rickshaw===1.5.1.0 +iso8601===0.1.12 +tooz===1.67.2;python_version=='2.7' +tooz===2.3.1;python_version=='3.6' +tooz===2.3.1;python_version=='3.7' +tooz===2.3.1;python_version=='3.8' +linecache2===1.0.0 +oauth2client===4.1.3 +idna===2.9 +python-karborclient===2.0.0 +weakrefmethod===1.0.3;python_version=='2.7' +PuLP===2.1 +crc16===0.1.1 +protobuf===3.11.3 +os-dpm===1.1.0 +sushy===3.2.2 +python-neutronclient===7.1.0;python_version=='2.7' +python-neutronclient===7.1.1;python_version=='3.6' +python-neutronclient===7.1.1;python_version=='3.7' +python-neutronclient===7.1.1;python_version=='3.8' +pika===1.1.0 +oslo.cache===1.38.1;python_version=='2.7' +oslo.cache===2.3.1;python_version=='3.6' +oslo.cache===2.3.1;python_version=='3.7' +oslo.cache===2.3.1;python_version=='3.8' +WebTest===2.0.34 +openstack.nose-plugin===0.11 +os-collect-config===11.0.4 +edgegrid-python===1.1.1 +python-qpid-proton===0.30.0 +python-octaviaclient===2.0.0;python_version=='2.7' +python-octaviaclient===2.0.2;python_version=='3.6' +python-octaviaclient===2.0.2;python_version=='3.7' +python-octaviaclient===2.0.2;python_version=='3.8' +pysaml2===5.0.0 +requests-oauthlib===1.3.0 +oslo.reports===1.31.1;python_version=='2.7' +oslo.reports===2.0.1;python_version=='3.6' +oslo.reports===2.0.1;python_version=='3.7' +oslo.reports===2.0.1;python_version=='3.8' +bitmath===1.3.3.1 +ceilometermiddleware===2.0.0 +python-nss===1.0.1 +testrepository===0.0.20 +sympy===1.5.1 +sphinxmark===0.2.0 +Logbook===1.5.3 +PyNaCl===1.3.0 +osc-lib===2.0.0 +python-consul===1.1.0 +Faker===3.0.1;python_version=='2.7' +Faker===4.0.2;python_version=='3.6' +Faker===4.0.2;python_version=='3.7' +Faker===4.0.2;python_version=='3.8' +more-itertools===5.0.0;python_version=='2.7' +more-itertools===8.2.0;python_version=='3.6' +more-itertools===8.2.0;python_version=='3.7' +more-itertools===8.2.0;python_version=='3.8' +seqdiag===0.9.6;python_version=='2.7' +seqdiag===2.0.0;python_version=='3.6' +seqdiag===2.0.0;python_version=='3.7' +seqdiag===2.0.0;python_version=='3.8' +numpy===1.16.6;python_version=='2.7' +numpy===1.18.2;python_version=='3.6' +numpy===1.18.2;python_version=='3.7' +numpy===1.18.2;python_version=='3.8' +msgpack===0.6.2 +Sphinx===1.8.5;python_version=='2.7' +Sphinx===3.0.1;python_version=='3.6' +Sphinx===3.0.1;python_version=='3.7' +Sphinx===3.0.1;python_version=='3.8' +oslo.config===7.0.0;python_version=='2.7' +oslo.config===8.0.5;python_version=='3.6' +oslo.config===8.0.5;python_version=='3.7' +oslo.config===8.0.5;python_version=='3.8' +tempest===24.0.0 +django-floppyforms===1.8.0 +openstackdocstheme===1.31.2;python_version=='2.7' +openstackdocstheme===2.0.2;python_version=='3.6' +openstackdocstheme===2.0.2;python_version=='3.7' +openstackdocstheme===2.0.2;python_version=='3.8' +osc-placement===2.0.0 +zake===0.2.2 +python-rsdclient===1.0.2 +python-magic===0.4.15 +flux===1.3.5 +python-solumclient===2.9.0;python_version=='2.7' +python-solumclient===3.1.0;python_version=='3.6' +python-solumclient===3.1.0;python_version=='3.7' +python-solumclient===3.1.0;python_version=='3.8' +PyMySQL===0.9.3 +kubernetes===11.0.0 +httplib2===0.17.2 +bottle===0.12.18 +betamax===0.8.1 +construct===2.8.22 +pytest-metadata===1.8.0 +pyparsing===2.4.7 +geomet===0.1.2 +distlib===0.3.0 +XStatic-Moment-Timezone===0.5.22.0 +dogpile.cache===0.9.0 +python-barbicanclient===4.10.0 +salt===3000.1 +api-object-schema===2.0.0 +tricircleclient===0.6.0;python_version=='2.7' +tricircleclient===1.0.0;python_version=='3.6' +tricircleclient===1.0.0;python_version=='3.7' +tricircleclient===1.0.0;python_version=='3.8' +WSME===0.10.0 +proboscis===1.2.6.0 +fortiosclient===0.0.3 +oslo.upgradecheck===0.3.2;python_version=='2.7' +oslo.upgradecheck===1.0.1;python_version=='3.6' +oslo.upgradecheck===1.0.1;python_version=='3.7' +oslo.upgradecheck===1.0.1;python_version=='3.8' +stevedore===1.32.0 +pywinrm===0.4.1 +botocore===1.15.39 +xmltodict===0.12.0 +pyasn1===0.4.8 +oslo.rootwrap===5.17.1;python_version=='2.7' +oslo.rootwrap===6.0.2;python_version=='3.6' +oslo.rootwrap===6.0.2;python_version=='3.7' +oslo.rootwrap===6.0.2;python_version=='3.8' +Django===1.11.29;python_version=='2.7' +Django===2.2.12;python_version=='3.6' +Django===2.2.12;python_version=='3.7' +Django===2.2.12;python_version=='3.8' +pexpect===4.8.0 +cmd2===0.8.9 +python-json-logger===0.1.11 +redis===3.4.1 +jmespath===0.9.5 +click===7.1.1 +atomicwrites===1.3.0;python_version=='2.7' +XStatic-smart-table===1.4.13.2 +kuryr-lib===2.0.1 +scrypt===0.8.13 +jsonpatch===1.25 +python-daemon===2.2.4 +typed-ast===1.4.1;python_version=='3.6' +typed-ast===1.4.1;python_version=='3.7' +typed-ast===1.4.1;python_version=='3.8' +os-testr===1.1.0;python_version=='2.7' +os-testr===2.0.0;python_version=='3.6' +os-testr===2.0.0;python_version=='3.7' +os-testr===2.0.0;python_version=='3.8' +cotyledon===1.7.3 +stomp.py===4.1.23;python_version=='2.7' +stomp.py===6.0.0;python_version=='3.6' +stomp.py===6.0.0;python_version=='3.7' +stomp.py===6.0.0;python_version=='3.8' +xattr===0.9.7 +systemd-python===234 +python-memcached===1.59 +openstacksdk===0.45.0;python_version=='2.7' +openstacksdk===0.46.1;python_version=='3.6' +openstacksdk===0.46.1;python_version=='3.7' +openstacksdk===0.46.1;python_version=='3.8' +six===1.14.0 +dulwich===0.19.15 +dfs-sdk===1.2.26 +sentinels===1.0.0 +kombu===4.6.8 +distro===1.5.0 +betamax-matchers===0.4.0 +yaql===1.1.3 +requestsexceptions===1.4.0 +testresources===2.0.1 +falcon===2.0.0 +subprocess32===3.5.4;python_version=='2.7' +etcd3gw===0.2.5 +Flask-RESTful===0.3.8 +GitPython===2.1.11;python_version=='2.7' +GitPython===3.1.0;python_version=='3.6' +GitPython===3.1.0;python_version=='3.7' +GitPython===3.1.0;python_version=='3.8' +python-ironicclient===3.1.1;python_version=='2.7' +python-ironicclient===4.1.0;python_version=='3.6' +python-ironicclient===4.1.0;python_version=='3.7' +python-ironicclient===4.1.0;python_version=='3.8' +XStatic===1.0.2 +XStatic-Angular-FileUpload===12.0.4.0 +python-openstackclient===5.2.0 +pyzmq===21.0.2 +oslo.db===6.0.0;python_version=='2.7' +oslo.db===8.1.1;python_version=='3.6' +oslo.db===8.1.1;python_version=='3.7' +oslo.db===8.1.1;python_version=='3.8' +simplegeneric===0.8.1 +python-pcre===0.7 +yappi===1.2.3 +dataclasses===0.7;python_version=='3.6' +abclient===0.2.3 +pymemcache===3.1.0 +wrapt===1.12.1 +oslo.privsep===1.34.0;python_version=='2.7' +oslo.privsep===2.1.2;python_version=='3.6' +oslo.privsep===2.1.2;python_version=='3.7' +oslo.privsep===2.1.2;python_version=='3.8' +sphinxcontrib-apidoc===0.3.0 +oslo.policy===2.4.1;python_version=='2.7' +oslo.policy===3.1.2;python_version=='3.6' +oslo.policy===3.1.2;python_version=='3.7' +oslo.policy===3.1.2;python_version=='3.8' +python-muranoclient===1.3.0;python_version=='2.7' +python-muranoclient===2.0.1;python_version=='3.6' +python-muranoclient===2.0.1;python_version=='3.7' +python-muranoclient===2.0.1;python_version=='3.8' +hvac===0.10.1 +pyeclib===1.6.0 +wsgi-intercept===1.9.2 +ndg-httpsclient===0.5.1 +pyrsistent===0.16.0 +repoze.lru===0.7 +rfc3986===1.4.0 +network-runner===0.2.1 +tenacity===6.1.0 +python-designateclient===3.1.0;python_version=='2.7' +python-designateclient===4.0.0;python_version=='3.6' +python-designateclient===4.0.0;python_version=='3.7' +python-designateclient===4.0.0;python_version=='3.8' +future===0.18.2 +Paste===3.4.0 +pytest-django===3.9.0 +jaeger-client===4.3.0 +XStatic-Json2yaml===0.1.1.0 +boto===2.49.0 +functools32===3.2.3.post2;python_version=='2.7' +os-vif===1.17.0;python_version=='2.7' +os-vif===2.0.1;python_version=='3.6' +os-vif===2.0.1;python_version=='3.7' +os-vif===2.0.0;python_version=='3.8' +mitba===1.1.1 +python-masakariclient===5.6.0;python_version=='2.7' +python-masakariclient===6.0.0;python_version=='3.6' +python-masakariclient===6.0.0;python_version=='3.7' +python-masakariclient===6.0.0;python_version=='3.8' +Werkzeug===1.0.1 +backports.functools-lru-cache===1.6.1;python_version=='2.7' +pyasn1-modules===0.2.8 +entrypoints===0.3 +APScheduler===3.6.3 +monotonic===1.5 +python-smaugclient===0.0.8 +python-troveclient===3.3.2 +etcd3===0.12.0 +cachez===0.1.2 +XStatic-Bootstrap-Datepicker===1.4.0.0 +CouchDB===1.2 +netifaces===0.10.9 +cachetools===3.1.1;python_version=='2.7' +cachetools===4.1.0;python_version=='3.6' +cachetools===4.1.0;python_version=='3.7' +cachetools===4.1.0;python_version=='3.8' +ws4py===0.5.1 +backports-abc===0.5;python_version=='2.7' +sphinxcontrib-qthelp===1.0.3;python_version=='3.6' +sphinxcontrib-qthelp===1.0.3;python_version=='3.7' +sphinxcontrib-qthelp===1.0.3;python_version=='3.8' +keystoneauth1===4.0.0 +statsd===3.3.0 +XenAPI===2.14 +importlib-resources===1.4.0 +python-keystoneclient===3.22.0;python_version=='2.7' +python-keystoneclient===4.0.0;python_version=='3.6' +python-keystoneclient===4.0.0;python_version=='3.7' +python-keystoneclient===4.0.0;python_version=='3.8' +ceilometer===14.1.0 +demjson===2.2.4 +diskimage-builder===2.35.0 +heat-translator===1.5.0;python_version=='2.7' +heat-translator===2.0.0;python_version=='3.6' +heat-translator===2.0.0;python_version=='3.7' +heat-translator===2.0.0;python_version=='3.8' +python-magnumclient===3.0.1 +docker===4.2.0 +storops===1.2.4 +qpid-python===1.36.0.post1;python_version=='2.7' +contextlib2===0.6.0.post1;python_version=='2.7' +XStatic-Angular-lrdragndrop===1.0.2.4 +python-congressclient===1.13.0;python_version=='2.7' +python-congressclient===2.0.1;python_version=='3.6' +python-congressclient===2.0.1;python_version=='3.7' +python-congressclient===2.0.1;python_version=='3.8' +ovsdbapp===0.18.0;python_version=='2.7' +ovsdbapp===1.2.3;python_version=='3.6' +ovsdbapp===1.2.3;python_version=='3.7' +ovsdbapp===1.2.3;python_version=='3.8' +aniso8601===8.0.0 +rjsmin===1.1.0 +icalendar===4.0.5 +configparser===4.0.2;python_version=='2.7' +decorator===4.4.2 +cffi===1.14.0 +futurist===1.10.0;python_version=='2.7' +futurist===2.1.1;python_version=='3.6' +futurist===2.1.1;python_version=='3.7' +futurist===2.1.1;python_version=='3.8' +jsonschema===3.2.0 +sphinxcontrib-devhelp===1.0.2;python_version=='3.6' +sphinxcontrib-devhelp===1.0.2;python_version=='3.7' +sphinxcontrib-devhelp===1.0.2;python_version=='3.8' +python-blazarclient===2.2.1;python_version=='2.7' +python-blazarclient===3.0.1;python_version=='3.6' +python-blazarclient===3.0.1;python_version=='3.7' +python-blazarclient===3.0.1;python_version=='3.8' +alembic===1.4.2 +glance-store===2.0.1 +sphinxcontrib-programoutput===0.16 +storpool.spopenstack===2.2.1 +sphinx-testing===1.0.1 +dnspython===1.15.0;python_version=='3.6' +dnspython===1.15.0;python_version=='3.7' +dnspython===1.15.0;python_version=='3.8' +dnspython===1.16.0;python_version=='2.7' +oauthlib===3.1.0 +Babel===2.8.0 +logutils===0.3.5 +scandir===1.10.0;python_version=='2.7' +zipp===1.2.0;python_version=='2.7' +zipp===3.1.0;python_version=='3.6' +zipp===3.1.0;python_version=='3.7' +zipp===3.1.0;python_version=='3.8' +sphinxcontrib-fulltoc===1.2.0 +smmap2===3.0.1;python_version=='2.7' +greenlet===0.4.15 +XStatic-Angular-Vis===4.16.0.0 +confluent-kafka===1.3.0 +xvfbwrapper===0.2.9 +futures===3.3.0;python_version=='2.7' +tosca-parser===1.7.0;python_version=='2.7' +tosca-parser===2.0.0;python_version=='3.6' +tosca-parser===2.0.0;python_version=='3.7' +tosca-parser===2.0.0;python_version=='3.8' +Flask===1.1.2 +happybase===1.2.0;python_version=='2.7' +sqlalchemy-filters===0.10.0 +marathon===0.12.0 +fasteners===0.14.1 +sortedcontainers===2.1.0 +filelock===3.0.12 +python-tackerclient===0.16.1;python_version=='2.7' +python-tackerclient===1.1.1;python_version=='3.6' +python-tackerclient===1.1.1;python_version=='3.7' +python-tackerclient===1.1.1;python_version=='3.8' +python-heatclient===1.18.0;python_version=='2.7' +python-heatclient===2.1.0;python_version=='3.6' +python-heatclient===2.1.0;python_version=='3.7' +python-heatclient===2.1.0;python_version=='3.8' +kafka-python===2.0.1 +oslo.utils===3.42.1;python_version=='2.7' +oslo.utils===4.1.2;python_version=='3.6' +oslo.utils===4.1.2;python_version=='3.7' +oslo.utils===4.1.2;python_version=='3.8' +python-editor===1.0.4 +gitdb2===2.0.6;python_version=='2.7' +gitdb2===4.0.2;python_version=='3.6' +gitdb2===4.0.2;python_version=='3.7' +gitdb2===4.0.2;python_version=='3.8' +requests-kerberos===0.12.0 +itsdangerous===1.1.0 +XStatic-jquery-ui===1.12.1.1 +monasca-statsd===2.0.0 +python-dateutil===2.8.1 +typing-extensions===3.7.4.2;python_version=='3.6' +typing-extensions===3.7.4.2;python_version=='3.7' +typing-extensions===3.7.4.2;python_version=='3.8' +virtualenv===20.0.17 +colorama===0.4.3 +confetti===2.5.3 +ironic-lib===4.2.3 +pytz===2019.3 +XStatic-D3===3.5.17.0 +actdiag===0.5.4;python_version=='2.7' +actdiag===2.0.0;python_version=='3.6' +actdiag===2.0.0;python_version=='3.7' +actdiag===2.0.0;python_version=='3.8' +sysv-ipc===1.0.1 +sphinxcontrib-applehelp===1.0.2;python_version=='3.6' +sphinxcontrib-applehelp===1.0.2;python_version=='3.7' +sphinxcontrib-applehelp===1.0.2;python_version=='3.8' +scikit-learn===0.20.0;python_version=='2.7' +scikit-learn===0.22.2.post1;python_version=='3.6' +scikit-learn===0.22.2.post1;python_version=='3.7' +scikit-learn===0.22.2.post1;python_version=='3.8' diff --git a/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upstream/LICENSE-2.0.txt b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upstream/LICENSE-2.0.txt new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack-requirements/ussuri/upstream/LICENSE-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/build-tools/build-wheels/debian-trixie/openstack.cfg b/build-tools/build-wheels/debian-trixie/openstack.cfg new file mode 100644 index 00000000..dccfd853 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/openstack.cfg @@ -0,0 +1,13 @@ +# This file specifies constraint/requirement URLs for current and python2 +# openstack branches + +# Current/stable +STABLE_OPENSTACK_REQ_URL="openstack-requirements/caracal" +# Current/experimental (for dev images) +MASTER_OPENSTACK_REQ_URL="https://raw.githubusercontent.com/openstack/requirements/master" + +# Python2/stable +STABLE_OPENSTACK_REQ_URL_PY2="openstack-requirements/ussuri" +# Python2/experimental (for dev images) +MASTER_OPENSTACK_REQ_URL_PY2="https://raw.githubusercontent.com/openstack/requirements/stable/train" + diff --git a/build-tools/build-wheels/debian-trixie/stable-wheels-py2.cfg b/build-tools/build-wheels/debian-trixie/stable-wheels-py2.cfg new file mode 100644 index 00000000..9e332340 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/stable-wheels-py2.cfg @@ -0,0 +1,177 @@ +# +# 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 +# +# See doc/wheels-cfg.md for more info. +# +abclient-0.2.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/49/eb/091b02c1e36d68927adfb746706e2c80f7e7bfb3f16e3cbcfec2632118ab/abclient-0.2.3.tar.gz|abclient-0.2.3 +alembic-1.1.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/9a/0f/a5e8997d58882da8ecd288360dddf133a83145de6480216774923b393422/alembic-1.1.0.tar.gz|alembic-1.1.0 +amqplib-1.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/75/b7/8c2429bf8d92354a0118614f9a4d15e53bc69ebedce534284111de5a0102/amqplib-1.0.2.tgz|amqplib-1.0.2 +anyjson-0.3.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/c3/4d/d4089e1a3dd25b46bebdb55a992b0797cff657b4477bc32ce28038fdecbc/anyjson-0.3.3.tar.gz|anyjson-0.3.3 +backports.ssl_match_hostname-3.7.0.1-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ff/2b/8265224812912bc5b7a607c44bf7b027554e1b9775e9ee0de8032e3de4b2/backports.ssl_match_hostname-3.7.0.1.tar.gz|backports.ssl_match_hostname-3.7.0.1|fix_setup +bottle-0.12.17-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/c4/a5/6bf41779860e9b526772e1b3b31a65a22bd97535572988d16028c5ab617d/bottle-0.12.17.tar.gz|bottle-0.12.17 +cassandra_driver-3.19.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/1c/fe/e4df42a3e864b6b7b2c7f6050b66cafc7fba8b46da0dfb9d51867e171a77/cassandra-driver-3.19.0.tar.gz|cassandra-driver-3.19.0 +cmd2-0.8.9-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e9/40/a71caa2aaff10c73612a7106e2d35f693e85b8cf6e37ab0774274bca3cf9/cmd2-0.8.9-py2.py3-none-any.whl +construct-2.8.22-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e5/c6/3e3aeef38bb0c27364af3d21493d9690c7c3925f298559bca3c48b7c9419/construct-2.8.22.tar.gz|construct-2.8.22 +crc16-0.1.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a6/e0/70a44c4385f2b33df82e518005aae16b5c1feaf082c73c0acebe3426fc0a/crc16-0.1.1.tar.gz|crc16-0.1.1|fix_setup +demjson-2.2.4-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/96/67/6db789e2533158963d4af689f961b644ddd9200615b8ce92d6cad695c65a/demjson-2.2.4.tar.gz|demjson-2.2.4|fix_setup +django_floppyforms-1.7.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8c/18/30a9137c7ae279a27ccdeb10f6fe8be18ee98551d01ec030b6cfe8b2d2e2/django-floppyforms-1.7.0.tar.gz|django-floppyforms-1.7.0 +django_pyscss-2.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/4b/7f/d771802305184aac6010826f60a0b2ecaa3f57d19ab0e405f0c8db07e809/django-pyscss-2.0.2.tar.gz|django-pyscss-2.0.2 +docopt-0.6.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz|docopt-0.6.2 +dogpile.cache-0.7.1-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/84/3e/dbf1cfc5228f1d3dca80ef714db2c5aaec5cd9efaf54d7e3daef6bc48b19/dogpile.cache-0.7.1.tar.gz|dogpile.cache-0.7.1 +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 +etcd3-0.10.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/09/f1/93603a26daf7a993a0acbbcfd32afce8b2fdf30a765d5651571ab635969b/etcd3-0.10.0.tar.gz|etcd3-0.10.0 +exabgp-4.1.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/b9/f1/f2417bc82c9caa220fcd369a3b55ac895088bcc8afc262e4bb07d48aa40c/exabgp-4.1.2.tar.gz|exabgp-4.1.2 +flask_keystone-0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/1f/ca/3938de8c5f4a3d1c5dd4278bedb9d31d79816feba4d088293c620a366fb1/flask_keystone-0.2.tar.gz|flask_keystone-0.2 +flask_oslolog-0.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/a7/62/fec02ce761b548b1289680bb1be1aa0bce2b2c4017d5b31bd6c67c78aef9/flask_oslolog-0.1.tar.gz|flask_oslolog-0.1 +fortiosclient-0.0.3-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e9/aa/b2c0705d5e52c8d9af35422d940800b49c562758fbdad3179a6fbf6e92f5/fortiosclient-0.0.3.tar.gz|fortiosclient-0.0.3 +frozendict-1.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/4e/55/a12ded2c426a4d2bee73f88304c9c08ebbdbadb82569ebdd6a0c007cfd08/frozendict-1.2.tar.gz|frozendict-1.2 +funcparserlib-0.3.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/cb/f7/b4a59c3ccf67c0082546eaeb454da1a6610e924d2e7a2a21f337ecae7b40/funcparserlib-0.3.6.tar.gz|funcparserlib-0.3.6 +functools32-3.2.3.post2-py2-none-any.whl|git|https://github.com/MiCHiLU/python-functools32|python-functools32|3.2.3-2|fix_setup +future-0.17.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/90/52/e20466b85000a181e1e144fd8305caf2cf475e2f9674e797b222f8105f5f/future-0.17.1.tar.gz|future-0.17.1 +happybase-1.2.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/d1/9c/f5f7bdb5439cda2b7da4e20ac24ec0e2455fd68aade8397f211d2994c39d/happybase-1.2.0.tar.gz|happybase-1.2.0 +hiredis-1.0.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9e/e0/c160dbdff032ffe68e4b3c576cba3db22d8ceffc9513ae63368296d1bcc8/hiredis-1.0.0.tar.gz|hiredis-1.0.0 +httplib2-0.13.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/78/23/bb9606e87a66fd8c72a2b1a75b049d3859a122bc2648915be845bc44e04f/httplib2-0.13.1.tar.gz|httplib2-0.13.1 +itsdangerous-1.1.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl +jaeger_client-4.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/f1/da/569a4f1bc3d0c412c7f903053f09ef62fa10949374ca90bc852b22dd3860/jaeger-client-4.1.0.tar.gz|jaeger-client-4.1.0 +jsonpath_rw-1.4.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/71/7c/45001b1f19af8c4478489fbae4fc657b21c4c669d7a5a036a86882581d85/jsonpath-rw-1.4.0.tar.gz|jsonpath-rw-1.4.0 +krest-1.3.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/fb/d2/9dbbd3a76f2385041720a0eb51ddab676e688fa8bee8a1489470839616cf/krest-1.3.1.tar.gz|krest-1.3.1 +#libvirt_python-4.4.0-cp27-none-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/2b/8d/1160cf34dc3d296896eb5c8f4944439ea368b87d2d2431f58d08d6bdf374/libvirt-python-4.4.0.tar.gz|libvirt-python-4.4.0|fix_setup +logutils-0.3.5-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/49/b2/b57450889bf73da26027f8b995fd5fbfab258ec24ef967e4c1892f7cb121/logutils-0.3.5.tar.gz|logutils-0.3.5|fix_setup +lz4-0.9.0-cp27-cp27mu-linux_x86_64.whl|git|https://github.com/python-lz4/python-lz4|python-lz4|v0.9.0 +Mako-1.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/b0/3c/8dcd6883d009f7cae0f3157fb53e9afb05a0d3d33b3db1268ec2e6f4a56b/Mako-1.1.0.tar.gz|Mako-1.1.0 +marathon-0.11.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/97/e3/f036af0d94f98d199233faa71b5bcbef8b8e8e634551940d98c95d276e4f/marathon-0.11.0-py2.py3-none-any.whl +MarkupSafe-1.1.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz|MarkupSafe-1.1.1 +mox-0.5.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/a1/64740c638cc5fae807022368f4141700518ee343b53eb3e90bf3cc15a4d4/mox-0.5.3.tar.gz|mox-0.5.3|fix_setup +migrate-0.3.8-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ce/31/1a4cbf8dc0536c55f41072e8ea37b3df1e412262dc731c57e5bb099eb9b2/migrate-0.3.8.tar.gz|migrate-0.3.8 +mpmath-1.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ca/63/3384ebb3b51af9610086b23ea976e6d27d6d97bf140a76a365bd77a3eb32/mpmath-1.1.0.tar.gz|mpmath-1.1.0|fix_setup +msgpack_python-0.4.8-cp27-cp27mu-linux_x86_64.whl|git|https://github.com/msgpack/msgpack-python.git|msgpack-python|0.4.8 +munch-2.3.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/68/f4/260ec98ea840757a0da09e0ed8135333d59b8dfebe9752a365b04857660a/munch-2.3.2.tar.gz|munch-2.3.2 +ndg_httpsclient-0.5.1-py2-none-any.whl|pypi|https://files.pythonhosted.org/packages/bf/b2/26470fde7ff55169df8e071fb42cb1f83e22bd952520ab2b5c5a5edc2acd/ndg_httpsclient-0.5.1-py2-none-any.whl +netifaces-0.10.9-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/0d/18/fd6e9c71a35b67a73160ec80a49da63d1eed2d2055054cc2995714949132/netifaces-0.10.9.tar.gz|netifaces-0.10.9 +networking_sfc-8.0.0.0b2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6a/a8/0e9bdd1f87dfb50682f23a01f590530ec8fa715e51127cf9f58d1905886c/networking_sfc-8.0.0.0b2-py2.py3-none-any.whl +networkx-2.2-py2.py3-none-any.whl|zip|https://files.pythonhosted.org/packages/f3/f4/7e20ef40b118478191cec0b58c3192f822cace858c19505c7670961b76b2/networkx-2.2.zip|networkx-2.2 +neutron_lib-1.29.1-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6b/dd/548cbb7a936de18aa642372927e409540d8f5d96a2f7650c4d1197845f3c/neutron_lib-1.29.1-py2.py3-none-any.whl +nodeenv-1.3.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/00/6e/ed417bd1ed417ab3feada52d0c89ab0ed87d150f91590badf84273e047c9/nodeenv-1.3.3.tar.gz|nodeenv-1.3.3 +nose_exclude-0.5.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/63/cf/90c4be56bf11b7bc8801086d9445baf731aa36b8e8fc5791731e8e604dcd/nose-exclude-0.5.0.tar.gz|nose-exclude-0.5.0 +nosehtmloutput-0.0.5-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/f7/6cb16c0b233d3f2d62be38ddb7d7c1bc967188c41575ecf0312e6575730d/nosehtmloutput-0.0.5.tar.gz|nosehtmloutput-0.0.5 +openshift-0.8.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/73/ed/c92c0ba23b6c4c8e5542151a1b89cb8ff01f68a72fe68f6c95a28d885ebe/openshift-0.8.6.tar.gz|openshift-0.8.6 +openstack.nose_plugin-0.11-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/bc/83/e7c9b9297e1a501d2c2617f98d6176199570e8ee32f0e72669c8852c6c81/openstack.nose_plugin-0.11.tar.gz|openstack.nose_plugin-0.11 +opentracing-2.2.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/94/9f/289424136addf621fb4c75624ef9a3a80e8575da3993a87950c57e93217e/opentracing-2.2.0.tar.gz|opentracing-2.2.0 +ovs-2.11.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/81/06/387b2159ac073de95e484aa6e2f108a232cd906e350307168843061f899f/ovs-2.11.0.tar.gz|ovs-2.11.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 +pathlib-1.0.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ac/aa/9b065a76b9af472437a0059f77e8f962fe350438b927cb80184c32f075eb/pathlib-1.0.1.tar.gz|pathlib-1.0.1|fix_setup +pecan-1.3.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/93/98/889d7615595e894f4f7e4c17d4008c822c8e39e650c8ab390cc6c39b99c4/pecan-1.3.3.tar.gz|pecan-1.3.3 +pifpaf-2.2.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/33/dc/4f276c55d94cd73fc1f94e2d23f34b476fea38d240e3e17b837a5749bc9f/pifpaf-2.2.2-py2.py3-none-any.whl +pika_pool-0.1.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ec/48/50c8f02a3eef4cb824bec50661ec1713040402cc1b2a38954dc977a59c23/pika-pool-0.1.3.tar.gz|pika-pool-0.1.3 +Pint-0.9-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/15/9d/bf177ebbc57d25e9e296addc14a1303d1e34d7964af5df428a8332349c42/Pint-0.9-py2.py3-none-any.whl +ply-3.11-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl +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 +prettytable-0.7.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e0/a1/36203205f77ccf98f3c6cf17cf068c972e6458d7e58509ca66da949ca347/prettytable-0.7.2.tar.gz|prettytable-0.7.2 +proboscis-1.2.6.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/3c/c8/c187818ab8d0faecdc3c16c1e0b2e522f3b38570f0fb91dcae21662019d0/proboscis-1.2.6.0.tar.gz|proboscis-1.2.6.0 +psutil-5.6.3-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/1c/ca/5b8c1fe032a458c2c4bcbe509d1401dca9dda35c7fc46b36bb81c2834740/psutil-5.6.3.tar.gz|psutil-5.6.3 +psycopg2-2.8.3-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz|psycopg2-2.8.3 +PuLP-1.6.10-py2-none-any.whl|zip|https://files.pythonhosted.org/packages/2d/33/3ae6d9d2ac8c7068937af6372fd8828ac605e62a8b17106fe57110930d38/PuLP-1.6.10.zip|PuLP-1.6.10 +pycparser-2.19-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz|pycparser-2.19 +pycrypto-2.6.1-cp27-cp27mu-linux_x86_64.whl|git|https://github.com/dlitz/pycrypto|pycrypto|v2.6.1|fix_setup +pycryptodomex-3.9.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e4/90/a01cafbbad7466491e3a630bf1d734294a32ff1b10e7429e9a4e8478669e/pycryptodomex-3.9.0.tar.gz|pycryptodomex-3.9.0 +pydot-1.4.1-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/33/d1/b1479a770f66d962f545c2101630ce1d5592d90cb4f083d38862e93d16d2/pydot-1.4.1-py2.py3-none-any.whl +pydotplus-2.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/60/bf/62567830b700d9f6930e9ab6831d6ba256f7b0b730acb37278b0ccdffacf/pydotplus-2.0.2.tar.gz|pydotplus-2.0.2 +pyeclib-1.6.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/aa/d6/ca6bba5e66fc7a9810a995b17a3675492da2bec405806d8ac3db18cfd93b/pyeclib-1.6.0.tar.gz|pyeclib-1.6.0|fix_setup +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 +pykerberos-1.2.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9a/b8/1ec56b6fa8a2e2a81420bd3d90e70b59fc83f6b857fb2c2c37accddc8be3/pykerberos-1.2.1.tar.gz|pykerberos-1.2.1 +PyKMIP-0.9.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/24/b2/258332aea85163f49a187337e8c85ee4529eb499b84fe0a6fe2d1a9c8d25/PyKMIP-0.9.1.tar.gz|PyKMIP-0.9.1 +pylxd-2.2.10-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/49/9a/eba58646721ffbff40dc41571b13c9528fdc4e26a82252318c997cdbe26a/pylxd-2.2.10.tar.gz|pylxd-2.2.10 +pyngus-2.3.0-py2-none-any.whl|zip|https://files.pythonhosted.org/packages/58/b1/336b8f64e7e4efa9b95027af71e02cd4cfacca8f919345badb852381878a/pyngus-2.3.0.zip|pyngus-2.3.0 +pyperclip-1.7.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/2d/0f/4eda562dffd085945d57c2d9a5da745cfb5228c02bc90f2c74bbac746243/pyperclip-1.7.0.tar.gz|pyperclip-1.7.0 +pyroute2-0.5.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/f6/80/16a604075345f0c253537d55e5c5282a37c61a1fc8ee0fcc42d1fd2a0739/pyroute2-0.5.6.tar.gz|pyroute2-0.5.6|fix_setup +pyrsistent-0.15.4-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/b9/66/b2638d96a2d128b168d0dba60fdc77b7800a9b4a5340cefcc5fc4eae6295/pyrsistent-0.15.4.tar.gz|pyrsistent-0.15.4 +pyScss-1.3.4-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/1d/4a/221ae7561c8f51c4f28b2b172366ccd0820b14bb947350df82428dfce381/pyScss-1.3.4.tar.gz|pyScss-1.3.4 +pysendfile-2.0.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/cd/3f/4aa268afd0252f06b3b487c296a066a01ddd4222a46b7a3748599c8fc8c3/pysendfile-2.0.1.tar.gz|pysendfile-2.0.1 +pystache-0.5.4-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/d6/fd/eb8c212053addd941cc90baac307c00ac246ac3fce7166b86434c6eae963/pystache-0.5.4.tar.gz|pystache-0.5.4 +python_cinderclient-4.3.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f1/09/760c454c5bf67509d7f8479d583a3e84411f51ec2a1942aea3741a49b090/python_cinderclient-4.3.0-py2.py3-none-any.whl +python_consul-1.1.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/3f/d0/59bc5f1c6c4d4b498c41d8ce7052ee9e9d68be19e16038a55252018a6c4d/python_consul-1.1.0-py2.py3-none-any.whl +python_editor-1.0.4-py2-none-any.whl|pypi|https://files.pythonhosted.org/packages/55/a0/3c0ba1c10f2ca381645dd46cb7afbb73fddc8de9f957e1f9e726a846eabc/python_editor-1.0.4-py2-none-any.whl +python_etcd-0.4.5-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/a1/da/616a4d073642da5dd432e5289b7c1cb0963cc5dde23d1ecb8d726821ab41/python-etcd-0.4.5.tar.gz|python-etcd-0.4.5 +python_ldap-3.2.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/ea/93/596f875e003c770447f4b99267820a0c769dd2dc3ae3ed19afe460fcbad0/python-ldap-3.2.0.tar.gz|python-ldap-3.2.0 +python_memcached-1.59-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f5/90/19d3908048f70c120ec66a39e61b92c253e834e6e895cd104ce5e46cbe53/python_memcached-1.59-py2.py3-none-any.whl +#python_nss-1.0.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/6b/29/629098e34951c358b1f04f13a70b3590eb0cf2df817d945bd05c4169d71b/python-nss-1.0.1.tar.bz2|python-nss-1.0.1|fix_setup +python_pcre-0.7-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9d/af/61435bd163f01fe3709fca9b1f79e4978d8089ee671d2e004fc85e10de29/python-pcre-0.7.tar.gz|python-pcre-0.7|fix_setup +python_pytun-2.3.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/52/a4/a062106c739eac79c8160fcf5779ebc84afc1c38b016ab216ed1e6da69b6/python-pytun-2.3.0.tar.gz|python-pytun-2.3.0|fix_setup +python_qpid_proton-0.28.0-cp27-cp27mu-linux_x86_64.whl|zip|https://files.pythonhosted.org/packages/96/35/2c86d844aec1acdfe7778966994aa270fcf03f076df393003bd4fc07dfa9/python-qpid-proton-0.28.0.zip|python-qpid-proton-0.28.0|fix_setup +python_string_utils-0.6.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/5d/13/216f2d4a71307f5a4e5782f1f59e6e8e5d6d6c00eaadf9f92aeccfbb900c/python-string-utils-0.6.0.tar.gz|python-string-utils-0.6.0|fix_setup +pyudev-0.21.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/bc/a2/31a07829acea8e70a28c247f43fa5d981229ae0f9edfeddedf52de00709b/pyudev-0.21.0.tar.gz|pyudev-0.21.0 +PyYAML-5.1.2-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e3/e8/b3212641ee2718d556df0f23f78de8303f068fe29cdaa7a91018849582fe/PyYAML-5.1.2.tar.gz|PyYAML-5.1.2 +pyzabbix-0.7.5-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/11/ad/24e19d0cf16d05b7ee19f337f02058ee9b760649171865469ccceef83027/pyzabbix-0.7.5.tar.gz|pyzabbix-0.7.5 +qpid_python-1.36.0.post1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/2a/33/026ac50a29a85d5d54dd7784a98d624f6142cb07ce185ed268ef9bd3b6dc/qpid-python-1.36.0-1.tar.gz|qpid-python-1.36.0-1|fix_setup +rcssmin-1.0.6-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e2/5f/852be8aa80d1c24de9b030cdb6532bc7e7a1c8461554f6edbe14335ba890/rcssmin-1.0.6.tar.gz|rcssmin-1.0.6|fix_setup +repoze.lru-0.7-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz|repoze.lru-0.7 +requests_aws-0.1.8-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/5e/2f/4da17752036c04cf4c9af7a2da0d41ef2205043f1c61008006475aa24b8b/requests-aws-0.1.8.tar.gz|requests-aws-0.1.8 +restructuredtext_lint-1.3.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/62/76/bd8760de759fb74d7863e6935200af101cb128a7de008741a4e22341d03c/restructuredtext_lint-1.3.0.tar.gz|restructuredtext_lint-1.3.0 +retrying-1.3.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/44/ef/beae4b4ef80902f22e3af073397f079c96969c69b2c7d52a57ea9ae61c9d/retrying-1.3.3.tar.gz|retrying-1.3.3 +rfc3986-1.4.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/78/be/7b8b99fd74ff5684225f50dd0e865393d2265656ef3b4ba9eaaaffe622b8/rfc3986-1.4.0-py2.py3-none-any.whl +rjsmin-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl|pypi|https://files.pythonhosted.org/packages/c3/8e/079b7cc3a0fc9934ab05d868a00183c7aafd90b5d6138313d98ac2b9f666/rjsmin-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl +rtslib_fb-2.1.69-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/fc/1a/77a26207bdad13cc39b93d874b3a1b04e5a0b0332fb716e4d654537bacdb/rtslib-fb-2.1.69.tar.gz|rtslib-fb-2.1.69 +scandir-1.10.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz|scandir-1.10.0 +scrypt-0.8.13-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/80/3d/141eb80e754b86f6c25a2ffaf6c3af3acdb65a3e3700829a05ab0c5d965d/scrypt-0.8.13.tar.gz|scrypt-0.8.13 +SecretStorage-2.3.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/a5/a5/0830cfe34a4cfd0d1c3c8b614ede1edb2aaf999091ac8548dd19cb352e79/SecretStorage-2.3.1.tar.gz|SecretStorage-2.3.1 +setproctitle-1.1.10-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz|setproctitle-1.1.10 +simplegeneric-0.8.1-py2-none-any.whl|zip|https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip|simplegeneric-0.8.1 +simplejson-3.16.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e3/24/c35fb1c1c315fc0fffe61ea00d3f88e85469004713dab488dee4f35b0aff/simplejson-3.16.0.tar.gz|simplejson-3.16.0 +skydive_client-0.5.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e4/68/78a246619d9b16bb226562c155f18f798283f86db8f01a89c30b97ac7a27/skydive-client-0.5.0.tar.gz|skydive-client-0.5.0 +smmap2-2.0.5-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/55/d2/866d45e3a121ee15a1dc013824d58072fd5c7799c9c34d01378eb262ca8f/smmap2-2.0.5-py2.py3-none-any.whl +sphinxcontrib_fulltoc-1.2.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8e/a6/d1297db9b75650681e5429e92e13df139ee6b64303ff1b2eea4ebd32c0a9/sphinxcontrib-fulltoc-1.2.0.tar.gz|sphinxcontrib-fulltoc-1.2.0 +sphinxcontrib_pecanwsme-0.10.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/75/2b/105d07f47485ecf774cd80b881c29e148182b72a3a60596abdd016c87fce/sphinxcontrib-pecanwsme-0.10.0.tar.gz|sphinxcontrib-pecanwsme-0.10.0 +SQLAlchemy-1.3.8-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/fc/49/82d64d705ced344ba458197dadab30cfa745f9650ee22260ac2b275d288c/SQLAlchemy-1.3.8.tar.gz|SQLAlchemy-1.3.8 +SQLAlchemy_Utils-0.34.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/45/61/3bdd2931e86253fa7df6445a26929fbcc9bc43ad6b27a10f991eb6ecde75/SQLAlchemy-Utils-0.34.2.tar.gz|SQLAlchemy-Utils-0.34.2 +stomp.py-4.1.22-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/52/7e/22ca617f61e0d5904e06c1ebd5d453adf30099526c0b64dca8d74fff0cad/stomp.py-4.1.22.tar.gz|stomp.py-4.1.22 +subprocess32-3.5.4-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz|subprocess32-3.5.4 +suds_jurko-0.6-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/bd/6f/54fbf0999a606680d27c69b1ad12dfff62768ecb9fe48524cebda6eb4423/suds-jurko-0.6.tar.bz2|suds-jurko-0.6 +systemd_python-234-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e8/a8/00ba0f605837a8f69523e6c3a4fb14675a6430c163f836540129c50b3aef/systemd-python-234.tar.gz|systemd-python-234|fix_setup +sysv_ipc-1.0.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/08/7d/a862f3045fa191eeece23650725273f2ccaf9ac6b95443dfe4cac6508638/sysv_ipc-1.0.0.tar.gz|sysv_ipc-1.0.0|fix_setup +Tempita-0.5.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz|Tempita-0.5.2 +termcolor-1.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz|termcolor-1.1.0|fix_setup +testrepository-0.0.20-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/85/f495b58b2b0ac907def07385219e9747b75840fa01280f228546a4a5ad7f/testrepository-0.0.20.tar.gz|testrepository-0.0.20 +thrift-0.11.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/c6/b4/510617906f8e0c5660e7d96fbc5585113f83ad547a3989b80297ac72a74c/thrift-0.11.0.tar.gz|thrift-0.11.0 +thriftpy-0.3.9-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/f4/19/cca118cf7d2087310dbc8bd70dc7df0c1320f2652873a93d06d7ba356d4a/thriftpy-0.3.9.tar.gz|thriftpy-0.3.9 +thriftpy2-0.4.8-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/2c/23/57b00b3d5d3d0ae66d79844a39d3c3b92dde3063c901036808602137d3ab/thriftpy2-0.4.8.tar.gz|thriftpy2-0.4.8 +tinyrpc-1.0.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/21/7a/ff1a74256e1bcc04fbaa414c13a2bb79a29ac9918b25f2238592b991e3bc/tinyrpc-1.0.3.tar.gz|tinyrpc-1.0.3 +tornado-4.5.3-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e3/7b/e29ab3d51c8df66922fea216e2bddfcb6430fb29620e5165b16a216e0d3c/tornado-4.5.3.tar.gz|tornado-4.5.3 +trollius-2.2.post1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/0b/31/356ae13ad4df58f963e9954d55118f6cffdb3a903c1547973ad7bc347fb9/trollius-2.2.post1.tar.gz|trollius-2.2.post1 +ujson-1.35-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/16/c4/79f3409bc710559015464e5f49b9879430d8f87498ecdc335899732e5377/ujson-1.35.tar.gz|ujson-1.35 +unicodecsv-0.14.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/6f/a4/691ab63b17505a26096608cc309960b5a6bdf39e4ba1a793d5f9b1a53270/unicodecsv-0.14.1.tar.gz|unicodecsv-0.14.1 +uWSGI-2.0.17.1-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a2/c9/a2d5737f63cd9df4317a4acc15d1ddf4952e28398601d8d7d706c16381e0/uwsgi-2.0.17.1.tar.gz|uwsgi-2.0.17.1 +voluptuous-0.11.7-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/24/3b/fe531688c0d9e057fccc0bc9430c0a3d4b90e0d2f015326e659c2944e328/voluptuous-0.11.7.tar.gz|voluptuous-0.11.7 +warlock-1.3.3-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/c2/36/178b26a338cd6d30523246da4721b1114306f588deb813f3f503052825ee/warlock-1.3.3.tar.gz|warlock-1.3.3 +weakrefmethod-1.0.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/99/82/73a21e3eab9a1ff76d12375f7301fba5c6325b9598eed0ae5b0cf5243656/weakrefmethod-1.0.3.tar.gz|weakrefmethod-1.0.3 +websockify-0.9.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/c4/5b/16ec1e9f4fc536846d95a01a77d97da12f8042ca5cf83cdf3dd0442e881c/websockify-0.9.0.tar.gz|websockify-0.9.0 +whereto-0.4.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/80/83/371a699ce90257608592dadca400a7ecd9a2db6137d78f6f433c7c5e3197/whereto-0.4.0.tar.gz|whereto-0.4.0 +wrapt-1.11.2-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/23/84/323c2415280bc4fc880ac5050dddfb3c8062c2552b34c2e512eb4aa68f79/wrapt-1.11.2.tar.gz|wrapt-1.11.2|fix_setup +ws4py-0.5.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz|ws4py-0.5.1 +WSME-0.9.3-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/d1/b6/8027248bfca3ce192bc54d46fcda4324c86c8beabe344cbb80fb57a6c868/WSME-0.9.3.tar.gz|WSME-0.9.3 +xattr-0.9.6-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/60/80/a1f35bfd3c7ffb78791b2a6a15c233584a102a20547fd96d48933ec453e7/xattr-0.9.6.tar.gz|xattr-0.9.6 +XStatic-1.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/36/78/c0ffaf14216517a14d3daa67ff24fbb60b4703e95ce1059a48fd508e6b8c/XStatic-1.0.2.tar.gz|XStatic-1.0.2 +XStatic_Angular_FileUpload-12.0.4.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/4d/fd/c3051915d2f12e8fa11f59c01162ce85e38eca15d9ec73a3d7b271b49744/XStatic-Angular-FileUpload-12.0.4.0.tar.gz|XStatic-Angular-FileUpload-12.0.4.0 +XStatic_Angular_lrdragndrop-1.0.2.4-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/80/ea/ffdde05892eabe468f22403f75299cf5d991f0af4f1400bebbf3af04bc9a/XStatic_Angular_lrdragndrop-1.0.2.4-py2.py3-none-any.whl +XStatic_Angular_Schema_Form-0.8.13.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/57/71/ceea2c0a72e2ee2d316d6ab1c06b21faa9f5cbc4b36a4127d7847b7079c5/XStatic-Angular-Schema-Form-0.8.13.0.tar.gz|XStatic-Angular-Schema-Form-0.8.13.0 +XStatic_Bootstrap_Datepicker-1.3.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/91/4f/832f14478e714815bb3d44d01dfe8dbe19ccf9f823e0bc7ac1a8cf7fa6b3/XStatic-Bootstrap-Datepicker-1.3.1.0.tar.gz|XStatic-Bootstrap-Datepicker-1.3.1.0 +XStatic_Hogan-2.0.0.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/21/fe/37d5c8247f24738e7e368d27ebf945de1ea29fbc3112ac5e75b1b7f1d0c9/XStatic-Hogan-2.0.0.2.tar.gz|XStatic-Hogan-2.0.0.2 +XStatic_Jasmine-2.4.1.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/05/43/ceac7def3b6eaf82b6f593e3db2b03a9693a7b002b569e664e382aecddbc/XStatic_Jasmine-2.4.1.2-py2.py3-none-any.whl +XStatic_jQuery-1.12.4.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/67/f1/c18c14fc4aab386e4aba587c5d10c268de222c75bf5e271b6f68a2ea6e77/XStatic-jQuery-1.12.4.1.tar.gz|XStatic-jQuery-1.12.4.1 +XStatic_JQuery_Migrate-1.2.1.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/7c/fc/edbfcb4574ec3cf0b68a0613dd1904c9139e3bf6dede792d2e7edcf13023/XStatic-JQuery-Migrate-1.2.1.1.tar.gz|XStatic-JQuery-Migrate-1.2.1.1 +XStatic_JQuery.quicksearch-2.0.3.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/ea/ab/f934d06a78ce2c6bb594e9a426f6966b3192c4c279467c9898be6fd284d3/XStatic-JQuery.quicksearch-2.0.3.1.tar.gz|XStatic-JQuery.quicksearch-2.0.3.1 +XStatic_JQuery.TableSorter-2.14.5.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/c1/6c/d6b0807906af90536e793a3b23cca557869fa5a27156639f0029de8b1f1f/XStatic-JQuery.TableSorter-2.14.5.1.tar.gz|XStatic-JQuery.TableSorter-2.14.5.1 +XStatic_jquery_ui-1.12.1.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/e6/5a/883b22dad1d3e01708312d71c5bc63d543d66cef9b448c1cf85379d64fb3/XStatic-jquery-ui-1.12.1.1.tar.gz|XStatic-jquery-ui-1.12.1.1 +XStatic_mdi-1.6.50.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/73/49/13b9f7ce9fbcc7fabe086b7ac1b056118cbd4c9abf185e01cc4a54631136/XStatic_mdi-1.6.50.2-py2.py3-none-any.whl +XStatic_objectpath-1.2.1.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/23/6c/56de25d9d3be430e7de2fcf4baac10279dad78d7b16cbda339cf014c2fe5/XStatic-objectpath-1.2.1.0.tar.gz|XStatic-objectpath-1.2.1.0 +XStatic_Rickshaw-1.5.0.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/45/c6/39aa4d02ea96b04ff372d1e3558587155790b1c5444855a97b89c255be38/XStatic-Rickshaw-1.5.0.0.tar.gz|XStatic-Rickshaw-1.5.0.0 +XStatic_Spin-1.2.5.2-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/af/21/cca7f0b7abfe008cdd03dd4c4255aad3087f4a892a010c0f6f1452d7344b/XStatic-Spin-1.2.5.2.tar.gz|XStatic-Spin-1.2.5.2 +XStatic_term.js-0.0.7.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/63/7a/7bfec29f5f28fdda7170ebbbb2204aeb1d33d6050f3476a807590de06434/XStatic-term.js-0.0.7.0.tar.gz|XStatic-term.js-0.0.7.0 +XStatic_tv4-1.2.7.0-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/2b/26/b07115af27b339c861b8c9a775a621524b421c898e26e015880dfb888c49/XStatic-tv4-1.2.7.0.tar.gz|XStatic-tv4-1.2.7.0 +xvfbwrapper-0.2.9-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/57/b6/4920eabda9b49630dea58745e79f9919aba6408d460afe758bf6e9b21a04/xvfbwrapper-0.2.9.tar.gz|xvfbwrapper-0.2.9 +yappi-1.0-cp27-cp27mu-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/d2/92/7cd637a19fa2a10c0e55a44f8b36bcb83f0e1943ba8f1fb5edb15c819f2e/yappi-1.0.tar.gz|yappi-1.0 +zVMCloudConnector-1.4.1-py2-none-any.whl|tar|https://files.pythonhosted.org/packages/11/92/9f704de9759816e7b9897b9fb41285b421498b4642551b6fbcccd2850008/zVMCloudConnector-1.4.1.tar.gz|zVMCloudConnector-1.4.1 diff --git a/build-tools/build-wheels/debian-trixie/stable-wheels.cfg b/build-tools/build-wheels/debian-trixie/stable-wheels.cfg new file mode 100644 index 00000000..1d20aa91 --- /dev/null +++ b/build-tools/build-wheels/debian-trixie/stable-wheels.cfg @@ -0,0 +1,205 @@ + +# +# 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 +# +# See doc/wheels-cfg.md for more info. +# +abclient-0.2.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/49/eb/091b02c1e36d68927adfb746706e2c80f7e7bfb3f16e3cbcfec2632118ab/abclient-0.2.3.tar.gz|abclient-0.2.3 +alembic-1.9.4-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/4d/fc/d63e1d08acba9796f4db62dbe7c3f755e5fd033274198c65c111d47bd942/alembic-1.9.4-py3-none-any.whl +alembic-1.4.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/60/1e/cabc75a189de0fbb2841d0975243e59bde8b7822bacbb95008ac6fe9ad47/alembic-1.4.2.tar.gz|alembic-1.4.2 +amqplib-1.0.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/75/b7/8c2429bf8d92354a0118614f9a4d15e53bc69ebedce534284111de5a0102/amqplib-1.0.2.tgz|amqplib-1.0.2 +anyjson-0.3.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/c3/4d/d4089e1a3dd25b46bebdb55a992b0797cff657b4477bc32ce28038fdecbc/anyjson-0.3.3.tar.gz|anyjson-0.3.3 +backports.ssl_match_hostname-3.7.0.1-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ff/2b/8265224812912bc5b7a607c44bf7b027554e1b9775e9ee0de8032e3de4b2/backports.ssl_match_hostname-3.7.0.1.tar.gz|backports.ssl_match_hostname-3.7.0.1|fix_setup +bindep-2.10.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/28/05/cd85dca3800d7aa002ef733aad55c367ea2bbd79a10d98fe50a556c85c3b/bindep-2.10.2-py2.py3-none-any.whl +bottle-0.12.18-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e9/39/2bf3a1fd963e749cdbe5036a184eda8c37d8af25d1297d94b8b7aeec17c4/bottle-0.12.18-py3-none-any.whl +cassandra_driver-3.23.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/90/d7/d68083117bf50941870a795150f3261c5270e74c2d57ca3af0bd8423ed74/cassandra-driver-3.23.0.tar.gz|cassandra-driver-3.23.0 +certifi-2023.7.22-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl +cffi-1.14.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz|cffi-1.14.0 +cmd2-2.4.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/5c/21/80227985a8f4b66b5cb90cda0384841b475f507667e0e204f481a59f3038/cmd2-2.4.2-py3-none-any.whl +construct-2.8.22-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e5/c6/3e3aeef38bb0c27364af3d21493d9690c7c3925f298559bca3c48b7c9419/construct-2.8.22.tar.gz|construct-2.8.22 +crc16-0.1.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a6/e0/70a44c4385f2b33df82e518005aae16b5c1feaf082c73c0acebe3426fc0a/crc16-0.1.1.tar.gz|crc16-0.1.1|fix_setup +cryptography-44.0.1-cp39-abi3-manylinux_2_28_x86_64.whl|pypi|https://files.pythonhosted.org/packages/e1/e7/cfb18011821cc5f9b21efb3f94f3241e3a658d267a3bf3a0f45543858ed8/cryptography-44.0.1-cp39-abi3-manylinux_2_28_x86_64.whl +croniter-0.3.30-py2.py3-none-any.whl|whl|https://files.pythonhosted.org/packages/c8/4c/04dea44f87b963d5c3f2bbc391e6c69d0a14aa896e35590be56213a04e4f/croniter-0.3.30-py2.py3-none-any.whl +demjson-2.2.4-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/96/67/6db789e2533158963d4af689f961b644ddd9200615b8ce92d6cad695c65a/demjson-2.2.4.tar.gz|demjson-2.2.4|fix_setup +django-4.2.23-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/cb/44/314e8e4612bd122dd0424c88b44730af68eafbee88cc887a86586b7a1f2a/django-4.2.23-py3-none-any.whl +django_debreach-2.0.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/2a/92/8c363cf5d1ee33d4c3b999b41c127c5cd3c64d4c20aa47bdfb6c386c9309/django_debreach-2.0.1-py3-none-any.whl +django_floppyforms-1.8.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a9/d2/498b883ac309b56b70c26877974bd50927615dd3f6433f5463e2668b1128/django_floppyforms-1.8.0-py2.py3-none-any.whl +django_pyscss-2.0.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/fc/71/75737fc65a3563ead1fb60ccad5459cf2342f2fc009006294e8f78d04c1e/django-pyscss-2.0.3.tar.gz|django-pyscss-2.0.3 +docopt-0.6.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz|docopt-0.6.2 +dogpile.cache-1.1.5-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/4e/52/20f751a3b46add7691d442654aa84fc088f14270269dcb6dfc50c7c83e55/dogpile.cache-1.1.5-py3-none-any.whl +enum_compat-0.0.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/55/ae/467bc4509246283bb59746e21a1a2f5a8aecbef56b1fa6eaca78cd438c8b/enum_compat-0.0.3-py3-none-any.whl +etcd3-0.10.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/09/f1/93603a26daf7a993a0acbbcfd32afce8b2fdf30a765d5651571ab635969b/etcd3-0.10.0.tar.gz|etcd3-0.10.0 +exabgp-4.2.6-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/b6/36/7270c8e4b5b0ddba79301f5bbf206ce4b76247957169162b428e2695efa9/exabgp-4.2.6.tar.gz|exabgp-4.2.6 +fixtures-4.0.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/3c/3d/f106b3278ba50067e9cd397f836d33d141aa790853152dbb3512aaee19f3/fixtures-4.0.1.tar.gz|fixtures-4.0.1 +flask_keystone-0.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/1f/ca/3938de8c5f4a3d1c5dd4278bedb9d31d79816feba4d088293c620a366fb1/flask_keystone-0.2.tar.gz|flask_keystone-0.2 +flask_oslolog-0.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a7/62/fec02ce761b548b1289680bb1be1aa0bce2b2c4017d5b31bd6c67c78aef9/flask_oslolog-0.1.tar.gz|flask_oslolog-0.1 +fortiosclient-0.0.3-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e9/aa/b2c0705d5e52c8d9af35422d940800b49c562758fbdad3179a6fbf6e92f5/fortiosclient-0.0.3.tar.gz|fortiosclient-0.0.3 +frozendict-1.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/4e/55/a12ded2c426a4d2bee73f88304c9c08ebbdbadb82569ebdd6a0c007cfd08/frozendict-1.2.tar.gz|frozendict-1.2 +future-0.18.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz|future-0.18.2 +googleapis_common_protos-1.56.4-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e2/fd/d9efa2085bd762fba3a637eb3e36d76d72eb6e083d170aeaca65a75f1f9c/googleapis_common_protos-1.56.4-py2.py3-none-any.whl +greenlet-0.4.16-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/20/5e/b989a19f4597b825f44125345cd8a8574216fae7fafe69e2cb1238ebd18a/greenlet-0.4.16.tar.gz|greenlet-0.4.16 +greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl|pypi|https://files.pythonhosted.org/packages/af/05/b7e068070a6c143f34dfcd7e9144684271b8067e310f6da68269580db1d8/greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl +happybase-1.2.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/d1/9c/f5f7bdb5439cda2b7da4e20ac24ec0e2455fd68aade8397f211d2994c39d/happybase-1.2.0.tar.gz|happybase-1.2.0 +hiredis-1.0.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/7f/5c/62e5c6b811b4dcef4125b4a01f76db82c496d79299dd67053b8f9c0732c0/hiredis-1.0.1.tar.gz|hiredis-1.0.1 +httplib2-0.22.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl +ifaddr-0.1.7-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/92/0f/a577a724c03982b800232713874e805c8fcc14f4a2c3060902ed20b50da8/ifaddr-0.1.7-py2.py3-none-any.whl +isort-4.2.5-py2.py3-none-any.whl|whl|https://files.pythonhosted.org/packages/c3/0d/917971944e7da7f659e11efe7abf649f0e46c2d45edba2f6d9584ba15374/isort-4.2.5-py2.py3-none-any.whl +itsdangerous-2.1.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/68/5f/447e04e828f47465eeab35b5d408b7ebaaaee207f48b7136c5a7267a30ae/itsdangerous-2.1.2-py3-none-any.whl +jaeger_client-4.3.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/2b/75/17a937a61135671cebc175ab5c299dc0f7477042469482fd9a6f91262c68/jaeger-client-4.3.0.tar.gz|jaeger-client-4.3.0 +jsonpath_rw-1.4.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/71/7c/45001b1f19af8c4478489fbae4fc657b21c4c669d7a5a036a86882581d85/jsonpath-rw-1.4.0.tar.gz|jsonpath-rw-1.4.0 +jsonpointer-2.3-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a3/be/8dc9d31b50e38172c8020c40f497ce8debdb721545ddb9fcb7cca89ea9e6/jsonpointer-2.3-py2.py3-none-any.whl +krest-1.3.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/fb/d2/9dbbd3a76f2385041720a0eb51ddab676e688fa8bee8a1489470839616cf/krest-1.3.1.tar.gz|krest-1.3.1 +libvirt_python-8.0.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9a/b5/0de1c04e45f082390d2adefde09fc851857a255a6e86ad7e9edf5e385bf7/libvirt-python-8.0.0.tar.gz|libvirt-python-8.0.0|fix_setup +logutils-0.3.5-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/49/b2/b57450889bf73da26027f8b995fd5fbfab258ec24ef967e4c1892f7cb121/logutils-0.3.5.tar.gz|logutils-0.3.5|fix_setup +lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl|pypi|https://files.pythonhosted.org/packages/1b/ea/50d8357ed72f6c8352fe08657a9b05d672a4ab2470b9447fd73d87f0d47a/lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl +lz4-0.9.0-cp39-cp39-linux_x86_64.whl|git|https://github.com/python-lz4/python-lz4|python-lz4|v0.9.0 +Mako-1.1.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/50/78/f6ade1e18aebda570eed33b7c534378d9659351cadce2fcbc7b31be5f615/Mako-1.1.2-py2.py3-none-any.whl +marathon-0.12.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/41/66/814432693297dfb076958ae5ac781e3a88fd70d335473a57f4f2c6329515/marathon-0.12.0-py2.py3-none-any.whl +MarkupSafe-2.0.0-cp39-cp39-manylinux2014_aarch64.whlpypi|https://files.pythonhosted.org/packages/f7/7b/a3db1f425cb067b3aae7b14048540082c8cb9a51c4d389261e44f0f6e8e8/MarkupSafe-2.0.0-cp39-cp39-manylinux2014_aarch64.whl +migrate-0.3.8-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ce/31/1a4cbf8dc0536c55f41072e8ea37b3df1e412262dc731c57e5bb099eb9b2/migrate-0.3.8.tar.gz|migrate-0.3.8 +mox-0.5.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/a1/64740c638cc5fae807022368f4141700518ee343b53eb3e90bf3cc15a4d4/mox-0.5.3.tar.gz|mox-0.5.3|fix_setup +mpmath-1.1.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ca/63/3384ebb3b51af9610086b23ea976e6d27d6d97bf140a76a365bd77a3eb32/mpmath-1.1.0.tar.gz|mpmath-1.1.0|fix_setup +msgpack-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl|pypi|https://files.pythonhosted.org/packages/5f/02/03e2d072744a29af7c5bc17d37f55446965205d80c61f0e6590ad2b2bb34/msgpack-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl +munch-2.5.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/cc/ab/85d8da5c9a45e072301beb37ad7f833cd344e04c817d97e0cc75681d248f/munch-2.5.0-py2.py3-none-any.whl +ncclient-0.6.13-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ee/6f/ef2796c82d097dbead1b804db8457fc8fdc244e3d6860eb0a702315dbf67/ncclient-0.6.13.tar.gz|ncclient-0.6.13 +ndg_httpsclient-0.5.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/fb/67/c2f508c00ed2a6911541494504b7cac16fe0b0473912568df65fd1801132/ndg_httpsclient-0.5.1-py3-none-any.whl +netaddr-0.7.20-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f4/7a/d514cd5ab61bfc9d09d0c2bd52a2336134515cc3c9949b9054dfc1c2f7ac/netaddr-0.7.20-py2.py3-none-any.whl +netifaces-0.10.9-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/0d/18/fd6e9c71a35b67a73160ec80a49da63d1eed2d2055054cc2995714949132/netifaces-0.10.9.tar.gz|netifaces-0.10.9 +networking_sfc-8.0.0.0b2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6a/a8/0e9bdd1f87dfb50682f23a01f590530ec8fa715e51127cf9f58d1905886c/networking_sfc-8.0.0.0b2-py2.py3-none-any.whl +networkx-2.8.7-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/d0/00/1713dd6735d5a646cabdd99ff750e969795134d7d33f462ad71dfd07fa76/networkx-2.8.7-py3-none-any.whl +neutron_lib-3.11.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/03/7f/d94a986879d7cc8dbfe2ab072645d5c8d91a927729be0707de654b682601/neutron_lib-3.11.1-py3-none-any.whl +nodeenv-1.3.5-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/08/43/86ff33286c83f7b5e8903c32db01fe122c5e8a9d8dc1067dcaa9be54a033/nodeenv-1.3.5-py2.py3-none-any.whl +nose_exclude-0.5.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/63/cf/90c4be56bf11b7bc8801086d9445baf731aa36b8e8fc5791731e8e604dcd/nose-exclude-0.5.0.tar.gz|nose-exclude-0.5.0 +nosehtmloutput-0.0.7-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e0/5d/2bb521a8ccb0222bd94ed557645955d95ba6798df6b3b4bdc2c31dec4f7c/nosehtmloutput-0.0.7-py2.py3-none-any.whl +openshift-0.8.6-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/73/ed/c92c0ba23b6c4c8e5542151a1b89cb8ff01f68a72fe68f6c95a28d885ebe/openshift-0.8.6.tar.gz|openshift-0.8.6 +openstack.nose_plugin-0.11-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/bc/83/e7c9b9297e1a501d2c2617f98d6176199570e8ee32f0e72669c8852c6c81/openstack.nose_plugin-0.11.tar.gz|openstack.nose_plugin-0.11 +opentracing-2.3.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e4/a8/df5285f42cd07782409d0ae835785fae6e2a0f7e8b0036ea302f1422fd25/opentracing-2.3.0.tar.gz|opentracing-2.3.0 +oslo.context-5.1.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/7f/69/3a16785c49890cce2f7f14ee6525c76e7116f9dad44f122f5e3670e43970/oslo.context-5.1.1-py3-none-any.whl +oslo.db-12.3.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/b4/45/eaabc90bfc62ef41af24b869dee0e556624bfe6211da1e5653015c8a9cc4/oslo.db-12.3.1-py3-none-any.whl +oslo.messaging-14.3.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/43/43/1e7d2a77c61be77bd4902d55bdf1b8b7d028a4b2b8f8ec53e3da9bc22043/oslo.messaging-14.3.1-py3-none-any.whl +ovs-3.1.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/52/a2/3a8e6c21e926560599018a4a3d721f17bf4c01705a9d75365952098ce3f6/ovs-3.1.2.tar.gz|ovs-3.1.2 +panko-5.0.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a9/89/d666e0889d869e41c9b7f87a0a34858b2520782b82e025da84c98e0db8f6/panko-5.0.0.tar.gz|panko-5.0.0 +Paste-3.4.3-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/ae/90/88817bf8b1b80ba3e9ffdb3058980f5265fa5631dfeb7ad7a3815f5c8765/Paste-3.4.3-py2.py3-none-any.whl +pathlib-1.0.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ac/aa/9b065a76b9af472437a0059f77e8f962fe350438b927cb80184c32f075eb/pathlib-1.0.1.tar.gz|pathlib-1.0.1|fix_setup +pecan-1.3.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/93/98/889d7615595e894f4f7e4c17d4008c822c8e39e650c8ab390cc6c39b99c4/pecan-1.3.3.tar.gz|pecan-1.3.3 +pecan-1.4.0-py3-none-any.whl |tar|https://files.pythonhosted.org/packages/4d/8e/da71e4e23b720805106b58e0351dcd75d8ffc7c7ac3ad2961b20b98a44a7/pecan-1.4.0.tar.gz|pecan-1.4.0 +pifpaf-2.4.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/66/12/ed1533c0b31647ea9fb879b5ad239336ad98628227d0b90d3c7157ffb3fb/pifpaf-2.4.0-py2.py3-none-any.whl +pika_pool-0.1.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/ec/48/50c8f02a3eef4cb824bec50661ec1713040402cc1b2a38954dc977a59c23/pika-pool-0.1.3.tar.gz|pika-pool-0.1.3 +Pint-0.9-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/15/9d/bf177ebbc57d25e9e296addc14a1303d1e34d7964af5df428a8332349c42/Pint-0.9-py2.py3-none-any.whl +ply-3.11-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl +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 +prettytable-0.7.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e0/a1/36203205f77ccf98f3c6cf17cf068c972e6458d7e58509ca66da949ca347/prettytable-0.7.2.tar.gz|prettytable-0.7.2 +proboscis-1.2.6.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/3c/c8/c187818ab8d0faecdc3c16c1e0b2e522f3b38570f0fb91dcae21662019d0/proboscis-1.2.6.0.tar.gz|proboscis-1.2.6.0 +prometheus_client-0.20.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/c7/98/745b810d822103adca2df8decd4c0bbe839ba7ad3511af3f0d09692fc0f0/prometheus_client-0.20.0-py3-none-any.whl +psutil-5.9.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl|pypi|https://files.pythonhosted.org/packages/4c/85/7a112fb6a8c598a6f5d079228bbc03ae84c472397be79c075e7514b6ed36/psutil-5.9.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl +psycopg2-2.8.5-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a8/8f/1c5690eebf148d1d1554fc00ccf9101e134636553dbb75bdfef4f85d7647/psycopg2-2.8.5.tar.gz|psycopg2-2.8.5 +PuLP-2.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/41/34/757c88c320f80ce602199603afe63aed1e0bc11180b9a9fb6018fb2ce7ef/PuLP-2.1-py3-none-any.whl +pycparser-2.20-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl +pycrypto-2.6.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz|pycrypto-2.6.1|fix_setup +pycryptodomex-3.9.7-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/7f/3c/80cfaec41c3a9d0f524fe29bca9ab22d02ac84b5bfd6e22ade97d405bdba/pycryptodomex-3.9.7.tar.gz|pycryptodomex-3.9.7 +pydot-1.4.1-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/33/d1/b1479a770f66d962f545c2101630ce1d5592d90cb4f083d38862e93d16d2/pydot-1.4.1-py2.py3-none-any.whl +pydotplus-2.0.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/60/bf/62567830b700d9f6930e9ab6831d6ba256f7b0b730acb37278b0ccdffacf/pydotplus-2.0.2.tar.gz|pydotplus-2.0.2 +pyeclib-1.6.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/aa/d6/ca6bba5e66fc7a9810a995b17a3675492da2bec405806d8ac3db18cfd93b/pyeclib-1.6.0.tar.gz|pyeclib-1.6.0|fix_setup +pyinotify-0.9.6-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e3/c0/fd5b18dde17c1249658521f69598f3252f11d9d7a980c5be8619970646e1/pyinotify-0.9.6.tar.gz|pyinotify-0.9.6 +pykerberos-1.2.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9a/b8/1ec56b6fa8a2e2a81420bd3d90e70b59fc83f6b857fb2c2c37accddc8be3/pykerberos-1.2.1.tar.gz|pykerberos-1.2.1 +PyKMIP-0.10.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/f8/3e/e343bb9c2feb2a793affd052cb0da62326a021457a07d59251f771b523e7/PyKMIP-0.10.0.tar.gz|PyKMIP-0.10.0 +pylint-2.10.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6d/33/5744d1b2d1191cd036c201934a1a517644d805a82cd50fab060b3c379c84/pylint-2.10.2-py3-none-any.whl +pylxd-2.2.10-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/49/9a/eba58646721ffbff40dc41571b13c9528fdc4e26a82252318c997cdbe26a/pylxd-2.2.10.tar.gz|pylxd-2.2.10 +pyngus-2.3.0-py3-none-any.whl|zip|https://files.pythonhosted.org/packages/58/b1/336b8f64e7e4efa9b95027af71e02cd4cfacca8f919345badb852381878a/pyngus-2.3.0.zip|pyngus-2.3.0 +pyopenssl-25.1.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/80/28/2659c02301b9500751f8d42f9a6632e1508aa5120de5e43042b8b30f8d5d/pyopenssl-25.1.0-py3-none-any.whl +pyparsing-2.4.7-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/8a/bb/488841f56197b13700afd5658fc279a2025a39e22449b7cf29864669b15d/pyparsing-2.4.7-py2.py3-none-any.whl +pyperclip-1.8.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/f6/5b/55866e1cde0f86f5eec59dab5de8a66628cb0d53da74b8dbc15ad8dabda3/pyperclip-1.8.0.tar.gz|pyperclip-1.8.0 +pyroute2-0.7.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/d7/4d/7c94b84936002d30dc7908d832955af074099c3d2c0cbfd818b89c618432/pyroute2-0.7.3-py3-none-any.whl +pyrsistent-0.16.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9f/0d/cbca4d0bbc5671822a59f270e4ce3f2195f8a899c97d0d5abb81b191efb5/pyrsistent-0.16.0.tar.gz|pyrsistent-0.16.0 +pyScss-1.4.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/92/30/64c818fd317e03138f98ca67800edb6a916f59fc07b3d7e535e84c3c333a/pyScss-1.4.0.tar.gz|pyScss-1.4.0 +pysendfile-2.0.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/cd/3f/4aa268afd0252f06b3b487c296a066a01ddd4222a46b7a3748599c8fc8c3/pysendfile-2.0.1.tar.gz|pysendfile-2.0.1 +pystache-0.5.4-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/d6/fd/eb8c212053addd941cc90baac307c00ac246ac3fce7166b86434c6eae963/pystache-0.5.4.tar.gz|pystache-0.5.4 +python_cinderclient-9.3.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/13/d1/97db2000211326c4e28ffdd1c15e0a0cf3b6ababa7d75a6fcee5333f70b6/python_cinderclient-9.3.0-py3-none-any.whl +python_consul-1.1.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/3f/d0/59bc5f1c6c4d4b498c41d8ce7052ee9e9d68be19e16038a55252018a6c4d/python_consul-1.1.0-py2.py3-none-any.whl +python_editor-1.0.4-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/c6/d3/201fc3abe391bbae6606e6f1d598c15d367033332bd54352b12f35513717/python_editor-1.0.4-py3-none-any.whl +python_etcd-0.4.5-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/a1/da/616a4d073642da5dd432e5289b7c1cb0963cc5dde23d1ecb8d726821ab41/python-etcd-0.4.5.tar.gz|python-etcd-0.4.5 +python_json_logger-0.1.11-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/80/9d/1c3393a6067716e04e6fcef95104c8426d262b4adaf18d7aa2470eab028d/python-json-logger-0.1.11.tar.gz|python-json-logger-0.1.11 +python_ldap-3.2.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/ea/93/596f875e003c770447f4b99267820a0c769dd2dc3ae3ed19afe460fcbad0/python-ldap-3.2.0.tar.gz|python-ldap-3.2.0 +python_memcached-1.59-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f5/90/19d3908048f70c120ec66a39e61b92c253e834e6e895cd104ce5e46cbe53/python_memcached-1.59-py2.py3-none-any.whl +python_pcre-0.7-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/9d/af/61435bd163f01fe3709fca9b1f79e4978d8089ee671d2e004fc85e10de29/python-pcre-0.7.tar.gz|python-pcre-0.7|fix_setup +python_pytun-2.3.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/52/a4/a062106c739eac79c8160fcf5779ebc84afc1c38b016ab216ed1e6da69b6/python-pytun-2.3.0.tar.gz|python-pytun-2.3.0|fix_setup +python_string_utils-0.6.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/5d/13/216f2d4a71307f5a4e5782f1f59e6e8e5d6d6c00eaadf9f92aeccfbb900c/python-string-utils-0.6.0.tar.gz|python-string-utils-0.6.0|fix_setup +pyudev-0.22.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/72/c8/4660d815a79b1d42c409012aaa10ebd6b07a47529b4cb6880f27a24bd646/pyudev-0.22.0.tar.gz|pyudev-0.22.0 +PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl|pypi|https://files.pythonhosted.org/packages/56/8f/e8b49ad21d26111493dc2d5cae4d7efbd0e2e065440665f5023515f87f64/PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl +pyzabbix-0.7.5-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/11/ad/24e19d0cf16d05b7ee19f337f02058ee9b760649171865469ccceef83027/pyzabbix-0.7.5.tar.gz|pyzabbix-0.7.5 +rcssmin-1.1.1-cp311-cp311-manylinux2014_aarch64.whl|pypi|https://files.pythonhosted.org/packages/49/da/fa5dbed1abbe01a592ae66a0d317552e671cfb12f4ad3f58687ca1d9c9b2/rcssmin-1.1.1-cp311-cp311-manylinux2014_aarch64.whl +repoze.lru-0.7-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz|repoze.lru-0.7 +requests_aws-0.1.8-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/5e/2f/4da17752036c04cf4c9af7a2da0d41ef2205043f1c61008006475aa24b8b/requests-aws-0.1.8.tar.gz|requests-aws-0.1.8 +restructuredtext_lint-1.3.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/62/76/bd8760de759fb74d7863e6935200af101cb128a7de008741a4e22341d03c/restructuredtext_lint-1.3.0.tar.gz|restructuredtext_lint-1.3.0 +retrying-1.3.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/44/ef/beae4b4ef80902f22e3af073397f079c96969c69b2c7d52a57ea9ae61c9d/retrying-1.3.3.tar.gz|retrying-1.3.3 +rfc3986-1.4.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/78/be/7b8b99fd74ff5684225f50dd0e865393d2265656ef3b4ba9eaaaffe622b8/rfc3986-1.4.0-py2.py3-none-any.whl +rtslib_fb-2.1.75-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/bd/a1/9caad7d69fcb4c97073f3a7ddf945a844923eaf27514bea16f176495bff2/rtslib-fb-2.1.75.tar.gz|rtslib-fb-2.1.75 +scandir-1.10.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz|scandir-1.10.0 +scapy-2.4.4-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/c6/8f/438d4d0bab4c8e22906a7401dd082b4c0f914daf2bbdc7e7e8390d81a5c3/scapy-2.4.4.tar.gz|scapy-2.4.4 +scrypt-0.8.13-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/80/3d/141eb80e754b86f6c25a2ffaf6c3af3acdb65a3e3700829a05ab0c5d965d/scrypt-0.8.13.tar.gz|scrypt-0.8.13 +SecretStorage-3.3.1-py3-none-any.whl|whl|https://files.pythonhosted.org/packages/d9/1e/29cd69fdac7391aa51510dfd42aa70b4e6a826c8cd019ee2a8ab9ec0777f/SecretStorage-3.3.1-py3-none-any.whl +setproctitle-1.1.10-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz|setproctitle-1.1.10 +sh-1.14.2-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/80/39/ed280d183c322453e276a518605b2435f682342f2c3bcf63228404d36375/sh-1.14.2.tar.gz|sh-1.14.2 +simplegeneric-0.8.1-py3-none-any.whl|zip|https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip|simplegeneric-0.8.1 +simplejson-3.17.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/98/87/a7b98aa9256c8843f92878966dc3d8d914c14aad97e2c5ce4798d5743e07/simplejson-3.17.0.tar.gz|simplejson-3.17.0 +skydive_client-0.7.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/98/86/62925511c6282add4e339639fc5a9e22fd0dc95783b7627fd56bf45a32bf/skydive_client-0.7.0-py3-none-any.whl +smmap-3.0.4-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/b0/9a/4d409a6234eb940e6a78dfdfc66156e7522262f5f2fecca07dc55915952d/smmap-3.0.4-py2.py3-none-any.whl +sphinxcontrib_fulltoc-1.2.0-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8e/a6/d1297db9b75650681e5429e92e13df139ee6b64303ff1b2eea4ebd32c0a9/sphinxcontrib-fulltoc-1.2.0.tar.gz|sphinxcontrib-fulltoc-1.2.0 +sphinxcontrib_pecanwsme-0.10.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/75/2b/105d07f47485ecf774cd80b881c29e148182b72a3a60596abdd016c87fce/sphinxcontrib-pecanwsme-0.10.0.tar.gz|sphinxcontrib-pecanwsme-0.10.0 +SQLAlchemy-1.4.0-cp39-cp39-manylinux2014_x86_64.whl|whl|https://files.pythonhosted.org/packages/18/6b/82d972aa48bc6f56c049215b0cbe98ac96cec91f05c6686bb18dd1efe4b6/SQLAlchemy-1.4.0-cp39-cp39-manylinux2014_x86_64.whl +SQLAlchemy_Utils-0.36.3-py2.py3-none-any.whl|tar|https://files.pythonhosted.org/packages/aa/24/68937e9b5c757f62795467e2f02a8f463a3a1fd3d08bd32a6b0583ba3dbf/SQLAlchemy-Utils-0.36.3.tar.gz|SQLAlchemy-Utils-0.36.3 +stomp.py-6.0.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/d7/a0/a67e46ec1e63f2e78497e7331092eeb2ce4b69738d80a8210122e7a000a9/stomp.py-6.0.0-py3-none-any.whl +subprocess32-3.5.4-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz|subprocess32-3.5.4 +suds_jurko-0.6-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/bd/6f/54fbf0999a606680d27c69b1ad12dfff62768ecb9fe48524cebda6eb4423/suds-jurko-0.6.tar.bz2|suds-jurko-0.6 +systemd_python-234-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/e8/a8/00ba0f605837a8f69523e6c3a4fb14675a6430c163f836540129c50b3aef/systemd-python-234.tar.gz|systemd-python-234|fix_setup +sysv_ipc-1.0.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/57/8a/9bbb064566320cd66c6e32c35db76d43932d7b94348f0c4c1e74d03ec261/sysv_ipc-1.0.1.tar.gz|sysv_ipc-1.0.1|fix_setup +tabulate-0.8.7-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/c4/f4/770ae9385990f5a19a91431163d262182d3203662ea2b5739d0fcfc080f1/tabulate-0.8.7-py3-none-any.whl +tempest-24.0.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/f0/eb/d3fb2cdb72c20caa7a4e0af2c60176ce82e120e99ce7e5a62a386faae89c/tempest-24.0.0-py3-none-any.whl +Tempita-0.5.2-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz|Tempita-0.5.2 +termcolor-1.1.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz|termcolor-1.1.0|fix_setup +testrepository-0.0.20-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/0c/85/f495b58b2b0ac907def07385219e9747b75840fa01280f228546a4a5ad7f/testrepository-0.0.20.tar.gz|testrepository-0.0.20 +thrift-0.13.0-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/97/1e/3284d19d7be99305eda145b8aa46b0c33244e4a496ec66440dac19f8274d/thrift-0.13.0.tar.gz|thrift-0.13.0 +thriftpy2-0.4.11-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a9/f0/9bf08e6b5983aa6a6103818da21eadfaea1ad99ec9882be3e75a30e8e9ff/thriftpy2-0.4.11.tar.gz|thriftpy2-0.4.11 +tinyrpc-1.0.4-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/9d/91/c639ba014aada92446516c5fc4b04f2cee3539ab2d0758a6a87a6da973cb/tinyrpc-1.0.4.tar.gz|tinyrpc-1.0.4 +tornado-6.0.4-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/95/84/119a46d494f008969bf0c775cb2c6b3579d3c4cc1bb1b41a022aa93ee242/tornado-6.0.4.tar.gz|tornado-6.0.4 +trollius-2.2.post1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/0b/31/356ae13ad4df58f963e9954d55118f6cffdb3a903c1547973ad7bc347fb9/trollius-2.2.post1.tar.gz|trollius-2.2.post1 +ujson-2.0.3-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/50/d7/dce3fc97329639bba9c8b3cdadaa51ae2757c9402d4b43ac5feb8b624792/ujson-2.0.3.tar.gz|ujson-2.0.3 +unicodecsv-0.14.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/6f/a4/691ab63b17505a26096608cc309960b5a6bdf39e4ba1a793d5f9b1a53270/unicodecsv-0.14.1.tar.gz|unicodecsv-0.14.1 +uWSGI-2.0.22-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/a7/4e/c4d5559b3504bb65175a759392b03cac04b8771e9a9b14811adf1151f02f/uwsgi-2.0.22.tar.gz|uwsgi-2.0.22 +voluptuous-0.11.7-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/24/3b/fe531688c0d9e057fccc0bc9430c0a3d4b90e0d2f015326e659c2944e328/voluptuous-0.11.7.tar.gz|voluptuous-0.11.7 +warlock-2.0.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a6/e1/aa7cbdb16396c1d6a734dd22b4436319daa0e4d203218f0b11cb20f37374/warlock-2.0.1-py3-none-any.whl +weakrefmethod-1.0.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/99/82/73a21e3eab9a1ff76d12375f7301fba5c6325b9598eed0ae5b0cf5243656/weakrefmethod-1.0.3.tar.gz|weakrefmethod-1.0.3 +websockify-0.9.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/c4/5b/16ec1e9f4fc536846d95a01a77d97da12f8042ca5cf83cdf3dd0442e881c/websockify-0.9.0.tar.gz|websockify-0.9.0 +whereto-0.4.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/80/83/371a699ce90257608592dadca400a7ecd9a2db6137d78f6f433c7c5e3197/whereto-0.4.0.tar.gz|whereto-0.4.0 +wrapt-1.12.1-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/82/f7/e43cefbe88c5fd371f4cf0cf5eb3feccd07515af9fd6cf7dbf1d1793a797/wrapt-1.12.1.tar.gz|wrapt-1.12.1|fix_setup +ws4py-0.5.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz|ws4py-0.5.1 +WSME-0.10.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/e6/79/8aca55e7f3f21549dba59c276fc990b8d9bbde071fb17e1a968254d1df36/WSME-0.10.0-py3-none-any.whl +xattr-0.9.7-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/c1/74/1ff659d6deb1d2d6babb9483171edfa330264ae2cbf005035bb7a77b07d2/xattr-0.9.7.tar.gz|xattr-0.9.7 +XStatic-1.0.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/a7/73/6be224b0e18ac454909a236ad6d67c6c0f59962d5350dda797998b0409bf/XStatic-1.0.3-py3-none-any.whl +XStatic_Angular_FileUpload-12.0.4.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/4d/fd/c3051915d2f12e8fa11f59c01162ce85e38eca15d9ec73a3d7b271b49744/XStatic-Angular-FileUpload-12.0.4.0.tar.gz|XStatic-Angular-FileUpload-12.0.4.0 +XStatic_Angular_lrdragndrop-1.0.2.4-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/80/ea/ffdde05892eabe468f22403f75299cf5d991f0af4f1400bebbf3af04bc9a/XStatic_Angular_lrdragndrop-1.0.2.4-py2.py3-none-any.whl +XStatic_Angular_Schema_Form-0.8.13.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/57/71/ceea2c0a72e2ee2d316d6ab1c06b21faa9f5cbc4b36a4127d7847b7079c5/XStatic-Angular-Schema-Form-0.8.13.0.tar.gz|XStatic-Angular-Schema-Form-0.8.13.0 +XStatic_Bootstrap_Datepicker-1.4.0.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/3e/ab/806279e234318feb71c392b51d3a5c537c96e123b8e53c7bdeadf987b174/XStatic_Bootstrap_Datepicker-1.4.0.0-py3-none-any.whl +XStatic_Hogan-2.0.0.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/6d/a3/822ce8570757a5b258c39f71f357b2276365f0e6d91094e37d706da5bee4/XStatic_Hogan-2.0.0.3-py3-none-any.whl +XStatic_Jasmine-2.4.1.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/05/43/ceac7def3b6eaf82b6f593e3db2b03a9693a7b002b569e664e382aecddbc/XStatic_Jasmine-2.4.1.2-py2.py3-none-any.whl +XStatic_jQuery-3.5.1.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/f0/f9/5ec13f2545f84f5616dc1e5ff65049e4094db6a18f7f33c2c7fb5fb57c16/XStatic-jQuery-3.5.1.1.tar.gz|XStatic-jQuery-3.5.1.1 +XStatic_JQuery_Migrate-3.3.2.1-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/59/c0/cb7387a8ce804889cb6fc94b8796e54aabb113fb351813411c1c764654b1/XStatic_JQuery_Migrate-3.3.2.1-py3-none-any.whl +XStatic_JQuery.quicksearch-2.0.3.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/41/cf/24665d03c2c5963f0ad476b2af16a59af377735ab89d48d97e178409faf5/XStatic_JQuery.quicksearch-2.0.3.2-py3-none-any.whl +XStatic_JQuery.TableSorter-2.14.5.2-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/38/af/f36c9ef0c5c1e12caca2d9f126573cdd7b97bc8d922fabe903964d078181/XStatic_JQuery.TableSorter-2.14.5.2-py3-none-any.whl +XStatic_jquery_ui-1.12.1.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/e6/5a/883b22dad1d3e01708312d71c5bc63d543d66cef9b448c1cf85379d64fb3/XStatic-jquery-ui-1.12.1.1.tar.gz|XStatic-jquery-ui-1.12.1.1 +XStatic_mdi-1.6.50.2-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/73/49/13b9f7ce9fbcc7fabe086b7ac1b056118cbd4c9abf185e01cc4a54631136/XStatic_mdi-1.6.50.2-py2.py3-none-any.whl +XStatic_objectpath-1.2.1.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/23/6c/56de25d9d3be430e7de2fcf4baac10279dad78d7b16cbda339cf014c2fe5/XStatic-objectpath-1.2.1.0.tar.gz|XStatic-objectpath-1.2.1.0 +XStatic_Rickshaw-1.5.1.0-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/23/cc/20380c36f60a424e655c005ce8be9329cbf41c58c5aa3db773485d1d0dcd/XStatic_Rickshaw-1.5.1.0-py3-none-any.whl +XStatic_Spin-1.2.5.3-py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/ba/27/c678a4ca0e0a14f5a9edf4c97a89a6c493446b1a00aee78ea03e79333097/XStatic_Spin-1.2.5.3-py3-none-any.whl +XStatic_term.js-0.0.7.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/63/7a/7bfec29f5f28fdda7170ebbbb2204aeb1d33d6050f3476a807590de06434/XStatic-term.js-0.0.7.0.tar.gz|XStatic-term.js-0.0.7.0 +XStatic_tv4-1.2.7.0-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/2b/26/b07115af27b339c861b8c9a775a621524b421c898e26e015880dfb888c49/XStatic-tv4-1.2.7.0.tar.gz|XStatic-tv4-1.2.7.0 +XStatic_Font_Awesome-4.7.0.0-py2.py3-none-any.whl|pypi|https://files.pythonhosted.org/packages/b4/ca/24685f91f744cde936294c033685cb4bb3302430f005cc834d86d75b9640/XStatic_Font_Awesome-4.7.0.0-py2.py3-none-any.whl +xvfbwrapper-0.2.9-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/57/b6/4920eabda9b49630dea58745e79f9919aba6408d460afe758bf6e9b21a04/xvfbwrapper-0.2.9.tar.gz|xvfbwrapper-0.2.9 +yappi-1.2.3-cp39-cp39-linux_x86_64.whl|tar|https://files.pythonhosted.org/packages/37/dc/86bbe1822cdc6dbf46c644061bd24217f6a0f056f00162a3697c9bea7575/yappi-1.2.3.tar.gz|yappi-1.2.3 +yaql-1.1.3-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/77/89/cfee017cf4f2d6f5e7159bbf13fe4131c7dbf20d675b78c9928ae9aa9df8/yaql-1.1.3.tar.gz|yaql-1.1.3 +zVMCloudConnector-1.4.1-py3-none-any.whl|tar|https://files.pythonhosted.org/packages/11/92/9f704de9759816e7b9897b9fb41285b421498b4642551b6fbcccd2850008/zVMCloudConnector-1.4.1.tar.gz|zVMCloudConnector-1.4.1 diff --git a/build-tools/build-wheels/get-stx-wheels.sh b/build-tools/build-wheels/get-stx-wheels.sh index 972e5d1c..363964ae 100755 --- a/build-tools/build-wheels/get-stx-wheels.sh +++ b/build-tools/build-wheels/get-stx-wheels.sh @@ -15,7 +15,9 @@ if [ -z "${MY_WORKSPACE}" -o -z "${MY_REPO}" ]; then fi SUPPORTED_OS_ARGS=('debian') +SUPPORTED_OS_CODENAME_ARGS=('bullseye' 'trixie') OS= +OS_CODENAME= BUILD_STREAM=stable function usage { @@ -24,13 +26,14 @@ Usage: $(basename $0) [ --os ] [ --stream ] Options: - --os: Specify base OS (eg. debian) - --stream: Openstack release (default: stable) + --os: Specify base OS (eg. debian) + --os-codename: Specify base OS (eg. trixie, bullseye) + --stream: Openstack release (default: stable) EOF } -OPTS=$(getopt -o h -l help,os:,release:,stream: -- "$@") +OPTS=$(getopt -o h -l help,os:,os-codename:,release:,stream: -- "$@") if [ $? -ne 0 ]; then usage exit 1 @@ -49,6 +52,10 @@ while true; do OS=$2 shift 2 ;; + --os-codename) + OS_CODENAME=$2 + shift 2 + ;; --stream) BUILD_STREAM=$2 shift 2 @@ -90,10 +97,36 @@ if [ ${VALID_OS} -ne 0 ]; then exit 1 fi +if [ -z "$OS_CODENAME" ] ; then + if [[ ! -z "$DEBIAN_DISTRIBUTION" ]]; then + OS_CODENAME="$DEBIAN_DISTRIBUTION" + else + OS_CODENAME="$(ID= && source /etc/os-release 2>/dev/null && echo $VERSION_CODENAME || true)" + fi + if [[ -z "$OS_CODENAME" ]] ; then + echo "Unable to determine OS_CODENAME, please re-run with \`--os-codename' option" >&2 + exit 1 + fi +fi +VALID_OS_CODENAME=1 +for supported_os_codename in ${SUPPORTED_OS_CODENAME_ARGS[@]}; do + if [ "$OS_CODENAME" = "${supported_os_codename}" ]; then + VALID_OS_CODENAME=0 + break + fi +done +if [ ${VALID_OS_CODENAME} -ne 0 ]; then + echo "Unsupported OS_CODENAME specified: ${OS_CODENAME}" >&2 + echo "Supported OS_CODENAME options: ${SUPPORTED_OS_CODENAME_ARGS[@]}" >&2 + exit 1 +fi + source ${MY_REPO}/build-tools/git-utils.sh function get_wheels_files { - find ${GIT_LIST} -maxdepth 1 -name "${OS}_${BUILD_STREAM}_wheels.inc" + find ${GIT_LIST} -maxdepth 1 -path "$(git_ctx_root_dir)/do-not-build/*" \ + -name "${OS}_${BUILD_STREAM}_wheels.inc" \ + -o -name "${OS}_${OS_CODENAME}_${BUILD_STREAM}_wheels.inc" } function get_lower_layer_wheels_files { @@ -119,11 +152,11 @@ function find_wheel_deb { declare -a WHEELS_FILES=($(get_wheels_files) $(get_lower_layer_wheels_files)) if [ ${#WHEELS_FILES[@]} -eq 0 ]; then - echo "Could not find ${OS} wheels.inc files" >&2 + echo "Could not find ${OS}-${OS_CODENAME} wheels.inc files" >&2 exit 1 fi -BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${BUILD_STREAM}/stx +BUILD_OUTPUT_PATH=${MY_WORKSPACE}/std/build-wheels-${OS}-${OS_CODENAME}-${BUILD_STREAM}/stx echo "BUILD_OUTPUT_PATH: $BUILD_OUTPUT_PATH" >&2 if [ -d ${BUILD_OUTPUT_PATH} ]; then # Wipe out the existing dir to ensure there are no stale files