Bug 1850: LTS Support
Updates base to Ubuntu 20.04
Updates python to 3.8
Updates pip dependencies to more recent versions
Adds apt cache to stage 2 dockerfile
Pin version of regexp to match IM
Fixes bug 1850
Change-Id: Ic9a4a2d32593f1f64f5426c733609787925fe88c
Signed-off-by: beierlm <mark.beierl@canonical.com>
diff --git a/Dockerfile b/Dockerfile
index b949260..6411021 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -22,7 +22,13 @@
# 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 \
diff --git a/requirements-dev.txt b/requirements-dev.txt
index a9bd0ac..84473cf 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -1,82 +1,3 @@
-bitarray==1.8.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # pyangbind
-certifi==2020.12.5
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # requests
-chardet==4.0.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # requests
-click==7.1.2
- # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
-enum34==1.1.10
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # pyangbind
-idna==2.10
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # requests
-jinja2==2.11.3
- # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
-lxml==4.6.3
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # pyang
- # pyangbind
-markupsafe==1.1.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # jinja2
-git+https://osm.etsi.org/gerrit/osm/IM.git@v10.0#egg=osm-im
- # via -r requirements-dev.in
-git+https://osm.etsi.org/gerrit/osm/osmclient.git@v10.0#egg=osm-osmclient
- # via -r requirements-dev.in
-packaging==20.9
- # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
-prettytable==2.1.0
- # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
-pyang==2.4.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # pyangbind
-pyangbind==0.8.1
- # via -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
-pycurl==7.43.0.6
- # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
-pyparsing==2.4.7
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # packaging
-python-magic==0.4.22
- # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
-pyyaml==5.4.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
-regex==2021.3.17
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # pyangbind
-requests==2.25.1
- # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
-six==1.15.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # pyangbind
-urllib3==1.26.4
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # requests
-verboselogs==1.7
- # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
-wcwidth==0.2.5
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
- # prettytable
#######################################################################################
# Copyright ETSI Contributors and Others.
#
@@ -93,3 +14,82 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
+bitarray==2.3.5
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # pyangbind
+certifi==2021.10.8
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # requests
+charset-normalizer==2.0.10
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # requests
+click==8.0.3
+ # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+enum34==1.1.10
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # pyangbind
+idna==3.3
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # requests
+jinja2==3.0.3
+ # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+lxml==4.7.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # pyang
+ # pyangbind
+markupsafe==2.0.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # jinja2
+osm-im @ git+https://osm.etsi.org/gerrit/osm/IM.git@master
+ # via -r requirements-dev.in
+osmclient @ git+https://osm.etsi.org/gerrit/osm/osmclient.git@master
+ # via -r requirements-dev.in
+packaging==21.3
+ # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+prettytable==3.0.0
+ # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+pyang==2.5.2
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # pyangbind
+pyangbind==0.8.1
+ # via -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
+pycurl==7.44.1
+ # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+pyparsing==3.0.6
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # packaging
+python-magic==0.4.24
+ # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+pyyaml==5.4.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+regex==2021.11.10
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # pyangbind
+requests==2.27.1
+ # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+six==1.16.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # pyangbind
+urllib3==1.26.8
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # requests
+verboselogs==1.7
+ # via -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+wcwidth==0.2.5
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/osmclient.git;a=blob_plain;f=requirements.txt;hb=v10.0
+ # prettytable
diff --git a/requirements.in b/requirements.in
index e72b2cc..d96fffb 100644
--- a/requirements.in
+++ b/requirements.in
@@ -13,12 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
##
-bitarray==1.8.1
+bitarray
charm-tools
haikunator
pyangbind
python-openstackclient
-regex==2021.3.17
+pyyaml<6
+regex==2021.11.10 # from IM
requests
robotframework
robotframework-jsonlibrary
diff --git a/requirements.txt b/requirements.txt
index d8870a3..09bec59 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,393 +1,3 @@
-appdirs==1.4.4
- # via
- # openstacksdk
- # virtualenv
-argcomplete==1.12.2
- # via yq
-attrs==20.3.0
- # via cmd2
-bcrypt==3.2.0
- # via paramiko
-bitarray==1.8.1
- # via
- # -r requirements.in
- # pyangbind
-blessings==1.6
- # via charm-tools
-certifi==2020.12.5
- # via requests
-cffi==1.14.5
- # via
- # bcrypt
- # cryptography
- # pynacl
-chardet==4.0.0
- # via requests
-charm-tools==2.8.3
- # via -r requirements.in
-cheetah3==3.2.6.post1
- # via charm-tools
-cliff==3.7.0
- # via
- # osc-lib
- # python-openstackclient
-cmd2==1.5.0
- # via cliff
-colander==1.7.0
- # via charm-tools
-colorama==0.4.4
- # via cmd2
-coverage==5.5
- # via robotframework-jsonlibrary
-cryptography==3.4.7
- # via
- # openstacksdk
- # paramiko
- # secretstorage
-debtcollector==2.2.0
- # via
- # oslo.config
- # oslo.utils
- # python-keystoneclient
-decorator==5.0.6
- # via
- # dogpile.cache
- # jsonpath-rw
- # openstacksdk
-dict2colander==0.2
- # via charm-tools
-distlib==0.3.1
- # via virtualenv
-distro==1.5.0
- # via lazr.restfulclient
-dogpile.cache==1.1.2
- # via openstacksdk
-enum34==1.1.10
- # via pyangbind
-filelock==3.0.12
- # via virtualenv
-haikunator==2.1.0
- # via -r requirements.in
-httplib2==0.19.1
- # via
- # launchpadlib
- # lazr.restfulclient
-idna==2.10
- # via requests
-iso8601==0.1.14
- # via
- # colander
- # keystoneauth1
- # openstacksdk
- # oslo.utils
- # python-novaclient
- # python-openstackclient
-jmespath==0.10.0
- # via openstacksdk
-jsonpatch==1.32
- # via openstacksdk
-jsonpath-rw-ext==1.2.2
- # via robotframework-jsonlibrary
-jsonpath-rw==1.4.0
- # via
- # jsonpath-rw-ext
- # robotframework-jsonlibrary
-jsonpointer==2.1
- # via jsonpatch
-jsonschema==2.5.1
- # via charm-tools
-jujubundlelib==0.5.6
- # via
- # charm-tools
- # theblues
-keyring==20.0.1
- # via
- # charm-tools
- # launchpadlib
-keystoneauth1==4.3.1
- # via
- # openstacksdk
- # osc-lib
- # python-cinderclient
- # python-keystoneclient
- # python-novaclient
-launchpadlib==1.10.13
- # via charm-tools
-lazr.restfulclient==0.14.3
- # via launchpadlib
-lazr.uri==1.0.5
- # via
- # launchpadlib
- # wadllib
-libcharmstore==0.0.9
- # via charm-tools
-lxml==4.6.3
- # via
- # pyang
- # pyangbind
-macaroonbakery==1.3.1
- # via theblues
-msgpack==1.0.2
- # via oslo.serialization
-munch==2.5.0
- # via openstacksdk
-netaddr==0.8.0
- # via
- # oslo.config
- # oslo.utils
-netifaces==0.10.9
- # via
- # openstacksdk
- # oslo.utils
-oauthlib==3.1.0
- # via lazr.restfulclient
-openstacksdk==0.55.0
- # via
- # osc-lib
- # python-openstackclient
-os-service-types==1.7.0
- # via
- # keystoneauth1
- # openstacksdk
-osc-lib==2.3.1
- # via python-openstackclient
-oslo.config==8.5.0
- # via python-keystoneclient
-oslo.i18n==5.0.1
- # via
- # osc-lib
- # oslo.config
- # oslo.utils
- # python-cinderclient
- # python-keystoneclient
- # python-novaclient
- # python-openstackclient
-oslo.serialization==4.1.0
- # via
- # python-keystoneclient
- # python-novaclient
-oslo.utils==4.8.0
- # via
- # osc-lib
- # oslo.serialization
- # python-cinderclient
- # python-keystoneclient
- # python-novaclient
- # python-openstackclient
-otherstuf==1.1.0
- # via charm-tools
-packaging==20.9
- # via oslo.utils
-paramiko==2.7.2
- # via
- # robotframework-sshlibrary
- # scp
-parse==1.19.0
- # via stuf
-path.py==12.5.0
- # via charm-tools
-path==15.1.2
- # via path.py
-pathspec==0.3.4
- # via charm-tools
-pbr==5.5.1
- # via
- # cliff
- # debtcollector
- # jsonpath-rw-ext
- # keystoneauth1
- # openstacksdk
- # os-service-types
- # osc-lib
- # oslo.i18n
- # oslo.serialization
- # oslo.utils
- # python-cinderclient
- # python-keystoneclient
- # python-novaclient
- # python-openstackclient
- # stevedore
- # testresources
-pluggy==0.13.1
- # via tox
-ply==3.11
- # via jsonpath-rw
-prettytable==2.1.0
- # via
- # cliff
- # python-cinderclient
- # python-novaclient
-protobuf==3.15.8
- # via macaroonbakery
-py==1.10.0
- # via tox
-pyang==2.4.0
- # via pyangbind
-pyangbind==0.8.1
- # via -r requirements.in
-pycparser==2.20
- # via cffi
-pymacaroons==0.13.0
- # via macaroonbakery
-pynacl==1.4.0
- # via
- # macaroonbakery
- # paramiko
- # pymacaroons
-pyparsing==2.4.7
- # via
- # cliff
- # httplib2
- # oslo.utils
- # packaging
-pyperclip==1.8.2
- # via cmd2
-pyrfc3339==1.1
- # via macaroonbakery
-python-cinderclient==7.4.0
- # via python-openstackclient
-python-keystoneclient==4.2.0
- # via python-openstackclient
-python-novaclient==17.4.0
- # via python-openstackclient
-python-openstackclient==5.5.0
- # via -r requirements.in
-pytz==2021.1
- # via
- # oslo.serialization
- # oslo.utils
- # pyrfc3339
-pyyaml==5.4.1
- # via
- # charm-tools
- # cliff
- # jujubundlelib
- # openstacksdk
- # oslo.config
- # yq
-regex==2021.3.17
- # via
- # -r requirements.in
- # pyangbind
-requests==2.25.1
- # via
- # -r requirements.in
- # charm-tools
- # keystoneauth1
- # macaroonbakery
- # oslo.config
- # python-cinderclient
- # python-keystoneclient
- # robotframework-requests
- # theblues
-requestsexceptions==1.4.0
- # via openstacksdk
-requirements-parser==0.2.0
- # via charm-tools
-rfc3986==1.4.0
- # via oslo.config
-robotframework-jsonlibrary==0.3.1
- # via -r requirements.in
-robotframework-pythonlibcore==2.2.1
- # via robotframework-seleniumlibrary
-robotframework-requests==0.8.2
- # via -r requirements.in
-robotframework-seleniumlibrary==5.1.3
- # via -r requirements.in
-robotframework-sshlibrary==3.6.0
- # via -r requirements.in
-robotframework==4.0.1
- # via
- # -r requirements.in
- # robotframework-jsonlibrary
- # robotframework-requests
- # robotframework-seleniumlibrary
- # robotframework-sshlibrary
-ruamel.yaml==0.15.100
- # via charm-tools
-scp==0.13.3
- # via robotframework-sshlibrary
-secretstorage==2.3.1
- # via
- # charm-tools
- # keyring
-selenium==3.141.0
- # via robotframework-seleniumlibrary
-simplejson==3.17.2
- # via
- # osc-lib
- # python-cinderclient
-six==1.15.0
- # via
- # bcrypt
- # debtcollector
- # jsonpath-rw
- # keystoneauth1
- # launchpadlib
- # lazr.restfulclient
- # macaroonbakery
- # munch
- # oslo.i18n
- # protobuf
- # pyangbind
- # pymacaroons
- # pynacl
- # python-keystoneclient
- # tox
- # virtualenv
-stevedore==3.3.0
- # via
- # cliff
- # dogpile.cache
- # keystoneauth1
- # osc-lib
- # oslo.config
- # python-cinderclient
- # python-keystoneclient
- # python-novaclient
- # python-openstackclient
-stuf==0.9.16
- # via otherstuf
-testresources==2.0.1
- # via launchpadlib
-theblues==0.5.2
- # via libcharmstore
-toml==0.10.2
- # via yq
-tox==3.0.0
- # via robotframework-jsonlibrary
-translationstring==1.4
- # via colander
-urllib3==1.26.4
- # via
- # requests
- # selenium
-verboselogs==1.7
- # via -r requirements.in
-vergit==1.0.2
- # via charm-tools
-virtualenv==20.4.3
- # via
- # charm-tools
- # tox
-wadllib==1.3.5
- # via
- # launchpadlib
- # lazr.restfulclient
-wcwidth==0.2.5
- # via
- # cmd2
- # prettytable
-wrapt==1.12.1
- # via debtcollector
-xmltodict==0.12.0
- # via yq
-yq==2.12.0
- # via -r requirements.in
-
-# The following packages are considered to be unsafe in a requirements file:
-# pip
-# setuptools
#######################################################################################
# Copyright ETSI Contributors and Others.
#
@@ -404,3 +14,420 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
+appdirs==1.4.4
+ # via openstacksdk
+argcomplete==2.0.0
+ # via yq
+async-generator==1.10
+ # via
+ # trio
+ # trio-websocket
+attrs==21.4.0
+ # via
+ # cmd2
+ # outcome
+ # trio
+autopage==0.4.0
+ # via cliff
+bcrypt==3.2.0
+ # via paramiko
+bitarray==2.3.5
+ # via
+ # -r requirements.in
+ # pyangbind
+blessings==1.6
+ # via charm-tools
+certifi==2021.10.8
+ # via
+ # requests
+ # urllib3
+cffi==1.15.0
+ # via
+ # bcrypt
+ # cryptography
+ # pynacl
+charm-tools==2.8.3
+ # via -r requirements.in
+charset-normalizer==2.0.10
+ # via requests
+cheetah3==3.2.6.post1
+ # via charm-tools
+cliff==3.10.0
+ # via
+ # osc-lib
+ # python-openstackclient
+cmd2==2.3.3
+ # via cliff
+colander==1.7.0
+ # via charm-tools
+coverage==6.2
+ # via robotframework-jsonlibrary
+cryptography==36.0.1
+ # via
+ # openstacksdk
+ # paramiko
+ # pyopenssl
+ # secretstorage
+ # urllib3
+debtcollector==2.4.0
+ # via
+ # oslo.config
+ # oslo.utils
+ # python-keystoneclient
+decorator==5.1.1
+ # via
+ # dogpile.cache
+ # jsonpath-rw
+ # openstacksdk
+dict2colander==0.2
+ # via charm-tools
+distlib==0.3.4
+ # via virtualenv
+distro==1.6.0
+ # via lazr.restfulclient
+dogpile.cache==1.1.5
+ # via openstacksdk
+enum34==1.1.10
+ # via pyangbind
+filelock==3.4.2
+ # via virtualenv
+h11==0.13.0
+ # via wsproto
+haikunator==2.1.0
+ # via -r requirements.in
+httplib2==0.20.2
+ # via
+ # launchpadlib
+ # lazr.restfulclient
+idna==3.3
+ # via
+ # requests
+ # trio
+ # urllib3
+iso8601==1.0.2
+ # via
+ # colander
+ # keystoneauth1
+ # openstacksdk
+ # oslo.utils
+ # python-novaclient
+ # python-openstackclient
+jmespath==0.10.0
+ # via openstacksdk
+jsonpatch==1.32
+ # via openstacksdk
+jsonpath-rw==1.4.0
+ # via
+ # jsonpath-rw-ext
+ # robotframework-jsonlibrary
+jsonpath-rw-ext==1.2.2
+ # via robotframework-jsonlibrary
+jsonpointer==2.2
+ # via jsonpatch
+jsonschema==2.5.1
+ # via charm-tools
+jujubundlelib==0.5.7
+ # via
+ # charm-tools
+ # theblues
+keyring==20.0.1
+ # via
+ # charm-tools
+ # launchpadlib
+keystoneauth1==4.4.0
+ # via
+ # openstacksdk
+ # osc-lib
+ # python-cinderclient
+ # python-keystoneclient
+ # python-novaclient
+launchpadlib==1.10.15.1
+ # via charm-tools
+lazr.restfulclient==0.14.4
+ # via launchpadlib
+lazr.uri==1.0.6
+ # via
+ # launchpadlib
+ # wadllib
+libcharmstore==0.0.9
+ # via charm-tools
+lxml==4.7.1
+ # via
+ # pyang
+ # pyangbind
+macaroonbakery==1.3.1
+ # via theblues
+msgpack==1.0.3
+ # via oslo.serialization
+munch==2.5.0
+ # via openstacksdk
+netaddr==0.8.0
+ # via
+ # oslo.config
+ # oslo.utils
+netifaces==0.11.0
+ # via
+ # openstacksdk
+ # oslo.utils
+oauthlib==3.1.1
+ # via lazr.restfulclient
+openstacksdk==0.61.0
+ # via
+ # osc-lib
+ # python-openstackclient
+os-service-types==1.7.0
+ # via
+ # keystoneauth1
+ # openstacksdk
+osc-lib==2.4.2
+ # via python-openstackclient
+oslo.config==8.7.1
+ # via python-keystoneclient
+oslo.i18n==5.1.0
+ # via
+ # osc-lib
+ # oslo.config
+ # oslo.utils
+ # python-cinderclient
+ # python-keystoneclient
+ # python-novaclient
+ # python-openstackclient
+oslo.serialization==4.2.0
+ # via
+ # python-keystoneclient
+ # python-novaclient
+oslo.utils==4.12.1
+ # via
+ # osc-lib
+ # oslo.serialization
+ # python-cinderclient
+ # python-keystoneclient
+ # python-novaclient
+ # python-openstackclient
+otherstuf==1.1.0
+ # via charm-tools
+outcome==1.1.0
+ # via trio
+packaging==21.3
+ # via oslo.utils
+paramiko==2.9.2
+ # via
+ # robotframework-sshlibrary
+ # scp
+parse==1.19.0
+ # via stuf
+path==16.3.0
+ # via path.py
+path.py==12.5.0
+ # via charm-tools
+pathspec==0.3.4
+ # via charm-tools
+pbr==5.8.0
+ # via
+ # cliff
+ # debtcollector
+ # jsonpath-rw-ext
+ # keystoneauth1
+ # openstacksdk
+ # os-service-types
+ # osc-lib
+ # oslo.i18n
+ # oslo.serialization
+ # oslo.utils
+ # python-cinderclient
+ # python-keystoneclient
+ # python-novaclient
+ # python-openstackclient
+ # stevedore
+platformdirs==2.4.1
+ # via virtualenv
+pluggy==0.13.1
+ # via tox
+ply==3.11
+ # via jsonpath-rw
+prettytable==3.0.0
+ # via
+ # cliff
+ # python-cinderclient
+ # python-novaclient
+protobuf==3.19.3
+ # via macaroonbakery
+py==1.11.0
+ # via tox
+pyang==2.5.2
+ # via pyangbind
+pyangbind==0.8.1
+ # via -r requirements.in
+pycparser==2.21
+ # via cffi
+pymacaroons==0.13.0
+ # via macaroonbakery
+pynacl==1.5.0
+ # via
+ # macaroonbakery
+ # paramiko
+ # pymacaroons
+pyopenssl==21.0.0
+ # via urllib3
+pyparsing==3.0.6
+ # via
+ # cliff
+ # httplib2
+ # oslo.utils
+ # packaging
+pyperclip==1.8.2
+ # via cmd2
+pyrfc3339==1.1
+ # via macaroonbakery
+python-cinderclient==8.2.0
+ # via python-openstackclient
+python-keystoneclient==4.4.0
+ # via python-openstackclient
+python-novaclient==17.6.0
+ # via python-openstackclient
+python-openstackclient==5.7.0
+ # via -r requirements.in
+pytz==2021.3
+ # via
+ # oslo.serialization
+ # oslo.utils
+ # pyrfc3339
+pyyaml==5.4.1
+ # via
+ # -r requirements.in
+ # charm-tools
+ # cliff
+ # jujubundlelib
+ # openstacksdk
+ # oslo.config
+ # yq
+regex==2021.11.10
+ # via
+ # -r requirements.in
+ # pyangbind
+requests==2.27.1
+ # via
+ # -r requirements.in
+ # charm-tools
+ # keystoneauth1
+ # macaroonbakery
+ # oslo.config
+ # python-cinderclient
+ # python-keystoneclient
+ # robotframework-requests
+ # theblues
+requestsexceptions==1.4.0
+ # via openstacksdk
+requirements-parser==0.5.0
+ # via charm-tools
+rfc3986==2.0.0
+ # via oslo.config
+robotframework==4.1.3
+ # via
+ # -r requirements.in
+ # robotframework-jsonlibrary
+ # robotframework-requests
+ # robotframework-seleniumlibrary
+ # robotframework-sshlibrary
+robotframework-jsonlibrary==0.3.1
+ # via -r requirements.in
+robotframework-pythonlibcore==3.0.0
+ # via robotframework-seleniumlibrary
+robotframework-requests==0.9.2
+ # via -r requirements.in
+robotframework-seleniumlibrary==6.0.0
+ # via -r requirements.in
+robotframework-sshlibrary==3.8.0
+ # via -r requirements.in
+ruamel.yaml==0.15.100
+ # via charm-tools
+scp==0.14.2
+ # via robotframework-sshlibrary
+secretstorage==2.3.1
+ # via
+ # charm-tools
+ # keyring
+selenium==4.1.0
+ # via robotframework-seleniumlibrary
+simplejson==3.17.6
+ # via
+ # osc-lib
+ # python-cinderclient
+six==1.16.0
+ # via
+ # bcrypt
+ # jsonpath-rw
+ # keystoneauth1
+ # launchpadlib
+ # lazr.restfulclient
+ # macaroonbakery
+ # munch
+ # pyangbind
+ # pymacaroons
+ # pyopenssl
+ # python-keystoneclient
+ # tox
+ # virtualenv
+sniffio==1.2.0
+ # via trio
+sortedcontainers==2.4.0
+ # via trio
+stevedore==3.5.0
+ # via
+ # cliff
+ # dogpile.cache
+ # keystoneauth1
+ # osc-lib
+ # oslo.config
+ # python-cinderclient
+ # python-keystoneclient
+ # python-novaclient
+ # python-openstackclient
+stuf==0.9.16
+ # via otherstuf
+theblues==0.5.2
+ # via libcharmstore
+toml==0.10.2
+ # via yq
+tox==3.0.0
+ # via robotframework-jsonlibrary
+translationstring==1.4
+ # via colander
+trio==0.19.0
+ # via
+ # selenium
+ # trio-websocket
+trio-websocket==0.9.2
+ # via selenium
+types-setuptools==57.4.7
+ # via requirements-parser
+urllib3[secure]==1.26.8
+ # via
+ # requests
+ # selenium
+verboselogs==1.7
+ # via -r requirements.in
+vergit==1.0.2
+ # via charm-tools
+virtualenv==20.13.0
+ # via
+ # charm-tools
+ # tox
+wadllib==1.3.6
+ # via lazr.restfulclient
+wcwidth==0.2.5
+ # via
+ # cmd2
+ # prettytable
+wrapt==1.13.3
+ # via debtcollector
+wsproto==1.0.0
+ # via trio-websocket
+xmltodict==0.12.0
+ # via yq
+yq==2.13.0
+ # via -r requirements.in
+
+# The following packages are considered to be unsafe in a requirements file:
+# pip
+# setuptools
diff --git a/tox.ini b/tox.ini
index 4f67210..05ace87 100644
--- a/tox.ini
+++ b/tox.ini
@@ -23,7 +23,7 @@
[testenv]
usedevelop = True
-basepython = python3
+basepython = python3.8
setenv = VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE = 1
deps = -r{toxinidir}/requirements.txt
@@ -72,13 +72,18 @@
#######################################################################################
[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"
#######################################################################################