diff --git a/.gitignore b/.gitignore
index ae1f284..191b24e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,6 +20,7 @@
 dist/
 .cache/
 .local/
+.eggs
 N2VC.egg-info/
 .coverage
 cover
@@ -34,4 +35,5 @@
 lib/
 lib64
 pyvenv.cfg
-share/
\ No newline at end of file
+share/
+venv/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..eb9750e
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,17 @@
+# Copyright Contributors to ETSI OSM
+#
+# 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.
+
+include:
+  - project: 'devops/cicd'
+    file: '/templates/osm-base.yml'
diff --git a/Dockerfile b/Dockerfile
index 88aae5d..8230f42 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,19 +1,39 @@
-# Copyright 2019 Canonical Ltd.
-#
 # 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.
+########################################################################################
+# This Dockerfile is intented for devops testing and deb package generation
+#
+# To run stage 2 locally:
+#
+#   docker build -t stage2 .
+#   docker run -ti -v `pwd`:/work -w /work --entrypoint /bin/bash stage2
+#   devops-stages/stage-test.sh
+#   devops-stages/stage-build.sh
+#
 
 FROM ubuntu:18.04
 
-RUN apt-get update && apt-get -y install git make python python3 \
-    libcurl4-gnutls-dev libgnutls28-dev tox python3-dev python3-pip \
-    debhelper python3-setuptools python-all python3-all apt-utils 
+RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
+    DEBIAN_FRONTEND=noninteractive apt-get -y install \
+        debhelper \
+        git \
+        python3 \
+        python3-all \
+        python3-dev \
+        python3-setuptools
+
+RUN python3 -m easy_install pip==21.0.1
+RUN pip3 install tox==3.22.0
+
+ENV LC_ALL C.UTF-8
+ENV LANG C.UTF-8
diff --git a/test-requirements.txt b/MANIFEST.in
similarity index 78%
copy from test-requirements.txt
copy to MANIFEST.in
index 45ed6dc..f1be81c 100644
--- a/test-requirements.txt
+++ b/MANIFEST.in
@@ -1,4 +1,4 @@
-# Copyright 2020 Canonical Ltd.
+# Copyright 2021 Canonical Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,8 +12,7 @@
 #     See the License for the specific language governing permissions and
 #     limitations under the License.
 
-flake8<3.0
-mock
-requests-mock
-coverage==4.5.3
-asynctest
+include README.rst
+recursive-include n2vc *.sh *.txt
+recursive-include devops-stages *
+recursive-exclude n2vc/tests *
\ No newline at end of file
diff --git a/Makefile b/Makefile
deleted file mode 100644
index a334b5a..0000000
--- a/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2019 Canonical Ltd.
-#
-# 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.
-
-clean:
-	find . -name __pycache__ -type d -exec rm -r {} +
-	find . -name *.pyc -delete
-	rm -rf .tox
-	rm -rf tests/charms/builds/*
-	lxc list test- --format=json|jq '.[]["name"]'| xargs lxc delete --force || true
-.tox:
-	tox -r --notest
-test: lint
-	tox
-lint:
-	tox -e lint
-package:
-	python3 setup.py --command-packages=stdeb.command bdist_deb
diff --git a/devops-stages/stage-build.sh b/devops-stages/stage-build.sh
index 8f7f155..06184b6 100755
--- a/devops-stages/stage-build.sh
+++ b/devops-stages/stage-build.sh
@@ -13,5 +13,6 @@
 #     limitations under the License.
 
 #!/bin/sh
-rm -rf deb_dist
-tox -e build --recreate
+rm -rf dist deb_dist N2VC-*.tar.gz N2VC.egg-info .eggs .tox
+
+tox -e dist
\ No newline at end of file
diff --git a/devops-stages/stage-test.sh b/devops-stages/stage-test.sh
index 41875be..50f588a 100755
--- a/devops-stages/stage-test.sh
+++ b/devops-stages/stage-test.sh
@@ -12,5 +12,5 @@
 #     See the License for the specific language governing permissions and
 #     limitations under the License.
 
-#!/bin/sh
-tox --recreate
\ No newline at end of file
+OUTPUT=$(TOX_PARALLEL_NO_SPINNER=1 tox --parallel=auto)
+printf "$OUTPUT"
diff --git a/test-requirements.txt b/requirements-dev.in
similarity index 74%
copy from test-requirements.txt
copy to requirements-dev.in
index 45ed6dc..8cfad9d 100644
--- a/test-requirements.txt
+++ b/requirements-dev.in
@@ -1,4 +1,4 @@
-# Copyright 2020 Canonical Ltd.
+# Copyright 2021 Canonical Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,8 +12,5 @@
 #     See the License for the specific language governing permissions and
 #     limitations under the License.
 
-flake8<3.0
-mock
-requests-mock
-coverage==4.5.3
-asynctest
+git+https://osm.etsi.org/gerrit/osm/common.git@v9.0#egg=osm-common
+-r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v9.0
diff --git a/requirements-dev.txt b/requirements-dev.txt
new file mode 100644
index 0000000..816639a
--- /dev/null
+++ b/requirements-dev.txt
@@ -0,0 +1,32 @@
+aiokafka==0.7.0
+    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v9.0
+dataclasses==0.6
+    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v9.0
+kafka-python==2.0.2
+    # via
+    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v9.0
+    #   aiokafka
+git+https://osm.etsi.org/gerrit/osm/common.git@v9.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=v9.0
+pymongo==3.11.3
+    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v9.0
+pyyaml==5.4.1
+    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v9.0
+#######################################################################################
+# 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.
+#######################################################################################
diff --git a/test-requirements.txt b/requirements-dist.in
similarity index 86%
copy from test-requirements.txt
copy to requirements-dist.in
index 45ed6dc..2b3c735 100644
--- a/test-requirements.txt
+++ b/requirements-dist.in
@@ -1,4 +1,4 @@
-# Copyright 2020 Canonical Ltd.
+# Copyright 2021 Canonical Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,8 +12,5 @@
 #     See the License for the specific language governing permissions and
 #     limitations under the License.
 
-flake8<3.0
-mock
-requests-mock
-coverage==4.5.3
-asynctest
+stdeb
+setuptools-version-command
diff --git a/requirements-dist.txt b/requirements-dist.txt
new file mode 100644
index 0000000..7393626
--- /dev/null
+++ b/requirements-dist.txt
@@ -0,0 +1,23 @@
+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.
+#
+# 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/test-requirements.txt b/requirements-test.in
similarity index 90%
rename from test-requirements.txt
rename to requirements-test.in
index 45ed6dc..08df82d 100644
--- a/test-requirements.txt
+++ b/requirements-test.in
@@ -1,4 +1,4 @@
-# Copyright 2020 Canonical Ltd.
+# Copyright 2021 Canonical Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,8 +12,9 @@
 #     See the License for the specific language governing permissions and
 #     limitations under the License.
 
-flake8<3.0
-mock
-requests-mock
-coverage==4.5.3
 asynctest
+coverage
+flake8
+mock
+nose2
+requests-mock
diff --git a/requirements-test.txt b/requirements-test.txt
new file mode 100644
index 0000000..7e3a14d
--- /dev/null
+++ b/requirements-test.txt
@@ -0,0 +1,50 @@
+asynctest==0.13.0
+    # via -r requirements-test.in
+certifi==2020.12.5
+    # via requests
+chardet==4.0.0
+    # via requests
+coverage==5.5
+    # via
+    #   -r requirements-test.in
+    #   nose2
+flake8==3.9.0
+    # via -r requirements-test.in
+idna==2.10
+    # via requests
+mccabe==0.6.1
+    # via flake8
+mock==4.0.3
+    # via -r requirements-test.in
+nose2==0.10.0
+    # via -r requirements-test.in
+pycodestyle==2.7.0
+    # via flake8
+pyflakes==2.3.1
+    # via flake8
+requests-mock==1.8.0
+    # via -r requirements-test.in
+requests==2.25.1
+    # via requests-mock
+six==1.15.0
+    # via
+    #   nose2
+    #   requests-mock
+urllib3==1.26.4
+    # 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.
+#######################################################################################
diff --git a/test-requirements.txt b/requirements.in
similarity index 86%
copy from test-requirements.txt
copy to requirements.in
index 45ed6dc..ea82d48 100644
--- a/test-requirements.txt
+++ b/requirements.in
@@ -1,4 +1,4 @@
-# Copyright 2020 Canonical Ltd.
+# Copyright 2021 Canonical Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,8 +12,6 @@
 #     See the License for the specific language governing permissions and
 #     limitations under the License.
 
-flake8<3.0
-mock
-requests-mock
-coverage==4.5.3
-asynctest
+juju==2.8.4
+kubernetes==10.0.1
+pyasn1
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 8270e4c..5b52a4d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,19 +1,124 @@
-# Copyright 2020 Canonical Ltd.
+bcrypt==3.2.0
+    # via paramiko
+cachetools==4.2.2
+    # via google-auth
+certifi==2020.12.5
+    # via
+    #   kubernetes
+    #   requests
+cffi==1.14.5
+    # via
+    #   bcrypt
+    #   cryptography
+    #   pynacl
+chardet==4.0.0
+    # via requests
+cryptography==3.4.7
+    # via paramiko
+google-auth==1.30.0
+    # via kubernetes
+idna==2.10
+    # via requests
+juju==2.8.4
+    # via -r requirements.in
+jujubundlelib==0.5.6
+    # via theblues
+kubernetes==10.0.1
+    # via -r requirements.in
+macaroonbakery==1.3.1
+    # via
+    #   juju
+    #   theblues
+mypy-extensions==0.4.3
+    # via typing-inspect
+oauthlib==3.1.0
+    # via requests-oauthlib
+paramiko==2.7.2
+    # via juju
+protobuf==3.17.0
+    # 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
+    # via cffi
+pymacaroons==0.13.0
+    # via macaroonbakery
+pynacl==1.4.0
+    # via
+    #   macaroonbakery
+    #   paramiko
+    #   pymacaroons
+pyrfc3339==1.1
+    # via
+    #   juju
+    #   macaroonbakery
+python-dateutil==2.8.1
+    # via kubernetes
+pytz==2021.1
+    # via pyrfc3339
+pyyaml==5.4.1
+    # via
+    #   juju
+    #   jujubundlelib
+    #   kubernetes
+requests-oauthlib==1.3.0
+    # via kubernetes
+requests==2.25.1
+    # via
+    #   kubernetes
+    #   macaroonbakery
+    #   requests-oauthlib
+    #   theblues
+rsa==4.7.2
+    # via google-auth
+six==1.15.0
+    # via
+    #   bcrypt
+    #   google-auth
+    #   kubernetes
+    #   macaroonbakery
+    #   protobuf
+    #   pymacaroons
+    #   pynacl
+    #   python-dateutil
+theblues==0.5.2
+    # via juju
+toposort==1.6
+    # via juju
+typing-extensions==3.10.0.0
+    # via typing-inspect
+typing-inspect==0.6.0
+    # via juju
+urllib3==1.26.4
+    # via
+    #   kubernetes
+    #   requests
+websocket-client==1.0.0
+    # 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
+#    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.
-
-git+https://osm.etsi.org/gerrit/osm/common.git@v9.0#egg=osm-common
-juju==2.8.4
-pyasn1>=0.4.4
-kubernetes==10.0.1
-chardet==3.0.4
\ No newline at end of file
+# 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/setup.py b/setup.py
index 7a4fe87..ab23ca8 100644
--- a/setup.py
+++ b/setup.py
@@ -14,27 +14,29 @@
 
 from setuptools import setup, find_packages
 
-_description = 'OSM library implementing common interface towards VCA module'
+_name = "N2VC"
+_version_command = ("git describe --match v* --tags --long --dirty", "pep440-git-full")
+_author = "OSM Support"
+_author_email = "osmsupport@etsi.org"
+_description = "OSM library implementing common interface towards VCA module"
+_maintainer = "OSM Support"
+_maintainer_email = "osmsupport@etsi.org"
+_license = "Apache 2.0"
+_url = "https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=tree"
 
 setup(
-    name='N2VC',
-    version_command=('git describe --match v* --tags --long --dirty',
-                     'pep440-git-full'),
-    packages=find_packages(
-        exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
-    install_requires=[
-        'juju==2.8.4',
-        'pyasn1>=0.4.4',
-        'kubernetes==10.0.1'
-    ],
-    include_package_data=True,
-    maintainer='Adam Israel',
-    maintainer_email='adam.israel@canonical.com',
+    name=_name,
+    version_command=_version_command,
     description=_description,
-    url='',
-    license='Apache 2',
-    entry_points={
-        'console_scripts': [
-        ],
-    },
+    long_description=open("README.md", encoding="utf-8").read(),
+    author=_author,
+    author_email=_author_email,
+    maintainer=_maintainer,
+    maintainer_email=_maintainer_email,
+    url=_url,
+    license=_license,
+    packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
+    include_package_data=True,
+    entry_points={"console_scripts": []},
+    setup_requires=["setuptools-version-command"],
 )
diff --git a/stdeb.cfg b/stdeb.cfg
index c07507b..a5053ee 100644
--- a/stdeb.cfg
+++ b/stdeb.cfg
@@ -1,5 +1,16 @@
+# Copyright 2021 Canonical Ltd.
+#
+# 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.
+
 [DEFAULT]
-Suite: xenial
-XS-Python-Version: >= 3.5
-Maintainer: Adam Israel <adam.israel@canonical.com>
-Depends: python3-pip
+X-Python3-Version : >= 3.5
\ No newline at end of file
diff --git a/tox.ini b/tox.ini
index 4d64762..628b15e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,77 +1,125 @@
-# Copyright 2019 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.
+#######################################################################################
 
 [tox]
-envlist = cover, flake8, pylint, pylint-tests
-skipsdist=True
+envlist = black, cover, flake8, pylint, safety
+
+[tox:jenkins]
+toxworkdir = /tmp/.tox
 
 [testenv]
-
-[testenv:cover]
+usedevelop = True
 basepython = python3
-deps =
-  nose2
-  -rrequirements.txt
-  -rtest-requirements.txt
-commands =
-  coverage erase
-  nose2 -C --coverage n2vc --plugin nose2.plugins.junitxml -s n2vc
-  coverage report --omit='*n2vc/tests*'
-  coverage html -d ./cover --omit='*n2vc/tests*'
-  coverage xml -o coverage.xml --omit='*n2vc/tests*'
+setenv = VIRTUAL_ENV={envdir}
+         PYTHONDONTWRITEBYTECODE = 1
+deps =  -r{toxinidir}/requirements.txt
 
-[testenv:pylint]
-basepython = python3
-deps =
-  pylint==2.6.0
-  -rrequirements.txt
-commands =
-  pylint -E n2vc --ignore=tests
 
-[testenv:pylint-tests]
-basepython = python3
-deps =
-  pylint==2.6.0
-  -rrequirements.txt
-  -rtest-requirements.txt
-commands =
-  pylint -E n2vc.tests
-
+#######################################################################################
 [testenv:black]
-basepython = python3
-deps =
-  black
+deps = black
+skip_install = true
 commands =
-  black --check --diff n2vc
+        - black --check --diff n2vc/
+        - black --check --diff setup.py
 
+
+#######################################################################################
+[testenv:cover]
+deps =  {[testenv]deps}
+        -r{toxinidir}/requirements-dev.txt
+        -r{toxinidir}/requirements-test.txt
+commands =
+        sh -c 'rm -f nosetests.xml'
+        coverage erase
+        nose2 -C --coverage n2vc
+        coverage report --omit='*tests*'
+        coverage html -d ./cover --omit='*tests*'
+        coverage xml -o coverage.xml --omit=*tests*
+whitelist_externals = sh
+
+
+#######################################################################################
 [testenv:flake8]
-basepython = python3
-deps =
-  flake8
-  -rrequirements.txt
+deps = flake8
 commands =
-  flake8 n2vc
+        flake8 n2vc/ setup.py
 
+
+#######################################################################################
+[testenv:pylint]
+deps =  {[testenv]deps}
+        -r{toxinidir}/requirements-dev.txt
+        -r{toxinidir}/requirements-test.txt
+        pylint
+commands =
+    pylint -E n2vc
+
+
+#######################################################################################
+[testenv:safety]
+setenv =
+        LC_ALL=C.UTF-8
+        LANG=C.UTF-8
+deps =  {[testenv]deps}
+        safety
+commands =
+        - safety check --full-report
+
+
+#######################################################################################
+[testenv:pip-compile]
+deps =  pip-tools==5.5.0
+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
+
+
+#######################################################################################
+[testenv:dist]
+deps =  {[testenv]deps}
+        -r{toxinidir}/requirements-dist.txt
+
+# In the commands, we copy the requirements.txt to be presented as a source file (.py)
+# so it gets included in the .deb package for others to consume
+commands =
+        sh -c 'cp requirements.txt n2vc/requirements.txt'
+        python3 setup.py --command-packages=stdeb.command sdist_dsc
+        sh -c 'cd deb_dist/n2vc*/ && dpkg-buildpackage -rfakeroot -uc -us'
+        sh -c 'rm n2vc/requirements.txt'
+whitelist_externals = sh
+
+#######################################################################################
 [flake8]
-# W503 is invalid PEP-8
-max-line-length = 100
+ignore =
+        W291,
+        W293,
+        W503,
+        E123,
+        E125,
+        E226,
+        E241
+exclude =
+        .git,
+        __pycache__,
+        .tox,
+max-line-length = 120
 show-source = True
-ignore = W503,E203
-exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,devops_stages/*,.rst
-
-[testenv:build]
-deps =
-  stdeb
-  setuptools-version-command
-commands = python3 setup.py --command-packages=stdeb.command bdist_deb
+builtins = _
