Merge "Adding more labels to Prometheus metrics"
authorlavado <glavado@whitestack.com>
Fri, 29 Nov 2019 16:24:16 +0000 (17:24 +0100)
committerGerrit Code Review <root@osm.etsi.org>
Fri, 29 Nov 2019 16:24:16 +0000 (17:24 +0100)
1  2 
osm_mon/collector/vnf_collectors/openstack.py

@@@ -28,7 -28,6 +28,7 @@@ from ceilometerclient import client as 
  from ceilometerclient.exc import HTTPException
  from gnocchiclient.v1 import client as gnocchi_client
  from keystoneclient.v3 import client as keystone_client
 +from keystoneauth1.exceptions.catalog import EndpointNotFound
  from neutronclient.v2_0 import client as neutron_client
  
  from osm_mon.collector.metric import Metric
@@@ -81,6 -80,12 +81,12 @@@ class OpenstackCollector(BaseVimCollect
          nsr_id = vnfr['nsr-id-ref']
          vnf_member_index = vnfr['member-vnf-index-ref']
          vnfd = self.common_db.get_vnfd(vnfr['vnfd-id'])
+         # Populate extra tags for metrics
+         tags = {}
+         tags['ns_name'] = self.common_db.get_nsr(nsr_id)['name']
+         tags['project_id'] = vnfr['_admin']['projects_read'][0]
          metrics = []
          for vdur in vnfr['vdur']:
              # This avoids errors when vdur records have not been completely filled
                          value = self.backend.collect_metric(metric_type, openstack_metric_name, resource_id,
                                                              interface_name)
                          if value is not None:
-                             tags = {}
                              if interface_name:
                                  tags['interface'] = interface_name
                              metric = VnfMetric(nsr_id, vnf_member_index, vdur['name'], metric_name, value, tags)
              ceilometer = CeilometerBackend(vim_account)
              ceilometer.client.capabilities.get()
              return ceilometer
 -        except HTTPException:
 +        except (HTTPException, EndpointNotFound):
              gnocchi = GnocchiBackend(vim_account)
              gnocchi.client.metric.list(limit=1)
              return gnocchi