b8bd982daf
Refstack does not work with cryptography 37.0.0. In debugging how this passes testing I noticed that Refstack's tox.ini uses openstack constraints. Arguably it shouldn't do this as it isn't part of coinstalled opensdtack services, but since this is how they test things we should mimic it in our deployment. Update the Dockerfile to copy in the upper-contraints file to the /tmp/src dir which the assemble script should honor. Change-Id: I4603702982e5c03b4a1d110363787b1f04887a29
63 lines
2.8 KiB
Docker
63 lines
2.8 KiB
Docker
# Copyright (c) 2020 OpenStack Foundation
|
|
#
|
|
# 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.
|
|
|
|
# upload trigger - Thu 11 Aug 2022 16:11 PM UTC
|
|
# refstack commit - f222f3fb9540f0df4bf0cb8736c2470740659b18
|
|
|
|
FROM opendevorg/python-builder:3.9-bullseye as builder
|
|
|
|
RUN apt-get update \
|
|
&& apt-get -y install git apt-utils python3-dev dh-python libc-dev-bin \
|
|
libc6-dev libexpat1-dev libpython3-dev libpython3-dev linux-libc-dev \
|
|
apt-transport-https curl gnupg2 \
|
|
&& curl -sS https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
|
|
&& echo "deb https://deb.nodesource.com/node_16.x bullseye main" | tee /etc/apt/sources.list.d/nodesource.list \
|
|
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
|
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
|
|
&& apt-get update \
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get -q --option "Dpkg::Options::=--force-confold" --assume-yes install nodejs yarn \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Refstack uses openstack constraints (it probably shouldn't) in CI
|
|
# unittesting. Install with constraints here to ensure we're installing
|
|
# what is in theory tested.
|
|
RUN git clone https://opendev.org/openinfra/refstack /tmp/src \
|
|
&& curl https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt -o /tmp/src/upper-constraints.txt
|
|
|
|
RUN assemble
|
|
|
|
RUN cd /tmp/src && yarn install
|
|
|
|
# Refstack's docs are built and then hosted by refstack UI
|
|
RUN python -m venv /tmp/venv \
|
|
&& /tmp/venv/bin/pip install beautifulsoup4 docutils \
|
|
&& /tmp/venv/bin/python /tmp/src/tools/convert-docs.py -o /tmp/src/refstack-ui/app/components/about/templates /tmp/src/doc/source/*.rst \
|
|
&& rm -rf /tmp/venv
|
|
|
|
FROM opendevorg/python-base:3.9-bullseye as refstack
|
|
|
|
COPY --from=builder /output/ /output
|
|
COPY --from=builder /tmp/src/refstack-ui/app/ /refstack-ui/app
|
|
COPY ./entrypoint.sh /usr/bin/entrypoint
|
|
# TODO this should be fixed probably through proper js packaging
|
|
RUN rm /refstack-ui/app/assets/lib
|
|
COPY --from=builder /tmp/src/node_modules/@bower_components/ /refstack-ui/app/assets/lib
|
|
RUN /output/install-from-bindep \
|
|
&& rm -rf /output
|
|
|
|
ENTRYPOINT ["/usr/bin/entrypoint"]
|
|
CMD ["pecan", "serve", "/usr/local/lib/python3.9/site-packages/refstack/api/config.py"]
|