Test: Install vtn cord app during cord-tester setup to make it consistent with ONOS cord apps being loaded.

Don't install cord if already installed which is true when specifying external controller for setup.

When running the tester in cord mode, make sure to install cord apps after restarting ONOS on cord to bring it back to the same state as before restart.

Change-Id: If4961867f5b08c4079660961f6a30be9011b3a57
(cherry picked from commit bd9b8a39b5a0550fd8c0cbb47c85538db03bda8f)
diff --git a/src/test/utils/CordContainer.py b/src/test/utils/CordContainer.py
index da99655..4f06b2f 100644
--- a/src/test/utils/CordContainer.py
+++ b/src/test/utils/CordContainer.py
@@ -202,8 +202,10 @@
     onos_config_dir = os.path.join(onos_cord_dir, 'config')
     docker_yaml = os.path.join(onos_cord_dir, 'docker-compose.yml')
 
-    def __init__(self, conf):
+    def __init__(self, onos_ip, conf, boot_delay = 60):
+        self.onos_ip = onos_ip
         self.cord_conf_dir = conf
+        self.boot_delay = boot_delay
         if os.access(self.cord_conf_dir, os.F_OK) and not os.access(self.onos_cord_dir, os.F_OK):
             os.mkdir(self.onos_cord_dir)
             os.mkdir(self.onos_config_dir)
@@ -252,6 +254,9 @@
         #start the container using docker-compose
         cmd = 'cd {} && docker-compose up -d'.format(self.onos_cord_dir)
         os.system(cmd)
+        #Delay to make sure ONOS fully boots
+        time.sleep(self.boot_delay)
+        Onos.install_cord_apps(onos_ip = self.onos_ip)
 
     def build_image(self):
         build_cmd = 'cd {} && docker-compose build'.format(self.onos_cord_dir)
@@ -266,6 +271,7 @@
     onos_cord_apps = ( ('cord-config', '1.0-SNAPSHOT'),
                        ('aaa', '1.0-SNAPSHOT'),
                        ('igmp', '1.0-SNAPSHOT'),
+                       ('vtn', '1.0-SNAPSHOT'),
                        )
     ports = [ 8181, 8101, 9876, 6653, 6633, 2000, 2620 ]
     host_config_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', 'setup/onos-config')