diff --git a/osm_mon/cmd/mon_utils.py b/osm_mon/cmd/mon_utils.py
index 83dd130..88e7500 100644
--- a/osm_mon/cmd/mon_utils.py
+++ b/osm_mon/cmd/mon_utils.py
@@ -22,7 +22,6 @@
 
 
 def wait_till_commondb_is_ready(config, process_name="osm-mon", commondb_wait_time=5):
-
     logging.debug("wait_till_commondb_is_ready")
 
     while True:
@@ -39,7 +38,6 @@
 
 
 def wait_till_kafka_is_ready(config, process_name="osm-mon", kafka_wait_time=5):
-
     logging.debug("wait_till_kafka_is_ready")
 
     while True:
@@ -98,7 +96,6 @@
 def wait_till_core_services_are_ready(
     config, process_name="osm-mon", commondb_wait_time=5, kafka_wait_time=5
 ):
-
     logging.debug("wait_till_core_services_are_ready")
 
     if not config:
diff --git a/osm_mon/collector/vnf_collectors/vrops/vrops_helper.py b/osm_mon/collector/vnf_collectors/vrops/vrops_helper.py
index 2196326..8164510 100644
--- a/osm_mon/collector/vnf_collectors/vrops/vrops_helper.py
+++ b/osm_mon/collector/vnf_collectors/vrops/vrops_helper.py
@@ -103,7 +103,6 @@
         return resource_list
 
     def get_metrics(self, vdu_mappings={}, monitoring_params={}, vnfr=None, tags={}):
-
         monitoring_keys = {}
         # Collect the names of all the metrics we need to query
         for metric_entry in monitoring_params:
@@ -132,7 +131,6 @@
         vdu_mappings = sanitized_vdu_mappings
 
         try:
-
             # Now we can make a single call to vROPS to collect all relevant metrics for resources we need to monitor
             api_url = (
                 "/suite-api/api/resources/stats?IntervalType=MINUTES&IntervalCount=1"
diff --git a/osm_mon/server/server.py b/osm_mon/server/server.py
index 165888b..f05cdec 100755
--- a/osm_mon/server/server.py
+++ b/osm_mon/server/server.py
@@ -66,7 +66,6 @@
     async def _process_msg(self, topic, key, values):
         log.info("Message arrived: %s", values)
         try:
-
             if topic == "alarm_request":
                 if key == "create_alarm_request":
                     alarm_details = values["alarm_create_request"]
diff --git a/osm_mon/tests/unit/collector/vnf_collectors/vmware/test_vcd_collector.py b/osm_mon/tests/unit/collector/vnf_collectors/vmware/test_vcd_collector.py
index 3d92fd5..adb84c7 100644
--- a/osm_mon/tests/unit/collector/vnf_collectors/vmware/test_vcd_collector.py
+++ b/osm_mon/tests/unit/collector/vnf_collectors/vmware/test_vcd_collector.py
@@ -67,7 +67,6 @@
         super().tearDown()
 
     def test_collect_cpu_and_memory(self, mock_vm_moref_id):
-
         mock_vm_moref_id.return_value = "VMWARE-OID-VM-1"
         self.vnfd["vdu"][0]["monitoring-parameter"] = [
             {"id": "ubuntu_vnf_cpu_util", "performance-metric": "cpu_utilization"},
diff --git a/requirements-dev.in b/requirements-dev.in
index 733a1b3..591279b 100644
--- a/requirements-dev.in
+++ b/requirements-dev.in
@@ -13,8 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
--e git+https://osm.etsi.org/gerrit/osm/common.git@master#egg=osm-common
--r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
+-e git+https://osm.etsi.org/gerrit/osm/common.git@paas#egg=osm-common
+-r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
 
--e git+https://osm.etsi.org/gerrit/osm/N2VC.git@master#egg=n2vc
--r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+-e git+https://osm.etsi.org/gerrit/osm/N2VC.git@paas#egg=n2vc
+-r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 706822c..f43dac4 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -18,21 +18,23 @@
     # via -r requirements-dev.in
 -e git+https://osm.etsi.org/gerrit/osm/common.git@paas#egg=osm-common
     # via -r requirements-dev.in
-aiokafka==0.7.2
+aiokafka==0.8.0
     # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
-async-timeout==3.0.1
+async-timeout==4.0.2
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
+    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
+    #   aiokafka
     #   retrying-async
 bcrypt==4.0.1
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   paramiko
-cachetools==5.2.0
+cachetools==5.3.0
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   google-auth
-certifi==2022.9.24
+certifi==2022.12.7
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   kubernetes
@@ -46,13 +48,13 @@
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   requests
-cryptography==38.0.1
+cryptography==39.0.0
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   paramiko
 dataclasses==0.6
     # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
-google-auth==2.12.0
+google-auth==2.16.0
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   kubernetes
@@ -70,7 +72,7 @@
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
     #   aiokafka
-kubernetes==24.2.0
+kubernetes==25.3.0
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   juju
@@ -80,16 +82,22 @@
     #   juju
     #   theblues
 motor==1.3.1
-    # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
+    # via
+    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
+    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
 mypy-extensions==0.4.3
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   typing-inspect
-oauthlib==3.2.1
+oauthlib==3.2.2
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   requests-oauthlib
-paramiko==2.11.0
+packaging==23.0
+    # via
+    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
+    #   aiokafka
+paramiko==2.12.0
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   juju
@@ -111,13 +119,13 @@
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   cffi
-pycrypto==2.6.1
+pycryptodome==3.17
     # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
 pymacaroons==0.13.0
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   macaroonbakery
-pymongo==3.12.3
+pymongo==3.13.0
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
@@ -137,7 +145,7 @@
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   kubernetes
-pytz==2022.4
+pytz==2022.7.1
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   pyrfc3339
@@ -148,7 +156,7 @@
     #   juju
     #   jujubundlelib
     #   kubernetes
-requests==2.28.1
+requests==2.28.2
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   kubernetes
@@ -178,7 +186,7 @@
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   juju
-toposort==1.7
+toposort==1.9
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   juju
@@ -190,12 +198,12 @@
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   juju
-urllib3==1.26.12
+urllib3==1.26.14
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   kubernetes
     #   requests
-websocket-client==1.4.1
+websocket-client==1.5.0
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=paas
     #   kubernetes
diff --git a/requirements-test.in b/requirements-test.in
index 5be172a..394c6c3 100644
--- a/requirements-test.in
+++ b/requirements-test.in
@@ -19,8 +19,9 @@
 # For those usages not covered by the Apache License, Version 2.0 please
 # contact: helena.mcgough@intel.com or adrian.hoban@intel.com
 ##
+certifi
+charset-normalizer<3 # Required by aiohttp in LCM via N2VC
 coverage
 mock
 nose2
 requests-mock
-certifi==2022.9.24
\ No newline at end of file
diff --git a/requirements-test.txt b/requirements-test.txt
index 36c9db9..b068b79 100644
--- a/requirements-test.txt
+++ b/requirements-test.txt
@@ -14,25 +14,27 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #######################################################################################
-certifi==2022.9.24
+certifi==2022.12.7
     # via
     #   -r requirements-test.in
     #   requests
 charset-normalizer==2.1.1
-    # via requests
-coverage==6.5.0
+    # via
+    #   -r requirements-test.in
+    #   requests
+coverage==7.1.0
     # via -r requirements-test.in
 idna==3.4
     # via requests
-mock==4.0.3
+mock==5.0.1
     # via -r requirements-test.in
 nose2==0.12.0
     # via -r requirements-test.in
-requests==2.28.1
+requests==2.28.2
     # via requests-mock
 requests-mock==1.10.0
     # via -r requirements-test.in
 six==1.16.0
     # via requests-mock
-urllib3==1.26.12
+urllib3==1.26.14
     # via requests
diff --git a/requirements.in b/requirements.in
index ea5adec..39e61db 100644
--- a/requirements.in
+++ b/requirements.in
@@ -19,21 +19,21 @@
 # For those usages not covered by the Apache License, Version 2.0 please
 # contact: prithiv.mohan@intel.com or adrian.hoban@intel.com
 aiokafka
+certifi
+cffi
+charset-normalizer<3 # Required by aiohttp in LCM via N2VC
+cryptography
 gnocchiclient
 humanfriendly
 lxml
 prometheus-api-client
 prometheus-client
 python-ceilometerclient
-python-keystoneclient==4.5.0
-python-neutronclient==7.8.0
-python-novaclient==18.0.0
+python-keystoneclient
+python-neutronclient
+python-novaclient
 python-cinderclient==8.3.0
-pyvcloud==23.0.*
-pyyaml==5.4.1
-requests==2.28.1
+pyvcloud
+pyyaml==5.4.1 # dependency comes from common
+requests
 six
-certifi==2022.9.24
-cffi==1.15.1
-charset-normalizer==2.1.1
-cryptography==38.0.1
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 0f99e02..e9ff7b3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -14,11 +14,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #######################################################################################
-aiokafka==0.7.2
+aiokafka==0.8.0
     # via -r requirements.in
 appdirs==1.4.4
     # via openstacksdk
-attrs==22.1.0
+async-timeout==4.0.2
+    # via aiokafka
+attrs==22.2.0
     # via cmd2
 autopage==0.5.1
     # via cliff
@@ -26,7 +28,7 @@
     # via
     #   pytz-deprecation-shim
     #   tzlocal
-certifi==2022.9.24
+certifi==2022.12.7
     # via
     #   -r requirements.in
     #   requests
@@ -38,22 +40,22 @@
     # via
     #   -r requirements.in
     #   requests
-cliff==4.0.0
+cliff==4.1.0
     # via
     #   gnocchiclient
     #   osc-lib
     #   python-neutronclient
-cmd2==2.4.2
+cmd2==2.4.3
     # via cliff
-contourpy==1.0.5
+contourpy==1.0.7
     # via matplotlib
-cryptography==38.0.1
+cryptography==39.0.0
     # via
     #   -r requirements.in
     #   openstacksdk
 cycler==0.11.0
     # via matplotlib
-dateparser==1.1.1
+dateparser==1.1.6
     # via prometheus-api-client
 debtcollector==2.5.0
     # via
@@ -70,7 +72,7 @@
     #   openstacksdk
 dogpile-cache==1.1.8
     # via openstacksdk
-fonttools==4.37.4
+fonttools==4.38.0
     # via matplotlib
 futurist==2.4.1
     # via gnocchiclient
@@ -84,7 +86,7 @@
     #   pyvcloud
 idna==3.4
     # via requests
-importlib-metadata==5.0.0
+importlib-metadata==6.0.0
     # via cliff
 iso8601==1.1.0
     # via
@@ -103,7 +105,7 @@
     # via jsonpatch
 kafka-python==2.0.2
     # via aiokafka
-keystoneauth1==5.0.0
+keystoneauth1==5.1.1
     # via
     #   gnocchiclient
     #   openstacksdk
@@ -115,12 +117,12 @@
     #   python-novaclient
 kiwisolver==1.4.4
     # via matplotlib
-lxml==4.9.1
+lxml==4.9.2
     # via
     #   -r requirements.in
     #   pyvcloud
     #   unittest-xml-reporting
-matplotlib==3.6.1
+matplotlib==3.6.3
     # via prometheus-api-client
 monotonic==1.6
     # via gnocchiclient
@@ -137,13 +139,13 @@
     # via
     #   openstacksdk
     #   oslo-utils
-numpy==1.23.3
+numpy==1.24.1
     # via
     #   contourpy
     #   matplotlib
     #   pandas
     #   prometheus-api-client
-openstacksdk==0.101.0
+openstacksdk==0.103.0
     # via
     #   os-client-config
     #   osc-lib
@@ -155,7 +157,7 @@
     #   openstacksdk
 osc-lib==2.6.2
     # via python-neutronclient
-oslo-config==9.0.0
+oslo-config==9.1.0
     # via
     #   oslo-log
     #   python-keystoneclient
@@ -172,7 +174,7 @@
     #   python-keystoneclient
     #   python-neutronclient
     #   python-novaclient
-oslo-log==5.0.0
+oslo-log==5.0.2
     # via python-neutronclient
 oslo-serialization==5.0.0
     # via
@@ -181,7 +183,7 @@
     #   python-keystoneclient
     #   python-neutronclient
     #   python-novaclient
-oslo-utils==6.0.1
+oslo-utils==6.1.0
     # via
     #   osc-lib
     #   oslo-log
@@ -191,15 +193,16 @@
     #   python-keystoneclient
     #   python-neutronclient
     #   python-novaclient
-packaging==21.3
+packaging==23.0
     # via
+    #   aiokafka
     #   matplotlib
     #   oslo-utils
     #   python-keystoneclient
     #   pyvcloud
-pandas==1.5.0
+pandas==1.5.3
     # via prometheus-api-client
-pbr==5.10.0
+pbr==5.11.1
     # via
     #   gnocchiclient
     #   keystoneauth1
@@ -216,7 +219,7 @@
     #   python-neutronclient
     #   python-novaclient
     #   stevedore
-pillow==9.2.0
+pillow==9.4.0
     # via matplotlib
 prettytable==0.7.2
     # via
@@ -224,13 +227,13 @@
     #   python-ceilometerclient
     #   python-cinderclient
     #   python-novaclient
-prometheus-api-client==0.5.1
+prometheus-api-client==0.5.2
     # via -r requirements.in
-prometheus-client==0.14.1
+prometheus-client==0.16.0
     # via -r requirements.in
 pycparser==2.21
     # via cffi
-pygments==2.13.0
+pygments==2.14.0
     # via pyvcloud
 pyinotify==0.9.6
     # via oslo-log
@@ -238,7 +241,6 @@
     # via
     #   matplotlib
     #   oslo-utils
-    #   packaging
 pyperclip==1.8.2
     # via cmd2
 python-ceilometerclient==2.9.0
@@ -253,15 +255,15 @@
     #   oslo-log
     #   pandas
     #   pyvcloud
-python-keystoneclient==4.5.0
+python-keystoneclient==5.0.1
     # via
     #   -r requirements.in
     #   python-neutronclient
-python-neutronclient==7.8.0
+python-neutronclient==8.2.1
     # via -r requirements.in
-python-novaclient==18.0.0
+python-novaclient==18.2.0
     # via -r requirements.in
-pytz==2022.4
+pytz==2022.7.1
     # via
     #   dateparser
     #   oslo-serialization
@@ -278,9 +280,9 @@
     #   openstacksdk
     #   oslo-config
     #   pyvcloud
-regex==2022.3.2
+regex==2022.10.31
     # via dateparser
-requests==2.28.1
+requests==2.28.2
     # via
     #   -r requirements.in
     #   httmock
@@ -296,7 +298,7 @@
     # via openstacksdk
 rfc3986==2.0.0
     # via oslo-config
-simplejson==3.17.6
+simplejson==3.18.1
     # via
     #   osc-lib
     #   python-cinderclient
@@ -310,7 +312,7 @@
     #   python-ceilometerclient
     #   python-dateutil
     #   python-keystoneclient
-stevedore==4.0.0
+stevedore==4.1.1
     # via
     #   cliff
     #   dogpile-cache
@@ -321,21 +323,21 @@
     #   python-cinderclient
     #   python-keystoneclient
     #   python-novaclient
-tzdata==2022.4
+tzdata==2022.7
     # via pytz-deprecation-shim
 tzlocal==4.2
     # via dateparser
-ujson==5.5.0
+ujson==5.7.0
     # via gnocchiclient
 unittest-xml-reporting==3.2.0
     # via pyvcloud
-urllib3==1.26.12
+urllib3==1.26.14
     # via requests
 vcd-api-schemas-type==10.3.0.dev72
     # via pyvcloud
-wcwidth==0.2.5
+wcwidth==0.2.6
     # via cmd2
 wrapt==1.14.1
     # via debtcollector
-zipp==3.9.0
+zipp==3.12.0
     # via importlib-metadata
