X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcollector%2Fvnf_collectors%2Fvmware.py;h=1bc33eb24fe3e385e7f3b493930ff77691493d50;hb=09bcf03e83c5863c3c0bcf47a457e70162fca94e;hp=329d61d880fa3ffa8b491bd6d8e12a5ded625180;hpb=7233ad262f6c5436c713784a443596c0aa919b04;p=osm%2FMON.git diff --git a/osm_mon/collector/vnf_collectors/vmware.py b/osm_mon/collector/vnf_collectors/vmware.py index 329d61d..1bc33eb 100644 --- a/osm_mon/collector/vnf_collectors/vmware.py +++ b/osm_mon/collector/vnf_collectors/vmware.py @@ -21,7 +21,6 @@ # contact: osslegalrouting@vmware.com ## -import json import logging import traceback from xml.etree import ElementTree as XmlElementTree @@ -30,11 +29,10 @@ import requests from pyvcloud.vcd.client import BasicLoginCredentials from pyvcloud.vcd.client import Client -from osm_mon.collector.utils.collector import CollectorUtils from osm_mon.collector.vnf_collectors.base_vim import BaseVimCollector +from osm_mon.collector.vnf_collectors.vrops.vrops_helper import vROPS_Helper from osm_mon.core.common_db import CommonDbClient from osm_mon.core.config import Config -from osm_mon.collector.vnf_collectors.vrops.vrops_helper import vROPS_Helper log = logging.getLogger(__name__) @@ -86,11 +84,11 @@ class VMwareCollector(BaseVimCollector): return - dict with vim account details """ vim_account = {} - vim_account_info = CollectorUtils.get_credentials(vim_account_id) + vim_account_info = self.common_db.get_vim_account(vim_account_id) - vim_account['vim_url'] = vim_account_info.url + vim_account['vim_url'] = vim_account_info['vim_url'] - vim_config = json.loads(vim_account_info.config) + vim_config = vim_account_info['config'] vim_account['admin_username'] = vim_config['admin_username'] vim_account['admin_password'] = vim_config['admin_password'] vim_account['vrops_site'] = vim_config['vrops_site'] @@ -182,6 +180,15 @@ class VMwareCollector(BaseVimCollector): vnfd = self.common_db.get_vnfd(vnfr['vnfd-id']) vdu_mappings = {} + # Populate extra tags for metrics + nsr_id = vnfr['nsr-id-ref'] + tags = {} + tags['ns_name'] = self.common_db.get_nsr(nsr_id)['name'] + if vnfr['_admin']['projects_read']: + tags['project_id'] = vnfr['_admin']['projects_read'][0] + else: + tags['project_id'] = '' + # Fetch the list of all known resources from vROPS. resource_list = self.vrops.get_vm_resource_list_from_vrops() @@ -193,7 +200,7 @@ class VMwareCollector(BaseVimCollector): filter(lambda vdu: vdu['id'] == vdur['vdu-id-ref'], vnfd['vdu']) ) - if 'monitoring-param' not in vdu: + if 'monitoring-parameter' not in vdu: continue resource_uuid = vdur['vim-id'] @@ -215,7 +222,9 @@ class VMwareCollector(BaseVimCollector): if len(vdu_mappings) != 0: return self.vrops.get_metrics(vdu_mappings=vdu_mappings, - monitoring_params=vdu['monitoring-param'], - vnfr=vnfr) + monitoring_params=vdu['monitoring-parameter'], + vnfr=vnfr, + tags=tags + ) else: return []