Split concreate and abstract dependencies 23/124523/4
authorCédric Ollivier <cedric.ollivier@orange.com>
Tue, 28 Sep 2021 11:48:21 +0000 (13:48 +0200)
committerthmsdt <thomas.kulik@telekom.de>
Tue, 28 Sep 2021 13:38:59 +0000 (15:38 +0200)
It adds 2 upper-constraints to pin all the dependencies.
It modifies a little bit the official upper-constraints.txt from
OpenStack due to Sphinx (4.2.0 as asked by lfdocs-conf vs 3.5.2) and
due to setuptools (58.1.0 as used in ONAP gates vs 54.1.1).

In a long run, etc/upper-constraints.os.txt should be removed once ONAP
is synced with OpenStack. For it's part, etc/upper-constraints.onap.txt
should be centralized for all ONAP projects and then removed from this
particular project.

It should be noted that lfdocs-conf still mismatches concrete and
abstract deps.

Issue-ID: DOC-765

Change-Id: Iccf1e4cdab93acc9c55acb16cb11e3b3fcef3291
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
docs/release/index.rst
etc/requirements.txt
etc/upper-constraints.onap.txt [new file with mode: 0644]
etc/upper-constraints.os.txt [new file with mode: 0644]
tox.ini

index c2d3851..fc8be70 100644 (file)
@@ -107,7 +107,7 @@ executes dedicated health check jobs to verify the status of a CNF. This new
 functionality is implemented in the Controller Design Studio (CDS) component
 using dedicated templates called Controller Blueprint Archives (CBA).
 In addition, there is Swagger documentation for the API of the K8s plugin
-component in the MutliCloud project.
+component in the MultiCloud project.
 
 Deeper 5G Support
 .................
index edffc4b..3bb85f5 100644 (file)
@@ -1,9 +1,11 @@
-lfdocs-conf~=0.7.5
-funcparserlib~=1.0.0a0
-sphinxcontrib.blockdiag~=2.0.0
-sphinxcontrib-needs<0.6.0
-sphinxcontrib.plantuml~=0.21
-sphinxcontrib.nwdiag~=2.0.0
-sphinxcontrib-seqdiag~=2.0.0
-sphinxcontrib-swaggerdoc~=0.1.7
-sphinx-rtd-theme~=1.0.0
+lfdocs-conf
+sphinxcontrib-blockdiag  # BSD
+sphinxcontrib-needs
+sphinxcontrib.plantuml
+sphinxcontrib-nwdiag  # BSD
+sphinxcontrib-seqdiag # BSD
+sphinxcontrib-swaggerdoc
+sphinx-rtd-theme
+autopep8
+sphinxcontrib-spelling
+pylint
diff --git a/etc/upper-constraints.onap.txt b/etc/upper-constraints.onap.txt
new file mode 100644 (file)
index 0000000..aaf3493
--- /dev/null
@@ -0,0 +1,7 @@
+lfdocs-conf===0.7.5
+sphinxcontrib.blockdiag===2.0.0
+sphinxcontrib-needs===0.5.6
+sphinxcontrib.plantuml===0.21
+sphinxcontrib.nwdiag===2.0.0
+sphinxcontrib-swaggerdoc===0.1.7
+sphinx-rtd-theme===1.0.0
diff --git a/etc/upper-constraints.os.txt b/etc/upper-constraints.os.txt
new file mode 100644 (file)
index 0000000..5f27d22
--- /dev/null
@@ -0,0 +1,585 @@
+ntlm-auth===1.5.0
+voluptuous===0.12.1
+chardet===4.0.0
+enum-compat===0.0.3
+rsa===4.7.2
+restructuredtext-lint===1.3.2
+netmiko===3.3.3
+sshtunnel===0.4.0
+PasteDeploy===2.1.1
+typing===3.7.4.3
+python-saharaclient===3.3.0
+Routes===2.5.1
+rtslib-fb===2.1.74
+oslo.limit===1.3.0
+smmap===3.0.5
+confget===2.3.4
+XStatic-Angular-Bootstrap===2.5.0.0
+WebOb===1.8.7
+sphinxcontrib-actdiag===2.0.0
+pecan===1.3.3
+ryu===4.34
+os-api-ref===2.1.0
+python-ldap===3.3.1
+oslo.concurrency===4.4.0
+websocket-client===0.58.0
+osprofiler===3.4.0
+os-resource-classes===1.0.0
+tabulate===0.8.9
+python-ironic-inspector-client===4.5.0
+lxml===4.6.2
+vintage===0.4.1
+ntc-templates===1.7.0
+rst2txt===1.1.0
+setproctitle===1.2.2
+pytest===6.2.2
+python-slugify===4.0.1
+cursive===0.2.2
+oslo.service===2.5.0
+django-appconf===1.0.4
+pykerberos===1.2.1
+certifi===2020.12.5
+sphinxcontrib-nwdiag===2.0.0
+rbd-iscsi-client===0.1.8
+requests-aws===0.1.8
+alabaster===0.7.12
+pbr===5.5.1
+munch===2.5.0
+waiting===1.4.1
+attrs===20.3.0
+microversion-parse===1.0.1
+Pint===0.16.1
+oslo.i18n===5.0.1
+jsonpath-rw-ext===1.2.2
+python-mistralclient===4.2.0
+oslo.context===3.2.0
+python-senlinclient===2.2.1
+rcssmin===1.0.6
+pycadf===3.1.1
+grpcio===1.36.1
+pysendfile===2.0.1
+sniffio===1.2.0
+fixtures===3.0.0
+neutron===18.1.1
+neutron-lib===2.10.1
+XStatic-FileSaver===1.3.2.0
+oslo.metrics===0.2.1
+storage-interfaces===1.0.4
+persist-queue===0.5.1
+pystache===0.5.4
+XStatic-Font-Awesome===4.7.0.0
+nose===1.3.7
+nosehtmloutput===0.0.7
+waitress===2.0.0
+os-refresh-config===13.0.0
+pysnmp===4.4.12
+Mako===1.1.4
+pyScss===1.3.7
+# differs from https://github.com/openstack/requirements/blob/stable/wallaby/upper-constraints.txt
+sphinxcontrib-htmlhelp===2.0.0
+XStatic-jQuery===1.12.4.1
+ddt===1.4.1
+XStatic-Graphlib===2.1.7.0
+pyserial===3.5
+moto===2.0.1
+infi.dtypes.wwn===0.1.1
+python-freezerclient===4.2.0
+os-xenapi===0.3.4
+python-vitrageclient===4.3.0
+nosexcover===1.0.11
+krest===1.3.2
+psycopg2===2.8.6
+networkx===2.5
+bashate===2.0.0
+XStatic-Angular===1.5.8.0
+pyngus===2.3.1
+Pillow===8.1.2
+zuul-sphinx===0.5.0
+python-mimeparse===1.6.0
+tripleo-common===15.3.0
+Tempita===0.5.2
+ply===3.11
+google-api-core===1.26.1
+requests-toolbelt===0.9.1
+simplejson===3.17.2
+suds-jurko===0.6
+immutables===0.15;python_version=='3.6'
+python-swiftclient===3.11.1
+pyOpenSSL===20.0.1
+monasca-common===3.3.0
+zeroconf===0.28.8
+scipy===1.5.4;python_version=='3.6'
+scipy===1.6.1;python_version=='3.8'
+mypy-extensions===0.4.3
+rsd-lib===1.2.0
+XStatic-Jasmine===2.4.1.2
+googleapis-common-protos===1.53.0
+python-glanceclient===3.3.0
+pyinotify===0.9.6
+debtcollector===2.2.0
+requests-unixsocket===0.2.0
+responses===0.12.1
+croniter===1.0.8
+horizon===19.2.0
+octavia-lib===2.3.1
+python-watcherclient===3.2.0
+MarkupSafe===1.1.1
+pypowervm===1.1.24
+doc8===0.8.1
+pymongo===3.11.3
+python-cloudkittyclient===4.2.0
+soupsieve===2.2
+sqlparse===0.4.1
+oslotest===4.4.1
+jsonpointer===2.0
+defusedxml===0.7.1
+netaddr===0.8.0
+pyghmi===1.5.23
+sphinxcontrib-blockdiag===2.0.0
+thrift===0.13.0
+gnocchiclient===7.0.6
+wcwidth===0.2.5
+sphinxcontrib.datatemplates===0.7.2
+jsonpath-rw===1.4.0
+prettytable===0.7.2
+vine===5.0.0
+taskflow===4.6.0
+traceback2===1.4.0
+arrow===1.0.3
+semantic-version===2.8.5
+virtualbmc===2.2.0
+deprecation===2.1.0
+SQLAlchemy===1.3.23
+pyroute2===0.5.14
+google-auth===1.27.1
+kazoo===2.8.0
+XStatic-roboto-fontface===0.5.0.0
+pyudev===0.22.0
+eventlet===0.30.2
+openstack-doc-tools===3.3.0
+oslo.messaging===12.7.1
+jira===2.0.0
+extras===1.0.0
+PyJWT===2.0.1
+XStatic-lodash===4.16.4.2
+zVMCloudConnector===1.4.1
+paramiko===2.7.2
+ifaddr===0.1.7
+reno===3.3.0
+imagesize===1.2.0
+pydot===1.4.2
+urllib3===1.26.3
+graphviz===0.16
+PyKMIP===0.10.0
+whereto===0.4.0
+pywbem===1.1.3
+python-subunit===1.4.0
+tornado===6.1
+pycparser===2.20
+mock===4.0.3
+PyYAML===5.4.1
+beautifulsoup4===4.9.3
+os-net-config===14.2.0
+ovs===2.13.0
+cryptography===3.4.6
+httpcore===0.12.3
+URLObject===2.4.3
+nocasedict===1.0.2
+psycopg2-binary===2.8.6
+openstack-release-test===3.3.1
+validations-libs===1.2.0
+pylxd===2.3.0
+pycryptodomex===3.10.1
+anyjson===0.3.3
+requests-mock===1.8.0
+os-apply-config===13.0.0
+prometheus-client===0.9.0
+oslosphinx===4.18.0
+gunicorn===20.0.4
+storpool===5.5.0
+textfsm===1.1.0
+python-3parclient===4.2.11
+unittest2===1.1.0
+django-compressor===2.4
+libvirt-python===7.1.0
+python-zunclient===4.2.0
+tzlocal===2.1
+sphinxcontrib-jsmath===1.0.1
+python-novaclient===17.4.0
+pact===1.12.0
+bcrypt===3.2.0
+os-client-config===2.1.0
+XStatic-Angular-Gettext===2.4.1.0
+h11===0.12.0
+Pygments===2.8.1
+XStatic-Hogan===2.0.0.3
+XStatic-objectpath===1.2.1.0
+python-manilaclient===2.6.0
+# differs from https://github.com/openstack/requirements/blob/stable/wallaby/upper-constraints.txt
+sphinxcontrib-serializinghtml===1.1.5
+requests===2.25.1
+snowballstemmer===2.1.0
+Jinja2===2.11.3
+XStatic-Bootstrap-SCSS===3.4.1.0
+pyzabbix===0.8.2
+ptyprocess===0.7.0
+threadloop===1.0.2
+amqp===5.0.5
+websockify===0.9.0
+XStatic-JQuery.quicksearch===2.0.3.2
+mpmath===1.2.1
+python-binary-memcached===0.30.1
+django-debreach===2.0.1
+sphinx-feature-classification===1.1.0
+django-pymemcache===1.0.0
+XStatic-JQuery-Migrate===1.2.1.2
+pytest-html===3.1.1
+appdirs===1.4.4
+tinyrpc===1.0.4
+google-auth-httplib2===0.1.0
+daiquiri===3.0.0
+influxdb===5.3.1
+# differs from https://github.com/openstack/requirements/blob/stable/wallaby/upper-constraints.txt
+funcparserlib===1.0.0a0
+passlib===1.7.4
+dib-utils===0.0.11
+cliff===3.7.0
+os-brick===4.3.2
+ansible-runner===1.4.7
+scp===0.13.3
+python-zaqarclient===2.1.0
+lockfile===0.12.2
+ldappool===3.0.0
+termcolor===1.1.0
+joblib===1.0.1
+google-api-python-client===2.0.2
+castellan===3.7.2
+oslo.versionedobjects===2.4.0
+enmerkar===0.7.1
+webcolors===1.11.1
+aodhclient===2.2.0
+autobahn===21.2.1;python_version=='3.6'
+autobahn===21.3.1;python_version=='3.8'
+SQLAlchemy-Utils===0.36.8
+retryz===0.1.9
+pluggy===0.13.1
+coverage===5.5
+freezegun===1.1.0
+toml===0.10.0
+pyperclip===1.8.2
+cassandra-driver===3.24.0
+XStatic-Angular-Schema-Form===0.8.13.0
+gabbi===2.2.0
+nwdiag===2.0.0
+XStatic-bootswatch===3.3.7.0
+pytest-xdist===2.2.1
+XStatic-JS-Yaml===3.8.1.0
+XStatic-term.js===0.0.7.0
+oslo.log===4.4.0
+nodeenv===1.5.0
+gossip===2.4.0
+importlib-metadata===3.7.2
+oslo.middleware===4.2.0
+apipkg===1.5
+XStatic-mdi===1.6.50.2
+django-pyscss===2.0.2
+uritemplate===3.0.1
+docutils===0.16
+threadpoolctl===2.1.0
+os-ken===1.4.0
+ujson===4.0.2
+selenium===3.141.0
+python-glareclient===0.5.3
+mypy===0.812
+mistral-lib===2.4.0
+dogtag-pki===10.7.4.1
+XStatic-Angular-UUID===0.0.4.0
+purestorage===1.19.0
+sphinxcontrib-seqdiag===2.0.0
+os-win===5.4.0
+capacity===1.3.14
+retrying===1.3.3
+XStatic-Dagre===0.6.4.1
+pydotplus===2.0.2
+boto3===1.17.26
+jeepney===0.6.0
+stestr===3.1.0
+oslo.serialization===4.1.0
+warlock===1.3.3
+exabgp===4.2.11
+sphinxcontrib-httpdomain===1.7.0
+metalsmith===1.4.2
+s3transfer===0.3.4
+text-unidecode===1.3
+sphinxcontrib-svg2pdfconverter===1.1.1
+murano-pkg-check===0.3.0
+oslo.vmware===3.8.0
+XStatic-moment===2.8.4.3
+sqlalchemy-migrate===0.13.0
+gitdb===4.0.5
+python-monascaclient===2.3.0
+ldap3===2.9
+natsort===7.1.1
+requests-ntlm===1.1.0
+automaton===2.3.0
+os-service-types===1.7.0
+keyring===23.0.0
+elementpath===2.2.0
+testscenarios===0.5.0
+sphinxcontrib-pecanwsme===0.10.0
+sadisplay===0.4.9
+infinisdk===161.1.3
+packaging===20.9
+XStatic-Dagre-D3===0.4.17.0
+nose-exclude===0.5.0
+psutil===5.8.0
+py===1.10.0
+txaio===21.2.1
+elasticsearch===2.4.1
+django-nose===1.4.7
+XStatic-JQuery.TableSorter===2.14.5.2
+pifpaf===3.1.5
+pysmi===0.3.4
+blockdiag===2.0.1
+testtools===2.4.0
+infi.dtypes.iqn===0.4.0
+XStatic-tv4===1.2.7.0
+XStatic-JSEncrypt===2.3.1.1
+python-cinderclient===7.4.1
+keystonemiddleware===9.2.0
+django-formtools===2.2
+python-ceilometerclient===2.9.0
+XStatic-Spin===1.2.5.3
+tap-as-a-service===7.0.0
+os-traits===2.5.0
+SecretStorage===3.3.1
+opentracing===2.4.0
+XStatic-Rickshaw===1.5.1.0
+iso8601===0.1.14
+tooz===2.8.1
+linecache2===1.0.0
+oauth2client===4.1.3
+idna===2.10
+yamlloader===1.0.0
+protobuf===3.15.6
+sushy===3.7.3
+python-neutronclient===7.3.0
+pika===1.2.0
+oslo.cache===2.7.0
+WebTest===2.0.35
+openstack.nose-plugin===0.11
+os-collect-config===13.0.1
+edgegrid-python===1.1.1
+python-qpid-proton===0.33.0
+python-octaviaclient===2.3.1
+pysaml2===6.5.1
+requests-oauthlib===1.3.0
+oslo.reports===2.2.0
+bitmath===1.3.3.1
+ceilometermiddleware===2.2.0
+python-nss===1.0.1
+testrepository===0.0.20
+sympy===1.7.1
+Logbook===1.5.3
+PyNaCl===1.4.0
+osc-lib===2.3.1
+python-consul===1.1.0
+more-itertools===8.7.0
+seqdiag===2.0.0
+numpy===1.19.5;python_version=='3.6'
+numpy===1.20.1;python_version=='3.8'
+msgpack===1.0.2
+# differs from https://github.com/openstack/requirements/blob/stable/wallaby/upper-constraints.txt
+Sphinx===4.2.0
+oslo.config===8.5.1
+tempest===27.0.0
+openstackdocstheme===2.2.7
+osc-placement===2.2.0
+zake===0.2.2
+python-rsdclient===1.0.2
+flux===1.3.5
+python-solumclient===3.3.0
+PyMySQL===1.0.2
+uhashring===2.0
+kubernetes===12.0.1
+httplib2===0.19.0
+betamax===0.8.1
+construct===2.10.61
+pytest-metadata===1.11.0
+pyparsing===2.4.7
+geomet===0.2.1.post1
+distlib===0.3.1
+XStatic-Moment-Timezone===0.5.22.0
+dogpile.cache===1.1.2
+python-barbicanclient===5.1.0
+salt===3002.5
+api-object-schema===2.0.0
+WSME===0.10.1
+proboscis===1.2.6.0
+oslo.upgradecheck===1.3.0
+stevedore===3.3.0
+pywinrm===0.4.1
+botocore===1.20.26
+xmltodict===0.12.0
+pyasn1===0.4.8
+oslo.rootwrap===6.2.0
+Django===2.2.19
+pexpect===4.8.0
+contextvars===2.4;python_version=='3.6'
+cmd2===1.5.0
+python-json-logger===2.0.1
+redis===3.5.3
+jmespath===0.10.0
+click===7.1.2
+XStatic-smart-table===1.4.13.2
+kuryr-lib===2.3.0
+scrypt===0.8.17
+jsonpatch===1.31
+python-daemon===2.3.0
+typed-ast===1.4.2
+os-testr===2.0.0
+cotyledon===1.7.3
+xattr===0.9.7
+systemd-python===234
+python-memcached===1.59
+openstacksdk===0.55.0
+six===1.15.0
+dulwich===0.20.20
+dfs-sdk===1.2.27
+sentinels===1.0.0
+kombu===5.0.2
+distro===1.5.0
+zstd===1.4.8.1
+yaql===1.1.3
+requestsexceptions===1.4.0
+testresources===2.0.1
+falcon===2.0.0
+etcd3gw===0.2.5
+Flask-RESTful===0.3.8
+GitPython===3.1.14
+python-ironicclient===4.6.2
+XStatic===1.0.2
+XStatic-Angular-FileUpload===12.0.4.0
+python-openstackclient===5.5.1
+pyzmq===22.0.3
+nocaselist===1.0.4
+oslo.db===8.5.1
+simplegeneric===0.8.1
+python-pcre===0.7
+yappi===1.3.2
+dataclasses===0.8;python_version=='3.6'
+abclient===0.2.3
+pymemcache===3.4.1
+wrapt===1.12.1
+oslo.privsep===2.5.0
+sphinxcontrib-apidoc===0.3.0
+oslo.policy===3.7.0
+python-muranoclient===2.2.0
+hvac===0.10.8
+pyeclib===1.6.0
+wsgi-intercept===1.9.2
+ndg-httpsclient===0.5.1
+pyrsistent===0.17.3
+repoze.lru===0.7
+rfc3986===1.4.0
+tenacity===6.3.1
+python-designateclient===4.2.0
+future===0.18.2
+Paste===3.5.0
+pytest-django===4.1.0
+jaeger-client===4.4.0
+XStatic-Json2yaml===0.1.1.0
+boto===2.49.0
+os-vif===2.4.0
+hyperlink===21.0.0
+mitba===1.1.1
+python-masakariclient===7.0.0
+Werkzeug===1.0.1
+pyasn1-modules===0.2.8
+APScheduler===3.7.0
+monotonic===1.5
+xmlschema===1.5.2
+python-troveclient===7.0.0
+etcd3===0.12.0
+cachez===0.1.2
+XStatic-Bootstrap-Datepicker===1.4.0.0
+CouchDB===1.2
+netifaces===0.10.9
+cachetools===4.2.1
+ws4py===0.5.1
+sphinxcontrib-qthelp===1.0.3
+keystoneauth1===4.3.1
+statsd===3.3.0
+XenAPI===2.14
+importlib-resources===5.1.2
+python-keystoneclient===4.2.0
+ceilometer===16.0.0
+diskimage-builder===3.7.0
+heat-translator===2.3.0
+python-magnumclient===3.4.1
+docker===4.4.4
+storops===1.2.8
+XStatic-Angular-lrdragndrop===1.0.2.4
+ovsdbapp===1.9.0
+aniso8601===9.0.1
+rjsmin===1.1.0
+icalendar===4.0.7
+decorator===4.4.2
+cffi===1.14.5
+python-cyborgclient===1.3.0
+futurist===2.3.0
+jsonschema===3.2.0
+sphinxcontrib-devhelp===1.0.2
+python-blazarclient===3.2.0
+alembic===1.5.7
+execnet===1.8.0
+glance-store===2.5.0
+sphinxcontrib-programoutput===0.16
+storpool.spopenstack===3.0.0
+sphinx-testing===1.0.1
+dnspython===1.16.0
+oauthlib===3.1.0
+Babel===2.9.0
+logutils===0.3.5
+zipp===3.4.1
+greenlet===1.0.0
+XStatic-Angular-Vis===4.16.0.0
+iniconfig===1.1.1
+confluent-kafka===1.6.0
+xvfbwrapper===0.2.9
+tosca-parser===2.3.0
+Flask===1.1.2
+httpx===0.17.0
+sqlalchemy-filters===0.12.0
+marathon===0.13.0
+sphinxcontrib-runcmd===0.2.0
+confspirator===0.2.2
+fasteners===0.14.1
+sortedcontainers===2.3.0
+filelock===3.0.12
+python-tackerclient===1.6.0
+python-heatclient===2.3.0
+kafka-python===2.0.2
+oslo.utils===4.8.0
+python-editor===1.0.4
+gitdb2===4.0.2
+requests-kerberos===0.12.0
+itsdangerous===1.1.0
+XStatic-jquery-ui===1.12.1.1
+monasca-statsd===2.2.0
+python-dateutil===2.8.1
+typing-extensions===3.7.4.3
+virtualenv===20.4.2
+colorama===0.4.4
+confetti===2.5.3
+ironic-lib===4.6.2
+pytz===2021.1
+pytest-forked===1.3.0
+XStatic-D3===3.5.17.0
+actdiag===2.0.0
+sysv-ipc===1.1.0
+sphinxcontrib-applehelp===1.0.2
+scikit-learn===0.24.1
+# differs from https://github.com/openstack/requirements/blob/stable/wallaby/upper-constraints.txt
+setuptools===58.1.0
+ruamel.yaml===0.17.7
diff --git a/tox.ini b/tox.ini
index fb0f734..a538317 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -5,7 +5,10 @@ skipsdist = true
 
 [testenv:docs]
 basepython = python3
-deps = -r{toxinidir}/etc/requirements.txt
+deps =
+    -r{toxinidir}/etc/requirements.txt
+    -c{toxinidir}/etc/upper-constraints.os.txt
+    -c{toxinidir}/etc/upper-constraints.onap.txt
 commands =
     sphinx-build -W -q -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
     echo "Generated docs available in {toxinidir}/docs/_build/html"
@@ -16,7 +19,10 @@ whitelist_externals =
 
 [testenv:docs-templates]
 basepython = python3
-deps = -r{toxinidir}/etc/requirements.txt
+deps =
+    -r{toxinidir}/etc/requirements.txt
+    -c{toxinidir}/etc/upper-constraints.os.txt
+    -c{toxinidir}/etc/upper-constraints.onap.txt
 commands =
     sphinx-build -b html -n -d {envtmpdir}/doctrees -c {toxinidir}/docs ./docs/guides/onap-developer/how-to-use-docs/templates {toxinidir}/docs/_build/html/templates
     echo "Generated docs available in {toxinidir}/docs/_build/html/templates"
@@ -25,7 +31,10 @@ whitelist_externals =
 
 [testenv:local]
 basepython = python3
-deps = -r{toxinidir}/etc/requirements.txt
+deps =
+    -r{toxinidir}/etc/requirements.txt
+    -c{toxinidir}/etc/upper-constraints.os.txt
+    -c{toxinidir}/etc/upper-constraints.onap.txt
 commands =
     git submodule update --depth 100 --init
     sphinx-build -q -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
@@ -36,23 +45,33 @@ whitelist_externals =
 
 [testenv:docs-linkcheck]
 basepython = python3
-deps = -r{toxinidir}/etc/requirements.txt
+deps =
+    -r{toxinidir}/etc/requirements.txt
+    -c{toxinidir}/etc/upper-constraints.os.txt
+    -c{toxinidir}/etc/upper-constraints.onap.txt
 commands = sphinx-build -q -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck
 
 [testenv:spellcheck]
 basepython = python3
 deps =
     -r{toxinidir}/etc/requirements.txt
-    sphinxcontrib-spelling
+    -c{toxinidir}/etc/upper-constraints.os.txt
+    -c{toxinidir}/etc/upper-constraints.onap.txt
 commands =
     sphinx-build -b spelling -Dextensions=sphinxcontrib.spelling -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/spellcheck
 
 [testenv:autopep8]
-deps = autopep8
+deps =
+    -r{toxinidir}/etc/requirements.txt
+    -c{toxinidir}/etc/upper-constraints.os.txt
+    -c{toxinidir}/etc/upper-constraints.onap.txt
 commands =
     autopep8 --max-line-length 120 --in-place docs/conf.py
 
 [testenv:pylint]
-deps = pylint
+deps =
+    -r{toxinidir}/etc/requirements.txt
+    -c{toxinidir}/etc/upper-constraints.os.txt
+    -c{toxinidir}/etc/upper-constraints.onap.txt
 commands =
     pylint --max-line-length=120 --disable=missing-docstring --reports=y --score=y  --output-format=colorized docs/conf.py