# devops-stages/stage-build.sh
#
-FROM ubuntu:18.04
+FROM ubuntu:20.04
+
+ARG APT_PROXY
+RUN if [ ! -z $APT_PROXY ] ; then \
+ echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\
+ echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\
+ fi
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install \
debhelper \
+ dh-python \
git \
python3 \
python3-all \
python3-dev \
python3-setuptools
-RUN python3 -m easy_install pip==21.0.1
-RUN pip3 install tox==3.22.0
+RUN python3 -m easy_install pip==21.3.1
+RUN pip install tox==3.24.5
-aiokafka==0.7.0
- # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
-dataclasses==0.6
- # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
-kafka-python==2.0.2
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # aiokafka
-git+https://osm.etsi.org/gerrit/osm/common.git@v10.0#egg=osm-common
- # via -r requirements-dev.in
-pycrypto==2.6.1
- # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
-pymongo==3.11.3
- # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
-pyyaml==5.4.1
- # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
#######################################################################################
# Copyright ETSI Contributors and Others.
#
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
+aiokafka==0.7.2
+ # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
+dataclasses==0.6
+ # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
+kafka-python==2.0.2
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # aiokafka
+osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@master
+ # via -r requirements-dev.in
+pycrypto==2.6.1
+ # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
+pymongo==3.12.3
+ # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
+pyyaml==5.4.1
+ # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
-# Copyright 2021 Canonical Ltd.
+# Copyright ETSI Contributors and Others.
#
# 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
+# 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.
+# 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.
stdeb
setuptools-version-command
+setuptools<60
\ No newline at end of file
-setuptools-version-command==2.2
- # via -r requirements-dist.in
-stdeb==0.10.0
- # via -r requirements-dist.in
-
-# The following packages are considered to be unsafe in a requirements file:
-# setuptools
#######################################################################################
# Copyright ETSI Contributors and Others.
#
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
+setuptools-version-command==99.9
+ # via -r requirements-dist.in
+stdeb==0.10.0
+ # via -r requirements-dist.in
+
+# The following packages are considered to be unsafe in a requirements file:
+setuptools==59.8.0
+ # via
+ # -r requirements-dist.in
+ # setuptools-version-command
+#######################################################################################
+# Copyright ETSI Contributors and Others.
+#
+# 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.
+#######################################################################################
asynctest==0.13.0
# via -r requirements-test.in
-certifi==2020.12.5
+certifi==2021.10.8
# via requests
-chardet==4.0.0
+charset-normalizer==2.0.10
# via requests
-coverage==5.5
+coverage==6.2
# via
# -r requirements-test.in
# nose2
-flake8==3.9.0
+flake8==4.0.1
# via -r requirements-test.in
-idna==2.10
+idna==3.3
# via requests
mccabe==0.6.1
# via flake8
# via -r requirements-test.in
nose2==0.10.0
# via -r requirements-test.in
-pycodestyle==2.7.0
+pycodestyle==2.8.0
# via flake8
-pyflakes==2.3.1
+pyflakes==2.4.0
# via flake8
-requests-mock==1.8.0
- # via -r requirements-test.in
-requests==2.25.1
+requests==2.27.1
# via requests-mock
-six==1.15.0
+requests-mock==1.9.3
+ # via -r requirements-test.in
+six==1.16.0
# via
# nose2
# requests-mock
-urllib3==1.26.4
+urllib3==1.26.8
# via requests
-#######################################################################################
-# Copyright ETSI Contributors and Others.
-#
-# 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.
-#######################################################################################
# See the License for the specific language governing permissions and
# limitations under the License.
-juju==2.8.6
-kubernetes==10.0.1
-pyasn1
+async-timeout<4
+juju==2.9.4
+kubernetes
motor==1.3.1
+pyasn1
+pyyaml<6
retrying-async
+#######################################################################################
+# Copyright ETSI Contributors and Others.
+#
+# 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.
+#######################################################################################
async-timeout==3.0.1
- # via retrying-async
+ # via
+ # -r requirements.in
+ # retrying-async
bcrypt==3.2.0
# via paramiko
-cachetools==4.2.1
+cachetools==4.2.4
# via google-auth
-certifi==2020.12.5
+certifi==2021.10.8
# via
# kubernetes
# requests
-cffi==1.14.5
+cffi==1.15.0
# via
# bcrypt
# cryptography
# pynacl
-chardet==4.0.0
+charset-normalizer==2.0.10
# via requests
-cryptography==3.4.7
+cryptography==36.0.1
# via paramiko
-google-auth==1.28.0
+google-auth==2.3.3
# via kubernetes
-idna==2.10
+idna==3.3
# via requests
-juju==2.8.6
+juju==2.9.4
# via -r requirements.in
-jujubundlelib==0.5.6
+jujubundlelib==0.5.7
# via theblues
-kubernetes==10.0.1
- # via -r requirements.in
+kubernetes==21.7.0
+ # via
+ # -r requirements.in
+ # juju
macaroonbakery==1.3.1
# via
# juju
# via -r requirements.in
mypy-extensions==0.4.3
# via typing-inspect
-oauthlib==3.1.0
+oauthlib==3.1.1
# via requests-oauthlib
-paramiko==2.7.2
+paramiko==2.9.2
# via juju
-protobuf==3.15.6
+protobuf==3.19.3
# via macaroonbakery
-pyasn1-modules==0.2.8
- # via google-auth
pyasn1==0.4.8
# via
# -r requirements.in
# juju
# pyasn1-modules
# rsa
-pycparser==2.20
+pyasn1-modules==0.2.8
+ # via google-auth
+pycparser==2.21
# via cffi
pymacaroons==0.13.0
# via macaroonbakery
-pymongo==3.11.3
+pymongo==3.12.3
# via motor
-pynacl==1.4.0
+pynacl==1.5.0
# via
# macaroonbakery
# paramiko
# via
# juju
# macaroonbakery
-python-dateutil==2.8.1
+python-dateutil==2.8.2
# via kubernetes
-pytz==2021.1
+pytz==2021.3
# via pyrfc3339
pyyaml==5.4.1
# via
+ # -r requirements.in
# juju
# jujubundlelib
# kubernetes
-requests-oauthlib==1.3.0
- # via kubernetes
-requests==2.25.1
+requests==2.27.1
# via
# kubernetes
# macaroonbakery
# requests-oauthlib
# theblues
+requests-oauthlib==1.3.0
+ # via kubernetes
retrying-async==1.2.0
# via -r requirements.in
-rsa==4.7.2
+rsa==4.8
# via google-auth
-six==1.15.0
+six==1.16.0
# via
# bcrypt
# google-auth
# kubernetes
# macaroonbakery
- # protobuf
# pymacaroons
- # pynacl
# python-dateutil
- # websocket-client
theblues==0.5.2
# via juju
-toposort==1.6
+toposort==1.7
# via juju
-typing-extensions==3.7.4.3
+typing-extensions==4.0.1
# via typing-inspect
-typing-inspect==0.6.0
+typing-inspect==0.7.1
# via juju
-urllib3==1.26.4
+urllib3==1.26.8
# via
# kubernetes
# requests
-websocket-client==0.58.0
+websocket-client==1.2.3
# via kubernetes
websockets==7.0
# via juju
# The following packages are considered to be unsafe in a requirements file:
# setuptools
-#######################################################################################
-# Copyright ETSI Contributors and Others.
-#
-# 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.
-#######################################################################################
[testenv]
usedevelop = True
-basepython = python3
+basepython = python3.8
setenv = VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE = 1
deps = -r{toxinidir}/requirements.txt
#######################################################################################
[testenv:pip-compile]
-deps = pip-tools==5.5.0
+deps = pip-tools==6.4.0
+skip_install = true
+whitelist_externals = bash
+ [
commands =
- - sh -c 'for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
- out=`echo $file | sed "s/.in/.txt/"` ; \
- head -16 tox.ini >> $out ;\
- done'
-whitelist_externals = sh
+ - bash -c "for file in requirements*.in ; do \
+ UNSAFE="" ; \
+ if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
+ pip-compile -rU --no-header $UNSAFE $file ;\
+ out=`echo $file | sed 's/.in/.txt/'` ; \
+ sed -i -e '1 e head -16 tox.ini' $out ;\
+ done"
#######################################################################################