[VOL-3030] fix xc creations in the build script

Change-Id: Ia30f17a0c06e98fc361b99f14bee179b94fa1187
diff --git a/Jenkinsfile-voltha-build b/Jenkinsfile-voltha-build
index 462daa6..1b7344e 100644
--- a/Jenkinsfile-voltha-build
+++ b/Jenkinsfile-voltha-build
@@ -218,16 +218,24 @@
                             return sr_active_out == 0
                         }
                     }
-                    timeout(1) {
-                        // FIXME support multiple OLTs
+                    timeout(5) {
                         for(int i=0; i < deployment_config.hosts.src.size(); i++) {
+                            def aggPort = -1
+                            for(int j=0; j < deployment_config.olts.size(); j++) {
+                                if(deployment_config.olts[j].serial == deployment_config.hosts.src[j].olt){
+                                    aggPort = deployment_config.olts[j].aggPort
+                                }
+                            }
+                            if(aggPort == -1){
+                                throw new Exception("Upstream port for the olt is not configured, field aggPort is empty")
+                            }
                             xconnect_out = sh returnStatus: true, script: """
                             version=\$(sshpass -p karaf ssh -p 30115 karaf@${deployment_config.nodes[0].ip} "summary" | grep version)
                             sleep 10
                             if [[ \$version == *"version=2.2"* ]]; then
-                                curl -X POST --user karaf:karaf --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"deviceId": "${deployment_config.fabric_switches[0].device_id}", "vlanId": "${deployment_config.hosts.src[i].s_tag}", "endpoints": [${deployment_config.fabric_switches[0].bngPort},${deployment_config.fabric_switches[0].oltPort}]}' 'http://${deployment_config.nodes[0].ip}:30120/onos/segmentrouting/xconnect'
+                                curl -X POST --user karaf:karaf --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"deviceId": "${deployment_config.fabric_switches[0].device_id}", "vlanId": "${deployment_config.hosts.src[i].s_tag}", "endpoints": [${deployment_config.fabric_switches[0].bngPort},${aggPort}]}' 'http://${deployment_config.nodes[0].ip}:30120/onos/segmentrouting/xconnect'
                             else
-                                curl -X POST --user karaf:karaf --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"deviceId": "${deployment_config.fabric_switches[0].device_id}", "vlanId": "${deployment_config.hosts.src[i].s_tag}", "ports": [${deployment_config.fabric_switches[0].bngPort},${deployment_config.fabric_switches[0].oltPort}]}' 'http://${deployment_config.nodes[0].ip}:30120/onos/segmentrouting/xconnect'
+                                curl -X POST --user karaf:karaf --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"deviceId": "${deployment_config.fabric_switches[0].device_id}", "vlanId": "${deployment_config.hosts.src[i].s_tag}", "ports": [${deployment_config.fabric_switches[0].bngPort},${aggPort}]}' 'http://${deployment_config.nodes[0].ip}:30120/onos/segmentrouting/xconnect'
                             fi
                             """
                         }