From 7b4235dced0c66096638bebd5cc98a631538b0e1 Mon Sep 17 00:00:00 2001 From: Ilia Abashin Date: Fri, 1 Sep 2017 15:51:52 +0300 Subject: Refactored link finders Mappings are now defined in a configuration file and fetched dynamically. Change-Id: I250c22967fc66fc0aca173d4c9d65581d879b5d2 Signed-off-by: Ilia Abashin --- app/discover/find_links_for_instance_vnics.py | 60 --------------------------- 1 file changed, 60 deletions(-) delete mode 100644 app/discover/find_links_for_instance_vnics.py (limited to 'app/discover/find_links_for_instance_vnics.py') diff --git a/app/discover/find_links_for_instance_vnics.py b/app/discover/find_links_for_instance_vnics.py deleted file mode 100644 index 55f7bfc..0000000 --- a/app/discover/find_links_for_instance_vnics.py +++ /dev/null @@ -1,60 +0,0 @@ -############################################################################### -# 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 # -############################################################################### -from discover.find_links import FindLinks - - -class FindLinksForInstanceVnics(FindLinks): - def __init__(self): - super().__init__() - - def add_links(self): - self.log.info("adding links of type: instance-vnic") - vnics = self.inv.find_items({ - "environment": self.get_env(), - "type": "vnic", - "vnic_type": "instance_vnic" - }) - for v in vnics: - self.add_link_for_vnic(v) - - def add_link_for_vnic(self, v): - instance = self.inv.get_by_id(self.get_env(), v["instance_id"]) - if "network_info" not in instance: - self.log.warn("add_link_for_vnic: " + - "network_info missing in instance: %s ", - instance["id"]) - return - host = self.inv.get_by_id(self.get_env(), instance["host"]) - host_types = host["host_type"] - if "Network" not in host_types and "Compute" not in host_types: - return [] - source = instance["_id"] - source_id = instance["id"] - target = v["_id"] - target_id = v["id"] - link_type = "instance-vnic" - # find related network - network_name = None - network_id = None - for net in instance["network_info"]: - if net["devname"] == v["id"]: - network_name = net["network"]["label"] - network_id = net['network']['id'] - v['network'] = network_id - self.inv.set(v) - break - state = "up" # TBD - link_weight = 0 # TBD - attributes = {} if not network_id else {'network': network_id} - self.create_link(self.get_env(), - source, source_id, target, target_id, - link_type, network_name, state, link_weight, - host=host["name"], - extra_attributes=attributes) -- cgit 1.2.3-korg