Remove deprecated code from VTN synchronizer

Change-Id: Iae6f7d69d6a7be02e676ed856834984bfba87681
diff --git a/xos/synchronizer/steps/sync_onos_netcfg.py b/xos/synchronizer/steps/sync_onos_netcfg.py
index 8156a20..598d782 100644
--- a/xos/synchronizer/steps/sync_onos_netcfg.py
+++ b/xos/synchronizer/steps/sync_onos_netcfg.py
@@ -119,7 +119,12 @@
         # Generate apps->org.opencord.vtn->cordvtn->nodes
         nodes = Node.objects.all()
         for node in nodes:
-            nodeip = socket.gethostbyname(node.name)
+            try:
+                nodeip = socket.gethostbyname(node.name)
+            except socket.gaierror:
+                logger.warn("unable to resolve hostname %s: node will not be added to config"
+                            % node.name)
+                continue
 
             try:
                 bridgeId = self.get_node_tag(node, "bridgeId")
diff --git a/xos/synchronizer/steps/sync_port_addresses.py b/xos/synchronizer/steps/sync_port_addresses.py
deleted file mode 100644
index e9152dc..0000000
--- a/xos/synchronizer/steps/sync_port_addresses.py
+++ /dev/null
@@ -1,144 +0,0 @@
-import os
-import requests
-import socket
-import sys
-import base64
-from synchronizers.new_base.syncstep import SyncStep
-from synchronizers.new_base.modelaccessor import *
-from xos.logger import Logger, logging
-
-logger = Logger(level=logging.INFO)
-
-# TODO: This file seems obsolete -- evaluate for deletion.
-
-# XXX should save and load this
-glo_saved_vtn_maps = []
-
-class SyncPortAddresses(SyncStep):
-    requested_interval = 0 # 3600
-    provides=[Port]
-    observes=Port
-
-    def __init__(self, **args):
-        SyncStep.__init__(self, **args)
-
-    def call(self, **args):
-        global glo_saved_vtn_maps
-
-        vtn_service = VTNService.objects.all()
-        if not vtn_service:
-            raise Exception("SyncPortAddresses: No VTN Service")
-        vtn_service = vtn_service[0]
-        if vtn_service.vtnAPIVersion >= 2:
-            logger.info("skipping SyncPortAddresses due to VTN API Version")
-            return
-        else:
-            raise Exception("VTN API Version 1 is no longer supported by VTN Synchronizer")
-
-        # build up a dictionary of port-->[wan_addrs] mappings
-        port_addrs = {}
-        try:
-            from services.vsg.models import VSGTenant
-
-            logger.info("sync'ing vsg tenant to port addresses")
-
-            for vsg in VSGTenant.objects.all():
-                if not vsg.instance:
-                    logger.info("skipping vsg %s because it has no instance" % vsg)
-
-                wan_ip = vsg.wan_container_ip
-                if not wan_ip:
-                    logger.info("skipping vsg %s because it has no wan_container_ip" % vsg)
-
-                wan_mac = vsg.wan_container_mac
-                if not wan_mac:
-                    logger.info("skipping vsg %s because it has no wan_container_mac" % vsg)
-
-                lan_network = vsg.get_lan_network(vsg.instance)
-                if not lan_network:
-                    logger.info("skipping vsg %s because it has no lan_network" % vsg)
-
-                lan_port = Port.objects.filter(instance = vsg.instance, network=lan_network)
-                if not lan_port:
-                    logger.info("skipping vsg %s because it has no lan_port" % vsg)
-                lan_port = lan_port[0]
-
-                if not lan_port.port_id:
-                    logger.info("skipping vsg %s because its lan_port has no port_id" % vsg)
-
-                if not (lan_port.pk in port_addrs):
-                    port_addrs[lan_port.pk] = []
-                entry = {"mac_address": wan_mac, "ip_address": wan_ip}
-                addr_pairs = port_addrs[lan_port.pk]
-                if not entry in addr_pairs:
-                    addr_pairs.append(entry)
-
-                # now do the VM_WAN_IP from the instance
-                if vsg.instance:
-                    wan_vm_ip = vsg.wan_vm_ip
-                    wan_vm_mac = vsg.wan_vm_mac
-                    entry = {"mac_address": wan_vm_mac, "ip_address": wan_vm_ip}
-                    if not entry in addr_pairs:
-                        addr_pairs.append(entry)
-        except:
-            logger.info("No VSG service present")
-
-        # Get all ports in all controllers
-        ports_by_id = {}
-        for controller in Controller.objects.all():
-            if not controller.admin_tenant:
-                logger.info("controller %s has no admin_tenant" % controller)
-                continue
-            try:
-                driver = self.driver.admin_driver(controller = controller)
-                # FIXME: after LTS merge, use neutron (new name) instead of quantum (old name)
-                # the following if is a workaround
-                if hasattr( driver.shell, "neutron"):
-                    ports = driver.shell.neutron.list_ports()["ports"]
-                else:
-                    ports = driver.shell.quantum.list_ports()["ports"]
-            except:
-                logger.log_exc("failed to get ports from controller %s" % controller)
-                continue
-
-            for port in ports:
-                ports_by_id[port["id"]] = port
-
-        for port_pk in port_addrs.keys():
-            port = Port.objects.get(pk=port_pk)
-            addr_pairs = port_addrs[port_pk]
-            neutron_port = ports_by_id.get(port.port_id,None)
-            if not neutron_port:
-                logger.info("failed to get neutron port for port %s" % port)
-                continue
-
-            ips = [x["ip_address"] for x in addr_pairs]
-
-            changed = False
-
-            # delete addresses in neutron that don't exist in XOS
-            aaps = neutron_port.get("allowed_address_pairs", [])
-            for aap in aaps[:]:
-                if not aap["ip_address"] in ips:
-                    logger.info("removing address %s from port %s" % (aap["ip_address"], port))
-                    aaps.remove(aap)
-                    changed = True
-
-            aaps_ips = [x["ip_address"] for x in aaps]
-
-            # add addresses in XOS that don't exist in neutron
-            for addr in addr_pairs:
-                if not addr["ip_address"] in aaps_ips:
-                    logger.info("adding address %s to port %s" % (addr, port))
-                    aaps.append( addr )
-                    aaps_ips.append(addr["ip_address"])
-                    changed = True
-
-            if changed:
-                logger.info("updating port %s" % port)
-                # FIXME: See FIXME above, remove after LTS merge
-                if hasattr( driver.shell, "neutron"):
-                    driver.shell.neutron.update_port(port.port_id, {"port": {"allowed_address_pairs": aaps}})
-                else:
-                    driver.shell.quantum.update_port(port.port_id, {"port": {"allowed_address_pairs": aaps}})
-
diff --git a/xos/synchronizer/steps/sync_vtn_service.py b/xos/synchronizer/steps/sync_vtn_service.py
index 862b0f6..83da1bb 100644
--- a/xos/synchronizer/steps/sync_vtn_service.py
+++ b/xos/synchronizer/steps/sync_vtn_service.py
@@ -12,7 +12,6 @@
 logger = Logger(level=logging.INFO)
 
 # XXX should save and load this
-glo_saved_vtn_maps = []
 glo_saved_networks = {}
 glo_saved_ports = {}
 
@@ -66,42 +65,6 @@
 
         raise Exception("Must set rest_port")
 
-    def sync_legacy_vtn_api(self):
-        global glo_saved_vtn_maps
-
-        logger.info("sync'ing vtn services")
-
-        vtn_maps = []
-        for service in Service.objects.all():
-           for id in service.get_vtn_src_ids():
-               dependencies = service.get_vtn_dependencies_ids()
-               if dependencies:
-                   for dependency in dependencies:
-                       vtn_maps.append( (id, dependency) )
-
-        for vtn_map in vtn_maps:
-            if not (vtn_map in glo_saved_vtn_maps):
-                # call vtn rest api to add map
-                url = "http://" + self.get_vtn_addr() + ":" + str(self.get_vtn_port()) + "/onos/cordvtn/service-dependency/%s/%s" % (vtn_map[0], vtn_map[1])
-
-                print "POST %s" % url
-                r = requests.post(url, auth=self.get_vtn_auth() )
-                if (r.status_code != 200):
-                    raise Exception("Received error from vtn service (%d)" % r.status_code)
-
-        for vtn_map in glo_saved_vtn_maps:
-            if not vtn_map in vtn_maps:
-                # call vtn rest api to delete map
-                url = "http://" + self.get_vtn_addr() +  ":" + str(self.get_vtn_port()) + "/onos/cordvtn/service-dependency/%s/%s" % (vtn_map[0],vtn_map[1])
-
-                print "DELETE %s" % url
-                r = requests.delete(url, auth=self.get_vtn_auth() )
-                if (r.status_code != 200):
-                    raise Exception("Received error from vtn service (%d)" % r.status_code)
-
-        glo_saved_vtn_maps = vtn_maps
-        # TODO: save this
-
     def get_method(self, url, id):
         url_with_id = "%s/%s" % (url, id)
         r = requests.get(url_with_id, auth=self.get_vtn_auth())
@@ -235,9 +198,6 @@
             self.sync_service_networks()
             self.sync_service_ports()
         else:
-            # default to legacy
-            logger.info("Using Old API")
             raise Exception("VTN API Version 1 is no longer supported by VTN Synchronizer")
-            #self.sync_legacy_vtn_api()
 
 
diff --git a/xos/synchronizer/supervisor/vtn-observer.conf b/xos/synchronizer/supervisor/vtn-observer.conf
deleted file mode 100644
index 714afa7..0000000
--- a/xos/synchronizer/supervisor/vtn-observer.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[program:vtn-observer]
-command=python /opt/xos/observers/vbng/vtn-observer.py -C /opt/xos/observers/vbng/vtn_observer_config
diff --git a/xos/synchronizer/vtn_from_api_config b/xos/synchronizer/vtn_from_api_config
deleted file mode 100644
index ed8289c..0000000
--- a/xos/synchronizer/vtn_from_api_config
+++ /dev/null
@@ -1,20 +0,0 @@
-# Sets options for the synchronizer
-[observer]
-name=vtn
-dependency_graph=/opt/xos/synchronizers/vtn/model-deps
-steps_dir=/opt/xos/synchronizers/vtn/steps
-sys_dir=/opt/xos/synchronizers/vtn/sys
-#logfile=/var/log/xos_backend.log
-log_file=console
-log_level=debug
-pretend=False
-backoff_disabled=True
-save_ansible_output=True
-proxy_ssh=True
-proxy_ssh_key=/opt/cord_profile/node_key
-proxy_ssh_user=root
-accessor_kind=api
-accessor_password=@/opt/xos/services/vtn/credentials/xosadmin@opencord.org
-
-[networking]
-use_vtn=True