From: Gulsum Atici Date: Tue, 18 Apr 2023 20:30:13 +0000 (+0300) Subject: Fix Bug 2234 Upgrading Python libjuju to 2.9.42.1 X-Git-Tag: v12.0.7~3 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=refs%2Fchanges%2F30%2F13230%2F5;p=osm%2FMON.git Fix Bug 2234 Upgrading Python libjuju to 2.9.42.1 Change-Id: I0b013fbe971c9bbf0f609207bbfe65b56cbc85ed Signed-off-by: Gulsum Atici --- diff --git a/osm_mon/collector/infra_collectors/base_osinfra.py b/osm_mon/collector/infra_collectors/base_osinfra.py index 018aa9a..8ab34e4 100644 --- a/osm_mon/collector/infra_collectors/base_osinfra.py +++ b/osm_mon/collector/infra_collectors/base_osinfra.py @@ -66,7 +66,9 @@ class BaseOpenStackInfraCollector(BaseVimInfraCollector): metrics.append(vim_status_metric) vnfrs = self.common_db.get_vnfrs(vim_account_id=self.vim_account["_id"]) if self.conf.get("collector", "vm_infra_metrics"): - vm_infra_metrics_enabled = str(self.conf.get("collector", "vm_infra_metrics")).lower() in ("yes", "true", "1") + vm_infra_metrics_enabled = str( + self.conf.get("collector", "vm_infra_metrics") + ).lower() in ("yes", "true", "1") else: vm_infra_metrics_enabled = True if vm_infra_metrics_enabled: @@ -94,7 +96,7 @@ class BaseOpenStackInfraCollector(BaseVimInfraCollector): } try: vm = self.nova.servers.get(resource_uuid) - vm_status = (0 if (vm.status == 'ERROR') else 1) + vm_status = 0 if (vm.status == "ERROR") else 1 vm_status_metric = Metric(tags, "vm_status", vm_status) except Exception as e: log.warning("VM status is not OK: %s" % e) @@ -116,42 +118,104 @@ class BaseOpenStackInfraCollector(BaseVimInfraCollector): vimacc_resources = self.vim_account["resources"] # Compute resources try: - com_lim = self.nova.limits.get()._info['absolute'] - if ("compute" in vimacc_resources) \ - and ((vimacc_resources["compute"]["ram"]["total"] != com_lim['maxTotalRAMSize']) - or (vimacc_resources["compute"]["vcpus"]["total"] != com_lim['maxTotalCores']) - or (vimacc_resources["compute"]["ram"]["used"] != com_lim['totalRAMUsed']) - or (vimacc_resources["compute"]["vcpus"]["used"] != com_lim['totalCoresUsed']) - or (vimacc_resources["compute"]["instances"]["total"] != com_lim['maxTotalInstances']) - or (vimacc_resources["compute"]["instances"]["used"] != com_lim['totalInstancesUsed'])): - update_dict = {"resources.compute": {"ram": {"total": com_lim['maxTotalRAMSize'], - "used": com_lim['totalRAMUsed']}, - "vcpus": {"total": com_lim['maxTotalCores'], - "used": com_lim['totalCoresUsed']}, - "instances": {"total": com_lim['maxTotalInstances'], - "used": com_lim['totalInstancesUsed']}}} - suc_value = self.common_db.set_vim_account(str(self.vim_account['_id']), update_dict) + com_lim = self.nova.limits.get()._info["absolute"] + if ("compute" in vimacc_resources) and ( + ( + vimacc_resources["compute"]["ram"]["total"] + != com_lim["maxTotalRAMSize"] + ) + or ( + vimacc_resources["compute"]["vcpus"]["total"] + != com_lim["maxTotalCores"] + ) + or ( + vimacc_resources["compute"]["ram"]["used"] + != com_lim["totalRAMUsed"] + ) + or ( + vimacc_resources["compute"]["vcpus"]["used"] + != com_lim["totalCoresUsed"] + ) + or ( + vimacc_resources["compute"]["instances"]["total"] + != com_lim["maxTotalInstances"] + ) + or ( + vimacc_resources["compute"]["instances"]["used"] + != com_lim["totalInstancesUsed"] + ) + ): + update_dict = { + "resources.compute": { + "ram": { + "total": com_lim["maxTotalRAMSize"], + "used": com_lim["totalRAMUsed"], + }, + "vcpus": { + "total": com_lim["maxTotalCores"], + "used": com_lim["totalCoresUsed"], + }, + "instances": { + "total": com_lim["maxTotalInstances"], + "used": com_lim["totalInstancesUsed"], + }, + } + } + suc_value = self.common_db.set_vim_account( + str(self.vim_account["_id"]), update_dict + ) log.info("Compute resources update in mongoDB = %s" % suc_value) except Exception as e: log.warning("Error in updating compute resources: %s" % e) # Volume resources try: - vol_lim = self.cinder.limits.get()._info['absolute'] - if ("storage" in vimacc_resources) and\ - ((vimacc_resources["storage"]["volumes"]["total"] != vol_lim['maxTotalVolumes']) - or (vimacc_resources["storage"]["snapshots"]["total"] != vol_lim['maxTotalSnapshots']) - or (vimacc_resources["storage"]["volumes"]["used"] != vol_lim['totalVolumesUsed']) - or (vimacc_resources["storage"]["snapshots"]["used"] != vol_lim['totalSnapshotsUsed']) - or (vimacc_resources["storage"]["storage"]["total"] != vol_lim['maxTotalVolumeGigabytes']) - or (vimacc_resources["storage"]["storage"]["used"] != vol_lim['totalGigabytesUsed'])): - update_dict = {"resources.storage": {"volumes": {"total": vol_lim['maxTotalVolumes'], - "used": vol_lim['totalVolumesUsed']}, - "snapshots": {"total": vol_lim['maxTotalSnapshots'], - "used": vol_lim['totalSnapshotsUsed']}, - "storage": {"total": vol_lim['maxTotalVolumeGigabytes'], - "used": vol_lim['totalGigabytesUsed']}}} - suc_value = self.common_db.set_vim_account(str(self.vim_account['_id']), update_dict) + vol_lim = self.cinder.limits.get()._info["absolute"] + if ("storage" in vimacc_resources) and ( + ( + vimacc_resources["storage"]["volumes"]["total"] + != vol_lim["maxTotalVolumes"] + ) + or ( + vimacc_resources["storage"]["snapshots"]["total"] + != vol_lim["maxTotalSnapshots"] + ) + or ( + vimacc_resources["storage"]["volumes"]["used"] + != vol_lim["totalVolumesUsed"] + ) + or ( + vimacc_resources["storage"]["snapshots"]["used"] + != vol_lim["totalSnapshotsUsed"] + ) + or ( + vimacc_resources["storage"]["storage"]["total"] + != vol_lim["maxTotalVolumeGigabytes"] + ) + or ( + vimacc_resources["storage"]["storage"]["used"] + != vol_lim["totalGigabytesUsed"] + ) + ): + update_dict = { + "resources.storage": { + "volumes": { + "total": vol_lim["maxTotalVolumes"], + "used": vol_lim["totalVolumesUsed"], + }, + "snapshots": { + "total": vol_lim["maxTotalSnapshots"], + "used": vol_lim["totalSnapshotsUsed"], + }, + "storage": { + "total": vol_lim["maxTotalVolumeGigabytes"], + "used": vol_lim["totalGigabytesUsed"], + }, + } + } + suc_value = self.common_db.set_vim_account( + str(self.vim_account["_id"]), update_dict + ) log.info("Volume resources update in mongoDB = %s" % suc_value) except Exception as e: log.warning("Error in updating volume resources: %s" % e) @@ -159,20 +223,51 @@ class BaseOpenStackInfraCollector(BaseVimInfraCollector): # Network resources try: net_lim = self.neutron.show_quota_details(self.tenant_id)["quota"] - if ("network" in vimacc_resources) and\ - ((vimacc_resources["network"]["networks"]["total"] != net_lim["network"]["limit"]) - or (vimacc_resources["network"]["networks"]["used"] != net_lim['network']['used']) - or (vimacc_resources["network"]["subnets"]["total"] != net_lim['subnet']['limit']) - or (vimacc_resources["network"]["subnets"]["used"] != net_lim['subnet']['used']) - or (vimacc_resources["network"]["floating_ips"]["total"] != net_lim['floatingip']['limit']) - or (vimacc_resources["network"]["floating_ips"]["used"] != net_lim['floatingip']['used'])): - update_dict = {"resources.network": {"networks": {"total": net_lim['network']['limit'], - "used": net_lim['network']['used']}, - "subnets": {"total": net_lim['subnet']['limit'], - "used": net_lim['subnet']['used']}, - "floating_ips": {"total": net_lim['floatingip']['limit'], - "used": net_lim['floatingip']['used']}}} - suc_value = self.common_db.set_vim_account(str(self.vim_account['_id']), update_dict) + if ("network" in vimacc_resources) and ( + ( + vimacc_resources["network"]["networks"]["total"] + != net_lim["network"]["limit"] + ) + or ( + vimacc_resources["network"]["networks"]["used"] + != net_lim["network"]["used"] + ) + or ( + vimacc_resources["network"]["subnets"]["total"] + != net_lim["subnet"]["limit"] + ) + or ( + vimacc_resources["network"]["subnets"]["used"] + != net_lim["subnet"]["used"] + ) + or ( + vimacc_resources["network"]["floating_ips"]["total"] + != net_lim["floatingip"]["limit"] + ) + or ( + vimacc_resources["network"]["floating_ips"]["used"] + != net_lim["floatingip"]["used"] + ) + ): + update_dict = { + "resources.network": { + "networks": { + "total": net_lim["network"]["limit"], + "used": net_lim["network"]["used"], + }, + "subnets": { + "total": net_lim["subnet"]["limit"], + "used": net_lim["subnet"]["used"], + }, + "floating_ips": { + "total": net_lim["floatingip"]["limit"], + "used": net_lim["floatingip"]["used"], + }, + } + } + suc_value = self.common_db.set_vim_account( + str(self.vim_account["_id"]), update_dict + ) log.info("Network resources update in mongoDB = %s" % suc_value) except Exception as e: log.warning("Error in updating network resources: %s" % e) @@ -193,4 +288,7 @@ class BaseOpenStackInfraCollector(BaseVimInfraCollector): def _build_neutron_client(self, vim_account: dict) -> tuple: # sess = OpenstackUtils.get_session(vim_account) tenant_id = self.vim_session.get_project_id() - return neutron_client.Client("2", session=self.vim_session, timeout=10), tenant_id + return ( + neutron_client.Client("2", session=self.vim_session, timeout=10), + tenant_id, + ) diff --git a/osm_mon/collector/infra_collectors/vmware.py b/osm_mon/collector/infra_collectors/vmware.py index 6547ab8..3c65270 100644 --- a/osm_mon/collector/infra_collectors/vmware.py +++ b/osm_mon/collector/infra_collectors/vmware.py @@ -195,7 +195,9 @@ class VMwareInfraCollector(BaseVimInfraCollector): metrics.append(vim_status_metric) vnfrs = self.common_db.get_vnfrs(vim_account_id=vim_account_id) if self.conf.get("collector", "vm_infra_metrics"): - vm_infra_metrics_enabled = str(self.conf.get("collector", "vm_infra_metrics")).lower() in ("yes", "true", "1") + vm_infra_metrics_enabled = str( + self.conf.get("collector", "vm_infra_metrics") + ).lower() in ("yes", "true", "1") else: vm_infra_metrics_enabled = True if vm_infra_metrics_enabled: diff --git a/osm_mon/collector/vnf_collectors/openstack.py b/osm_mon/collector/vnf_collectors/openstack.py index a823b67..be2bdb7 100644 --- a/osm_mon/collector/vnf_collectors/openstack.py +++ b/osm_mon/collector/vnf_collectors/openstack.py @@ -63,7 +63,7 @@ METRIC_MAPPINGS_FOR_ROCKY_AND_NEWER_RELEASES = { "disk_read_bytes": "disk.device.read.bytes", "disk_write_bytes": "disk.device.write.bytes", "packets_received": "network.incoming.packets", - "packets_sent": "network.outgoing.packets" + "packets_sent": "network.outgoing.packets", } METRIC_MULTIPLIERS = {"cpu": 0.0000001} @@ -89,7 +89,7 @@ class MetricType(Enum): INSTANCE = "instance" INTERFACE_ALL = "interface_all" INTERFACE_ONE = "interface_one" - INSTANCEDISK = 'instancedisk' + INSTANCEDISK = "instancedisk" class OpenstackCollector(BaseVimCollector): @@ -161,16 +161,25 @@ class OpenstackCollector(BaseVimCollector): metric_type, openstack_metric_name, resource_id ) - if value is None and metric_name in METRIC_MAPPINGS_FOR_ROCKY_AND_NEWER_RELEASES and type(self.backend) is not PrometheusTSBDBackend: + if ( + value is None + and metric_name + in METRIC_MAPPINGS_FOR_ROCKY_AND_NEWER_RELEASES + and type(self.backend) is not PrometheusTSBDBackend + ): # Reattempting metric collection with new metric names. # Some metric names have changed in newer Openstack releases log.info( "Reattempting metric collection for type: %s and name: %s and resource_id %s", metric_type, metric_name, - resource_id + resource_id, + ) + openstack_metric_name = ( + METRIC_MAPPINGS_FOR_ROCKY_AND_NEWER_RELEASES[ + metric_name + ] ) - openstack_metric_name = METRIC_MAPPINGS_FOR_ROCKY_AND_NEWER_RELEASES[metric_name] value = self.backend.collect_metric( metric_type, openstack_metric_name, resource_id ) @@ -240,21 +249,23 @@ class PrometheusTSBDBackend(OpenstackBackend): def _build_prometheus_client(self, vim_account: dict) -> prometheus_client: url = vim_account["prometheus-config"]["prometheus_url"] - return prometheus_client(url, disable_ssl = True) + return prometheus_client(url, disable_ssl=True) def collect_metric( self, metric_type: MetricType, metric_name: str, resource_id: str - ): + ): metric = self.query_metric(metric_name, resource_id) return metric["value"][1] if metric else None def map_metric(self, metric_name: str): return self.map[metric_name] - def query_metric(self, metric_name, resource_id = None): - metrics = self.client.get_current_metric_value(metric_name = metric_name) + def query_metric(self, metric_name, resource_id=None): + metrics = self.client.get_current_metric_value(metric_name=metric_name) if resource_id: - metric = next(filter(lambda x: resource_id in x["metric"]["resource_id"], metrics)) + metric = next( + filter(lambda x: resource_id in x["metric"]["resource_id"], metrics) + ) return metric return metrics @@ -264,10 +275,14 @@ class GnocchiBackend(OpenstackBackend): self.client = self._build_gnocchi_client(vim_account, vim_session) self.neutron = self._build_neutron_client(vim_account, vim_session) - def _build_gnocchi_client(self, vim_account: dict, vim_session: object) -> gnocchi_client.Client: + def _build_gnocchi_client( + self, vim_account: dict, vim_session: object + ) -> gnocchi_client.Client: return gnocchi_client.Client(session=vim_session) - def _build_neutron_client(self, vim_account: dict, vim_session: object) -> neutron_client.Client: + def _build_neutron_client( + self, vim_account: dict, vim_session: object + ) -> neutron_client.Client: return neutron_client.Client(session=vim_session) def collect_metric( @@ -313,20 +328,24 @@ class GnocchiBackend(OpenstackBackend): def _collect_instance_disk_metric(self, openstack_metric_name, resource_id): value = None instances = self.client.resource.search( - resource_type='instance_disk', - query={'=': {'instance_id': resource_id}}, + resource_type="instance_disk", + query={"=": {"instance_id": resource_id}}, ) for instance in instances: try: measures = self.client.metric.get_measures( - openstack_metric_name, resource_id=instance['id'], limit=1 + openstack_metric_name, resource_id=instance["id"], limit=1 ) if measures: value = measures[-1][2] except gnocchiclient.exceptions.NotFound as e: - log.debug("No metric %s found for instance disk %s: %s", openstack_metric_name, - instance['id'], e) + log.debug( + "No metric %s found for instance disk %s: %s", + openstack_metric_name, + instance["id"], + e, + ) return value def _collect_instance_metric(self, openstack_metric_name, resource_id): @@ -396,7 +415,9 @@ class CeilometerBackend(OpenstackBackend): def __init__(self, vim_account: dict, vim_session: object): self.client = self._build_ceilometer_client(vim_account, vim_session) - def _build_ceilometer_client(self, vim_account: dict, vim_session: object) -> ceilometer_client.Client: + def _build_ceilometer_client( + self, vim_account: dict, vim_session: object + ) -> ceilometer_client.Client: return ceilometer_client.Client("2", session=vim_session) def collect_metric( diff --git a/requirements-dev.txt b/requirements-dev.txt index d6af767..7b20a0c 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -19,156 +19,155 @@ -e git+https://osm.etsi.org/gerrit/osm/common.git@master#egg=osm-common # via -r requirements-dev.in aiokafka==0.7.2 - # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master + # via -r ../common/requirements.txt async-timeout==3.0.1 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # retrying-async -bcrypt==3.2.2 +bcrypt==4.0.1 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # 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=master + # -r ../N2VC/requirements.txt # google-auth -certifi==2022.6.15 +certifi==2022.12.7 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # kubernetes # requests -cffi==1.15.0 +cffi==1.15.1 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master - # bcrypt + # -r ../N2VC/requirements.txt # cryptography # pynacl -charset-normalizer==2.0.12 +charset-normalizer==3.1.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # requests -cryptography==37.0.2 +cryptography==40.0.2 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # paramiko dataclasses==0.6 - # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master -google-auth==2.8.0 + # via -r ../common/requirements.txt +google-auth==2.17.3 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # kubernetes -idna==3.3 +idna==3.4 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # requests -juju==2.9.10 - # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master +juju==2.9.42.1 + # via -r ../N2VC/requirements.txt jujubundlelib==0.5.7 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # theblues kafka-python==2.0.2 # via - # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../common/requirements.txt # aiokafka -kubernetes==24.2.0 +kubernetes==26.1.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # juju macaroonbakery==1.3.1 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # juju # theblues motor==1.3.1 - # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master -mypy-extensions==0.4.3 + # via -r ../N2VC/requirements.txt +mypy-extensions==1.0.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # typing-inspect -oauthlib==3.2.0 +oauthlib==3.2.2 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # requests-oauthlib -paramiko==2.11.0 +paramiko==2.12.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # juju -protobuf==3.20.1 +protobuf==3.20.3 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # macaroonbakery pyasn1==0.4.8 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # juju # pyasn1-modules # rsa pyasn1-modules==0.2.8 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # google-auth pycparser==2.21 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # cffi pycrypto==2.6.1 - # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master + # via -r ../common/requirements.txt pymacaroons==0.13.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # macaroonbakery pymongo==3.12.3 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master - # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt + # -r ../common/requirements.txt # motor pynacl==1.5.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # macaroonbakery # paramiko # pymacaroons pyrfc3339==1.1 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # juju # macaroonbakery python-dateutil==2.8.2 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # kubernetes -pytz==2022.1 +pytz==2023.3 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # pyrfc3339 pyyaml==5.4.1 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master - # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt + # -r ../common/requirements.txt # juju # jujubundlelib # kubernetes -requests==2.28.0 +requests==2.28.2 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # kubernetes # macaroonbakery # requests-oauthlib # theblues requests-oauthlib==1.3.1 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # kubernetes retrying-async==2.0.0 - # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master -rsa==4.8 + # via -r ../N2VC/requirements.txt +rsa==4.9 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # google-auth six==1.16.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # google-auth # kubernetes # macaroonbakery @@ -177,32 +176,32 @@ six==1.16.0 # python-dateutil theblues==0.5.2 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # juju -toposort==1.7 +toposort==1.10 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # juju -typing-extensions==4.2.0 +typing-extensions==4.5.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # typing-inspect -typing-inspect==0.7.1 +typing-inspect==0.8.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # juju -urllib3==1.26.9 +urllib3==1.26.15 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # kubernetes # requests -websocket-client==1.3.3 +websocket-client==1.5.1 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # kubernetes websockets==7.0 # via - # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master + # -r ../N2VC/requirements.txt # juju # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements-test.txt b/requirements-test.txt index d722d25..4033acf 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -14,27 +14,23 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### -certifi==2022.6.15 +certifi==2022.12.7 # via requests -charset-normalizer==2.0.12 +charset-normalizer==3.1.0 # via requests -coverage==6.4.1 - # via - # -r requirements-test.in - # nose2 -idna==3.3 +coverage==7.2.3 + # via -r requirements-test.in +idna==3.4 # via requests -mock==4.0.3 +mock==5.0.2 # via -r requirements-test.in -nose2==0.11.0 +nose2==0.12.0 # via -r requirements-test.in -requests==2.28.0 +requests==2.28.2 # via requests-mock -requests-mock==1.9.3 +requests-mock==1.10.0 # via -r requirements-test.in six==1.16.0 - # via - # nose2 - # requests-mock -urllib3==1.26.9 + # via requests-mock +urllib3==1.26.15 # via requests diff --git a/requirements.txt b/requirements.txt index a42f768..51846d0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,7 +18,9 @@ aiokafka==0.7.2 # via -r requirements.in appdirs==1.4.4 # via openstacksdk -attrs==21.4.0 +async-timeout==3.0.1 + # via aiokafka +attrs==23.1.0 # via cmd2 autopage==0.5.1 # via cliff @@ -26,24 +28,26 @@ backports-zoneinfo==0.2.1 # via # pytz-deprecation-shim # tzlocal -certifi==2022.6.15 +certifi==2022.12.7 # via requests -cffi==1.15.0 +cffi==1.15.1 # via cryptography -charset-normalizer==2.0.12 +charset-normalizer==3.1.0 # via requests -cliff==3.10.1 +cliff==4.2.0 # via # gnocchiclient # osc-lib # python-neutronclient -cmd2==2.4.1 +cmd2==2.4.3 # via cliff -cryptography==37.0.2 +contourpy==1.0.7 + # via matplotlib +cryptography==40.0.2 # via openstacksdk cycler==0.11.0 # via matplotlib -dateparser==1.1.1 +dateparser==1.1.8 # via prometheus-api-client debtcollector==2.5.0 # via @@ -58,13 +62,13 @@ decorator==5.1.1 # via # dogpile-cache # openstacksdk -dogpile-cache==1.1.6 +dogpile-cache==1.1.8 # via openstacksdk -fonttools==4.33.3 +fonttools==4.39.3 # via matplotlib futurist==2.4.1 # via gnocchiclient -gnocchiclient==7.0.7 +gnocchiclient==7.0.8 # via -r requirements.in httmock==1.4.0 # via prometheus-api-client @@ -72,9 +76,13 @@ humanfriendly==10.0 # via # -r requirements.in # pyvcloud -idna==3.3 +idna==3.4 # via requests -iso8601==1.0.2 +importlib-metadata==6.5.0 + # via cliff +importlib-resources==5.12.0 + # via matplotlib +iso8601==1.1.0 # via # gnocchiclient # keystoneauth1 @@ -91,7 +99,7 @@ jsonpointer==2.3 # via jsonpatch kafka-python==2.0.2 # via aiokafka -keystoneauth1==4.6.0 +keystoneauth1==5.1.2 # via # gnocchiclient # openstacksdk @@ -101,21 +109,17 @@ keystoneauth1==4.6.0 # python-keystoneclient # python-neutronclient # python-novaclient -kiwisolver==1.4.3 +kiwisolver==1.4.4 # via matplotlib -lxml==4.9.0 +lxml==4.9.2 # via # -r requirements.in # pyvcloud # unittest-xml-reporting -matplotlib==3.5.2 +matplotlib==3.7.1 # via prometheus-api-client -monotonic==1.6 - # via gnocchiclient -msgpack==1.0.4 +msgpack==1.0.5 # via oslo-serialization -munch==2.5.0 - # via openstacksdk netaddr==0.8.0 # via # oslo-config @@ -125,12 +129,13 @@ netifaces==0.11.0 # via # openstacksdk # oslo-utils -numpy==1.23.0 +numpy==1.24.2 # via + # contourpy # matplotlib # pandas # prometheus-api-client -openstacksdk==0.99.0 +openstacksdk==1.0.1 # via # os-client-config # osc-lib @@ -140,15 +145,15 @@ os-service-types==1.7.0 # via # keystoneauth1 # openstacksdk -osc-lib==2.6.0 +osc-lib==2.7.0 # via python-neutronclient -oslo-config==8.8.0 +oslo-config==9.1.1 # via # oslo-log # python-keystoneclient -oslo-context==4.1.0 +oslo-context==5.1.1 # via oslo-log -oslo-i18n==5.1.0 +oslo-i18n==6.0.0 # via # osc-lib # oslo-config @@ -159,16 +164,16 @@ oslo-i18n==5.1.0 # python-keystoneclient # python-neutronclient # python-novaclient -oslo-log==5.0.0 +oslo-log==5.2.0 # via python-neutronclient -oslo-serialization==4.3.0 +oslo-serialization==5.1.1 # via # oslo-log # python-ceilometerclient # python-keystoneclient # python-neutronclient # python-novaclient -oslo-utils==6.0.0 +oslo-utils==6.1.0 # via # osc-lib # oslo-log @@ -178,18 +183,17 @@ oslo-utils==6.0.0 # python-keystoneclient # python-neutronclient # python-novaclient -packaging==21.3 +packaging==23.1 # via + # aiokafka # matplotlib # oslo-utils # python-keystoneclient # pyvcloud -pandas==1.4.3 +pandas==2.0.0 # via prometheus-api-client -pbr==5.9.0 +pbr==5.11.1 # via - # cliff - # gnocchiclient # keystoneauth1 # openstacksdk # os-service-types @@ -204,7 +208,7 @@ pbr==5.9.0 # python-neutronclient # python-novaclient # stevedore -pillow==9.1.1 +pillow==9.5.0 # via matplotlib prettytable==0.7.2 # via @@ -212,27 +216,25 @@ prettytable==0.7.2 # python-ceilometerclient # python-cinderclient # python-novaclient -prometheus-api-client==0.5.1 +prometheus-api-client==0.5.3 # 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.12.0 +pygments==2.15.1 # via pyvcloud pyinotify==0.9.6 # via oslo-log pyparsing==3.0.9 # via - # cliff # matplotlib # oslo-utils - # packaging pyperclip==1.8.2 # via cmd2 python-ceilometerclient==2.9.0 # via -r requirements.in -python-cinderclient==8.3.0 +python-cinderclient==9.3.0 # via -r requirements.in python-dateutil==2.8.2 # via @@ -242,15 +244,15 @@ python-dateutil==2.8.2 # oslo-log # pandas # pyvcloud -python-keystoneclient==4.5.0 +python-keystoneclient==5.1.0 # via # -r requirements.in # python-neutronclient -python-neutronclient==7.8.0 +python-neutronclient==9.0.0 # via -r requirements.in -python-novaclient==18.0.0 +python-novaclient==18.3.0 # via -r requirements.in -pytz==2022.1 +pytz==2023.3 # via # dateparser # oslo-serialization @@ -258,7 +260,7 @@ pytz==2022.1 # pandas pytz-deprecation-shim==0.1.0.post0 # via tzlocal -pyvcloud==23.0.3 +pyvcloud==23.0.4 # via -r requirements.in pyyaml==5.4.1 # via @@ -267,9 +269,9 @@ pyyaml==5.4.1 # openstacksdk # oslo-config # pyvcloud -regex==2022.3.2 +regex==2023.3.23 # via dateparser -requests==2.28.0 +requests==2.28.2 # via # -r requirements.in # httmock @@ -285,21 +287,19 @@ requestsexceptions==1.4.0 # via openstacksdk rfc3986==2.0.0 # via oslo-config -simplejson==3.17.6 +simplejson==3.19.1 # via # osc-lib - # python-cinderclient # python-neutronclient six==1.16.0 # via # -r requirements.in # gnocchiclient # keystoneauth1 - # munch # python-ceilometerclient # python-dateutil # python-keystoneclient -stevedore==3.5.0 +stevedore==5.0.0 # via # cliff # dogpile-cache @@ -310,19 +310,25 @@ stevedore==3.5.0 # python-cinderclient # python-keystoneclient # python-novaclient -tzdata==2022.1 - # via pytz-deprecation-shim -tzlocal==4.2 +tzdata==2023.3 + # via + # pandas + # pytz-deprecation-shim +tzlocal==4.3 # via dateparser -ujson==5.3.0 +ujson==5.7.0 # via gnocchiclient unittest-xml-reporting==3.2.0 # via pyvcloud -urllib3==1.26.9 +urllib3==1.26.15 # 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 +wrapt==1.15.0 # via debtcollector +zipp==3.15.0 + # via + # importlib-metadata + # importlib-resources