diff options
author | Koren Lev <korenlev@gmail.com> | 2017-07-27 15:04:07 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-07-27 15:04:07 +0000 |
commit | 162c03ef301396072c1934e7e7e0c40a841b4fe2 (patch) | |
tree | 7a2a2781949252436450ff5832962785061a774a /app/discover/fetchers/cli/cli_fetch_host_pnics_vpp.py | |
parent | b88c78e3cf2bef22aa2f1c4d0bf305e303bc15f0 (diff) | |
parent | 7e83d0876ddb84a45e130eeba28bc40ef53c074b (diff) |
Merge "Calipso initial release for OPNFV"
Diffstat (limited to 'app/discover/fetchers/cli/cli_fetch_host_pnics_vpp.py')
-rw-r--r-- | app/discover/fetchers/cli/cli_fetch_host_pnics_vpp.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/app/discover/fetchers/cli/cli_fetch_host_pnics_vpp.py b/app/discover/fetchers/cli/cli_fetch_host_pnics_vpp.py new file mode 100644 index 0000000..69b6413 --- /dev/null +++ b/app/discover/fetchers/cli/cli_fetch_host_pnics_vpp.py @@ -0,0 +1,44 @@ +############################################################################### +# Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) # +# and others # +# # +# All rights reserved. This program and the accompanying materials # +# are made available under the terms of the Apache License, Version 2.0 # +# which accompanies this distribution, and is available at # +# http://www.apache.org/licenses/LICENSE-2.0 # +############################################################################### +import re + +from discover.fetcher import Fetcher +from utils.inventory_mgr import InventoryMgr + +NAME_RE = '^[a-zA-Z]*GigabitEthernet' + +class CliFetchHostPnicsVpp(Fetcher): + def __init__(self): + super().__init__() + self.inv = InventoryMgr() + self.name_re = re.compile(NAME_RE) + + def get(self, id): + host_id = id[:id.rindex("-")] + host_id = id[:host_id.rindex("-")] + vedges = self.inv.find_items({ + "environment": self.get_env(), + "type": "vedge", + "host": host_id + }) + ret = [] + for vedge in vedges: + pnic_ports = vedge['ports'] + for pnic_name in pnic_ports: + if not self.name_re.search(pnic_name): + continue + pnic = pnic_ports[pnic_name] + pnic['host'] = host_id + pnic['id'] = host_id + "-pnic-" + pnic_name + pnic['type'] = 'pnic' + pnic['object_name'] = pnic_name + pnic['Link detected'] = 'yes' if pnic['state'] == 'up' else 'no' + ret.append(pnic) + return ret |