aboutsummaryrefslogtreecommitdiffstats
path: root/test/vcpe
diff options
context:
space:
mode:
Diffstat (limited to 'test/vcpe')
-rwxr-xr-xtest/vcpe/cleanvGMUX.py65
-rwxr-xr-xtest/vcpe/config_sdnc_so.py2
-rwxr-xr-x[-rw-r--r--]test/vcpe/healthcheck-k8s.py0
-rwxr-xr-xtest/vcpe/loop.py2
-rwxr-xr-xtest/vcpe/preload.py3
-rw-r--r--test/vcpe/preload_templates/simple_neutron_heat.yaml2
-rw-r--r--test/vcpe/preload_templates/template.vcpe_bng_vfmodule.json2
-rw-r--r--test/vcpe/preload_templates/template.vcpe_brgemu_vfmodule.json2
-rw-r--r--test/vcpe/preload_templates/template.vcpe_gwgra_vfmodule.json10
-rw-r--r--test/vcpe/preload_templates/template.vcpe_vgw_vfmodule.json16
-rwxr-xr-xtest/vcpe/soutils.py15
-rwxr-xr-xtest/vcpe/vcpe.py4
-rwxr-xr-xtest/vcpe/vcpe_custom_service.py5
-rwxr-xr-xtest/vcpe/vcpecommon.py16
14 files changed, 120 insertions, 24 deletions
diff --git a/test/vcpe/cleanvGMUX.py b/test/vcpe/cleanvGMUX.py
new file mode 100755
index 000000000..8b2751f45
--- /dev/null
+++ b/test/vcpe/cleanvGMUX.py
@@ -0,0 +1,65 @@
+#! /usr/bin/python
+
+import sys
+import logging
+import requests
+import json
+from datetime import datetime
+import time
+
+gmux_ip = ''
+logging.basicConfig(level=logging.DEBUG, format='%(message)s')
+logger = logging.getLogger('')
+headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
+auth = 'admin', 'admin'
+base_url = ''
+
+def list_interface():
+ url = base_url
+ logger.info(url)
+ r = requests.get(url, headers=headers, auth=auth)
+ logger.debug(r)
+ response = r.json()
+
+ logger.debug('---------------------------------------------------------------')
+ logger.debug(json.dumps(response, indent=4, sort_keys=True))
+ logger.debug('---------------------------------------------------------------')
+
+def clean_gmux():
+ url = base_url
+ r = requests.get(url, headers=headers, auth=auth)
+ response = r.json()
+
+ interfaces = response.get('interfaces').get('interface')
+ for inf in interfaces:
+ name = inf.get('name')
+ if name.startswith('vxlanTun10'):
+ logger.debug('name = {0}'.format(name))
+ delete_interface_v3po_l2(name)
+
+ for inf in interfaces:
+ name = inf.get('name')
+ if name.startswith('vxlanTun10'):
+ logger.debug('name = {0}'.format(name))
+ delete_interface(name)
+
+def delete_interface_v3po_l2(interface_name):
+ url = '{0}/interface/{1}/v3po:l2'.format(base_url, interface_name)
+ r = requests.delete(url, headers=headers, auth=auth)
+ logger.debug(r)
+
+def delete_interface(interface_name):
+ url = '{0}/interface/{1}'.format(base_url, interface_name)
+ r = requests.delete(url, headers=headers, auth=auth)
+ logger.debug(r)
+
+if __name__ == '__main__':
+ gmux_ip = sys.argv[1]
+ base_url = 'http://{0}:8183/restconf/config/ietf-interfaces:interfaces'.format(gmux_ip)
+ logger.debug('---------------------------------------------------------------')
+ logger.debug('list interfaces before cleaning gmux')
+ list_interface()
+ clean_gmux()
+ logger.debug('---------------------------------------------------------------')
+ logger.debug('list interfaces after cleaning gmux')
+ list_interface()
diff --git a/test/vcpe/config_sdnc_so.py b/test/vcpe/config_sdnc_so.py
index 7c063b5fd..2cfc0f9f3 100755
--- a/test/vcpe/config_sdnc_so.py
+++ b/test/vcpe/config_sdnc_so.py
@@ -78,7 +78,9 @@ def insert_customer_service_to_so(vcpecommon):
"`SERVICE_MODEL_UUID`) VALUES ('createInstance','1','{0}'," \
"'/mso/async/services/CreateVcpeResCustService',NULL,181,NULL, NOW()," \
"'{1}');".format(parser.svc_model['modelName'], parser.svc_model['modelVersionId']))
+ vcpecommon.execute_cmds_so_db(cmds)
+ cmds = []
cmds.append("delete from `heat_template_params` where"
"`HEAT_TEMPLATE_ARTIFACT_UUID`='efee1d84-b8ec-11e7-abc4-cec278b6b50a';")
cmds.append("delete from `heat_template` where ARTIFACT_UUID='efee1d84-b8ec-11e7-abc4-cec278b6b50a';")
diff --git a/test/vcpe/healthcheck-k8s.py b/test/vcpe/healthcheck-k8s.py
index 0aea3fb9e..0aea3fb9e 100644..100755
--- a/test/vcpe/healthcheck-k8s.py
+++ b/test/vcpe/healthcheck-k8s.py
diff --git a/test/vcpe/loop.py b/test/vcpe/loop.py
index ad5879715..d0243960e 100755
--- a/test/vcpe/loop.py
+++ b/test/vcpe/loop.py
@@ -25,7 +25,7 @@ hosts = cpecommon.get_vm_ip(nodes)
custom.del_vgmux_ves_mode(hosts['mux'])
time.sleep(2)
custom.del_vgmux_ves_collector(hosts['mux'])
-exit()
+#exit()
time.sleep(2)
logging.info('Setting vGMUX DCAE collector IP address')
diff --git a/test/vcpe/preload.py b/test/vcpe/preload.py
index 0d451d24f..0108566da 100755
--- a/test/vcpe/preload.py
+++ b/test/vcpe/preload.py
@@ -128,7 +128,7 @@ class Preload:
}
replace_dict.update(commont_dict)
self.logger.info('Preloading vGW-GRA')
- return self.preload(template_file, replace_dict, self.vcpecommon.sdnc_preload_vnf_url)
+ return self.preload(template_file, replace_dict, self.vcpecommon.sdnc_preload_gra_url)
def preload_vfmodule(self, template_file, service_instance_id, vnf_model, vfmodule_model, common_dict, name_suffix):
"""
@@ -156,6 +156,7 @@ class Preload:
'${vnf_name}': vfmodule_name,
'${mr_ip_addr}': self.vcpecommon.mr_ip_addr,
'${mr_ip_port}': self.vcpecommon.mr_ip_port,
+ '${sdnc_oam_ip}': self.vcpecommon.sdnc_oam_ip,
'${suffix}': name_suffix}
replace_dict.update(common_dict)
self.logger.info('Preloading VF Module ' + vfmodule_name)
diff --git a/test/vcpe/preload_templates/simple_neutron_heat.yaml b/test/vcpe/preload_templates/simple_neutron_heat.yaml
index d20c08127..f64248be8 100644
--- a/test/vcpe/preload_templates/simple_neutron_heat.yaml
+++ b/test/vcpe/preload_templates/simple_neutron_heat.yaml
@@ -8,7 +8,7 @@ parameters:
shared:
type: boolean
description: Shared amongst tenants
- default: True
+ default: False
outputs:
network_id:
description: Openstack network identifier
diff --git a/test/vcpe/preload_templates/template.vcpe_bng_vfmodule.json b/test/vcpe/preload_templates/template.vcpe_bng_vfmodule.json
index 7ef2fb7db..0758dc189 100644
--- a/test/vcpe/preload_templates/template.vcpe_bng_vfmodule.json
+++ b/test/vcpe/preload_templates/template.vcpe_bng_vfmodule.json
@@ -85,7 +85,7 @@
},
{
"vnf-parameter-name": "sdnc_ip_addr",
- "vnf-parameter-value": "${sdnc_brg_bng_ip}"
+ "vnf-parameter-value": "${sdnc_oam_ip}"
},
{
"vnf-parameter-name": "vbng_private_ip_0",
diff --git a/test/vcpe/preload_templates/template.vcpe_brgemu_vfmodule.json b/test/vcpe/preload_templates/template.vcpe_brgemu_vfmodule.json
index 7072f6825..9e04b998e 100644
--- a/test/vcpe/preload_templates/template.vcpe_brgemu_vfmodule.json
+++ b/test/vcpe/preload_templates/template.vcpe_brgemu_vfmodule.json
@@ -63,7 +63,7 @@
},
{
"vnf-parameter-name": "sdnc_ip",
- "vnf-parameter-value": "${sdnc_brg_bng_ip}"
+ "vnf-parameter-value": "${sdnc_oam_ip}"
},
{
"vnf-parameter-name": "vbrgemu_name_0",
diff --git a/test/vcpe/preload_templates/template.vcpe_gwgra_vfmodule.json b/test/vcpe/preload_templates/template.vcpe_gwgra_vfmodule.json
index ced57ca6a..f453aafe2 100644
--- a/test/vcpe/preload_templates/template.vcpe_gwgra_vfmodule.json
+++ b/test/vcpe/preload_templates/template.vcpe_gwgra_vfmodule.json
@@ -17,6 +17,14 @@
"vf-module-topology": {
"vf-module-parameters": {
"param": [
+ {
+ "name": "vcpe_image_name",
+ "value": "vgw-casa-base-ubuntu-16-04"
+ },
+ {
+ "name": "vcpe_flavor_name",
+ "value": "m1.medium"
+ },
{
"name": "public_net_id",
"value": "${public_net_id}"
@@ -112,7 +120,7 @@
] },
"vf-module-assignments": {},
"vf-module-topology-identifier": {
- "vf-module-name": "zRegionOne${vgw_vfmod_name_index}_base_vcpe_vgw_0"
+ "vf-module-name": "VGW2BRG-${brg_mac}"
}
},
"vnf-resource-assignments": {},
diff --git a/test/vcpe/preload_templates/template.vcpe_vgw_vfmodule.json b/test/vcpe/preload_templates/template.vcpe_vgw_vfmodule.json
index 87059e1e6..cda93becc 100644
--- a/test/vcpe/preload_templates/template.vcpe_vgw_vfmodule.json
+++ b/test/vcpe/preload_templates/template.vcpe_vgw_vfmodule.json
@@ -18,6 +18,14 @@
"VNF-API:vnf-assignments": {},
"VNF-API:vnf-parameters": [
{
+ "vnf-parameter-name": "vcpe_image_name",
+ "vnf-parameter-value": "vgw-casa-base-ubuntu-16-04"
+ },
+ {
+ "vnf-parameter-name": "vcpe_flavor_name",
+ "vnf-parameter-value": "m1.medium"
+ },
+ {
"vnf-parameter-name": "public_net_id",
"vnf-parameter-value": "${public_net_id}"
},
@@ -47,15 +55,15 @@
},
{
"vnf-parameter-name": "vgw_private_ip_0",
- "vnf-parameter-value": "10.5.0.92"
+ "vnf-parameter-value": "10.5.0.125"
},
{
"vnf-parameter-name": "vgw_private_ip_1",
- "vnf-parameter-value": "10.0.101.92"
+ "vnf-parameter-value": "10.0.101.125"
},
{
"vnf-parameter-name": "vgw_private_ip_2",
- "vnf-parameter-value": "10.2.0.7"
+ "vnf-parameter-value": "10.2.0.40"
},
{
"vnf-parameter-name": "vgw_name_0",
@@ -67,7 +75,7 @@
},
{
"vnf-parameter-name": "vg_vgmux_tunnel_vni",
- "vnf-parameter-value": "92"
+ "vnf-parameter-value": "125"
},
{
"vnf-parameter-name": "onap_private_net_id",
diff --git a/test/vcpe/soutils.py b/test/vcpe/soutils.py
index 3749689f2..6cddd6d08 100755
--- a/test/vcpe/soutils.py
+++ b/test/vcpe/soutils.py
@@ -166,6 +166,7 @@ class SoUtils:
'owningEntityName': self.vcpecommon.owning_entity_name}
def generate_custom_service_request(self, instance_name, model, brg_mac):
+ brg_mac_enc = brg_mac.replace(':', '-')
req_details = {
'modelInfo': model,
'subscriberInfo': {'subscriberName': 'Kaneohe',
@@ -177,8 +178,16 @@ class SoUtils:
{
'name': 'BRG_WAN_MAC_Address',
'value': brg_mac
- }
- ,
+ },
+ {
+ 'name': 'VfModuleNames',
+ 'value': [
+ {
+ 'VfModuleModelInvariantUuid': self.vcpecommon.vgw_VfModuleModelInvariantUuid,
+ 'VfModuleName': 'VGW2BRG-{0}'.format(brg_mac_enc)
+ }
+ ]
+ },
{
"name": "Customer_Location",
"value": self.vcpecommon.customer_location_used_by_oof
@@ -208,7 +217,7 @@ class SoUtils:
# create service
instance_name = '_'.join([self.vcpecommon.instance_name_prefix['service'],
- parser.svc_model['modelName'], name_suffix])
+ parser.svc_model['modelName'][0:10], name_suffix])
instance_name = instance_name.lower()
req = self.generate_custom_service_request(instance_name, parser.svc_model, brg_mac)
self.logger.info(json.dumps(req, indent=2, sort_keys=True))
diff --git a/test/vcpe/vcpe.py b/test/vcpe/vcpe.py
index 8bd39960a..3fb96c55e 100755
--- a/test/vcpe/vcpe.py
+++ b/test/vcpe/vcpe.py
@@ -159,7 +159,7 @@ def closed_loop(lossrate=0):
time.sleep(2)
vcpecommon.del_vgmux_ves_collector()
- logger.info('Staring vGMUX data reporting to DCAE')
+ logger.info('Starting vGMUX data reporting to DCAE')
time.sleep(2)
vcpecommon.set_vgmux_ves_collector()
@@ -174,7 +174,7 @@ def init_so_sdnc():
logger = logging.getLogger('__name__')
vcpecommon = VcpeCommon()
config_sdnc_so.insert_customer_service_to_so(vcpecommon)
- config_sdnc_so.insert_customer_service_to_sdnc(vcpecommon)
+ #config_sdnc_so.insert_customer_service_to_sdnc(vcpecommon)
vgw_vfmod_name_index= 0
vcpecommon.save_object(vgw_vfmod_name_index, vcpecommon.vgw_vfmod_name_index_file)
diff --git a/test/vcpe/vcpe_custom_service.py b/test/vcpe/vcpe_custom_service.py
index f02802353..36012f7b0 100755
--- a/test/vcpe/vcpe_custom_service.py
+++ b/test/vcpe/vcpe_custom_service.py
@@ -72,10 +72,11 @@ class CustomService:
brg_mac = str(raw_input("Enter the BRG MAC address: "))
else:
brg_mac = self.vcpecommon.get_brg_mac_from_sdnc()
+ brg_mac_enc = brg_mac.replace(':', '-')
# get name index
self.vgw_vfmod_name_index= self.vcpecommon.load_object(self.vcpecommon.vgw_vfmod_name_index_file)
self.vgw_vfmod_name_index=self.vgw_vfmod_name_index + 1
- self.save_object(vgw_vfmod_name_index,self.vcpecommon.vgw_vfmod_name_index_file)
+ self.vcpecommon.save_object(self.vgw_vfmod_name_index,self.vcpecommon.vgw_vfmod_name_index_file)
# preload vGW
if preload_dict:
preloader = preload.Preload(self.vcpecommon)
@@ -83,7 +84,7 @@ class CustomService:
self.vcpecommon.increase_ip_address_or_vni_in_template(vgw_template_file, parameters_to_change)
preloader.preload_vgw(vgw_template_file, brg_mac, preload_dict, name_suffix)
# preload vGW-GRA
- preloader.preload_vgw_gra(vgw_gra_template_file, brg_mac, preload_dict, name_suffix, vgw_vfmod_name_index)
+ preloader.preload_vgw_gra(vgw_gra_template_file, brg_mac_enc, preload_dict, name_suffix, str(self.vgw_vfmod_name_index))
# create service
so = soutils.SoUtils(self.vcpecommon, 'v5')
diff --git a/test/vcpe/vcpecommon.py b/test/vcpe/vcpecommon.py
index f5e1b3046..18390f7fa 100755
--- a/test/vcpe/vcpecommon.py
+++ b/test/vcpe/vcpecommon.py
@@ -34,8 +34,8 @@ class VcpeCommon:
}
common_preload_config = {
- 'oam_onap_net': 'oam_network_0qV7' if oom_mode else 'oam_onap_lAky',
- 'oam_onap_subnet': 'oam_network_0qV7' if oom_mode else 'oam_onap_lAky',
+ 'oam_onap_net': 'oam_network_AiBB' if oom_mode else 'oam_onap_lAky',
+ 'oam_onap_subnet': 'oam_network_AiBB' if oom_mode else 'oam_onap_lAky',
'public_net': 'external',
'public_net_id': '971040b2-7059-49dc-b220-4fab50cb2ad4'
}
@@ -67,14 +67,16 @@ class VcpeCommon:
self.logger = logging.getLogger(__name__)
self.logger.info('Initializing configuration')
+ # vgw_VfModuleModelInvariantUuid is in rescust service csar, look in service-VcpesvcRescust1118-template.yml for groups vgw module metadata. TODO: read this value automcatically
+ self.vgw_VfModuleModelInvariantUuid = 'c16ad38c-2c2c-49ae-bbe8-66c7ffbcc30a'
# OOM: this is the address that the brg and bng will nat for config of brg - 10.0.0.x address of k8 host for sdnc
- self.sdnc_brg_bng_ip = self.get_pod_node_oam_ip(self.sdnc_controller_pod)[1]
+ self.sdnc_oam_ip = '10.0.0.20'
# OOM: this is a k8 host external IP
- self.oom_so_sdnc_aai_ip = '10.12.5.18'
+ self.oom_so_sdnc_aai_ip = '10.12.5.228'
# OOM: this is a k8 host external IP can be same as oom_so_sdnc_aai_ip
- self.oom_dcae_ves_collector = '10.12.5.18'
+ self.oom_dcae_ves_collector = '10.12.5.228'
# OOM: this is a k8 host external IP can be same as oom_so_sdnc_aai_ip
- self.mr_ip_addr = '10.12.5.18'
+ self.mr_ip_addr = '10.12.5.228'
self.mr_ip_port = '30227'
self.so_nbi_port = '30277' if self.oom_mode else '8080'
self.sdnc_preloading_port = '30202' if self.oom_mode else '8282'
@@ -136,7 +138,7 @@ class VcpeCommon:
#############################################################################################
# SO urls, note: do NOT add a '/' at the end of the url
self.so_req_api_url = {'v4': 'http://' + self.hosts['so'] + ':' + self.so_nbi_port + '/onap/so/infra/serviceInstantiation/v7/serviceInstances',
- 'v5': 'http://' + self.hosts['so'] + ':' + self.so_nbi_port + '/onap/so/infraserviceInstantiation/v7/serviceInstances'}
+ 'v5': 'http://' + self.hosts['so'] + ':' + self.so_nbi_port + '/onap/so/infra/serviceInstantiation/v7/serviceInstances'}
self.so_check_progress_api_url = 'http://' + self.hosts['so'] + ':' + self.so_nbi_port + '/onap/so/infra/orchestrationRequests/v6'
self.so_userpass = 'InfraPortalClient', 'password1$'
self.so_headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}