diff options
124 files changed, 652 insertions, 6050 deletions
diff --git a/cloudify/scripts/onap/patch_definitions.py b/cloudify/scripts/onap/patch_definitions.py new file mode 100644 index 0000000000..d43e921593 --- /dev/null +++ b/cloudify/scripts/onap/patch_definitions.py @@ -0,0 +1 @@ +from cloudify import ctx diff --git a/cloudify/scripts/onap/provision_definitions.py b/cloudify/scripts/onap/provision_definitions.py new file mode 100644 index 0000000000..d43e921593 --- /dev/null +++ b/cloudify/scripts/onap/provision_definitions.py @@ -0,0 +1 @@ +from cloudify import ctx diff --git a/cloudify/scripts/onap/read_definitions.py b/cloudify/scripts/onap/read_definitions.py new file mode 100644 index 0000000000..d43e921593 --- /dev/null +++ b/cloudify/scripts/onap/read_definitions.py @@ -0,0 +1 @@ +from cloudify import ctx diff --git a/cloudify/types/onap.yaml b/cloudify/types/onap.yaml new file mode 100644 index 0000000000..20ef33f2f3 --- /dev/null +++ b/cloudify/types/onap.yaml @@ -0,0 +1,34 @@ +node_types: + cloudify.onap.kubernetes.App: + derived_from: cloudify.nodes.Root + properties: + name: + type: string + description: > + Name of ONAP app + resources: + description: > + List of paths (relative, blueprint prespective) + to all kubernetes resources YAML files definition + default: [] + services: + type: string + description: > + Path (relative, blueprint prespective) + to kubernetes app services YAML file definition + default: [] + inputs: + description: > + Parameters required to create kubernetes resources for each app + default: {} + interfaces: + cloudify.interfaces.lifecycle: + create: + implementation: cloudify/scripts/onap/read_definitions.py + executor: central_deployment_agent + configure: + implementation: cloudify/scripts/onap/patch_definitions.py + executor: central_deployment_agent + start: + implementation: cloudify/scripts/onap/provision_definitions.py + executor: central_deployment_agent diff --git a/kubernetes/appc/templates/appc-deployment.yaml b/kubernetes/appc/templates/appc-deployment.yaml index 049ac5d457..8be421cbf9 100644 --- a/kubernetes/appc/templates/appc-deployment.yaml +++ b/kubernetes/appc/templates/appc-deployment.yaml @@ -55,10 +55,14 @@ spec: imagePullPolicy: {{ .Values.pullPolicy }} name: appc-controller-container volumeMounts: - - mountPath: /opt/openecomp/appc/data/properties - name: appc-conf - - mountPath: /opt/openecomp/sdnc/data/properties - name: sdnc-conf + - mountPath: /opt/openecomp/appc/data/properties/appc.properties + name: appc-properties + - mountPath: /opt/openecomp/appc/data/properties/aaiclient.properties + name: appc-aaiclient-properties + - mountPath: /opt/openecomp/sdnc/data/properties/aaiclient.properties + name: sdnc-aaiclient-properties + - mountPath: /opt/openecomp/sdnc/data/properties/admportal.json + name: sdnc-admportal-json ports: - containerPort: 8181 - containerPort: 1830 @@ -68,11 +72,17 @@ spec: initialDelaySeconds: 5 periodSeconds: 10 volumes: - - name: appc-conf + - name: appc-properties hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/appc/conf - - name: sdnc-conf + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/appc/conf/appc.properties + - name: appc-aaiclient-properties hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/appc/conf/aaiclient.properties + - name: sdnc-aaiclient-properties + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/aaiclient.properties + - name: sdnc-admportal-json + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/admportal.json imagePullSecrets: - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/appc/values.yaml b/kubernetes/appc/values.yaml index fd73fc1618..74b189f371 100644 --- a/kubernetes/appc/values.yaml +++ b/kubernetes/appc/values.yaml @@ -2,6 +2,6 @@ nsPrefix: onap pullPolicy: Always image: readiness: oomk8s/readiness-check:1.0.0 - appc: nexus3.onap.org:10001/openecomp/appc-image:1.0-STAGING-latest + appc: nexus3.onap.org:10001/openecomp/appc-image:1.1-STAGING-latest mysqlServer: mysql/mysql-server:5.6 - dgbuilderSdnc: nexus3.onap.org:10001/openecomp/dgbuilder-sdnc-image:1.0-STAGING-latest + dgbuilderSdnc: nexus3.onap.org:10001/openecomp/dgbuilder-sdnc-image:1.1-STAGING-latest diff --git a/kubernetes/config/docker/init/src/config/appc/conf/aaiclient.properties b/kubernetes/config/docker/init/src/config/appc/conf/aaiclient.properties new file mode 100644 index 0000000000..a24dfd6a51 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/appc/conf/aaiclient.properties @@ -0,0 +1,254 @@ +### +# ============LICENSE_START======================================================= +# APPC +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +# +# Configuration file for A&AI Client +# + +# +# Certificate keystore and truststore +# +org.openecomp.sdnc.sli.aai.ssl.trust=/opt/openecomp/appc/data/stores/truststore.openecomp.client.jks +org.openecomp.sdnc.sli.aai.ssl.trust.psswd=adminadmin +org.openecomp.sdnc.sli.aai.host.certificate.ignore=true + +org.openecomp.sdnc.sli.aai.client.name=APPC +org.openecomp.sdnc.sli.aai.client.psswd=APPC + +org.openecomp.sdnc.sli.aai.application=openECOMP +#connection.timeout=1000 +#read.timeout=2000 + +## TODO - Check if the values below are needed ## +#When the p12 key expires, the new one will probably work with the old jks so no need to generate a new jks. +#org.openecomp.sdnc.sli.aai.ssl.key=/opt/openecomp/appc/data/stores/keystore.client.p12 +#org.openecomp.sdnc.sli.aai.ssl.key.psswd=aaiDomain2 + + +# +# Configuration file for A&AI Client +# +org.openecomp.sdnc.sli.aai.uri=https://aai-service.onap-aai:8443 + + +# query +org.openecomp.sdnc.sli.aai.path.query=/aai/v8/search/sdn-zone-query +org.openecomp.sdnc.sli.aai.query.nodes=/aai/v8/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name} +org.openecomp.sdnc.sli.aai.query.generic=/aai/v8/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3 + +# named query +org.openecomp.sdnc.sli.aai.query.named=/aai/search/named-query + +#update +org.openecomp.sdnc.sli.aai.update=/aai/v8/actions/update + +# vce +org.openecomp.sdnc.sli.aai.path.vce =/aai/v8/network/vces/vce/ +org.openecomp.sdnc.sli.aai.path.vces=/aai/v8/network/vces/ + +# vpe +org.openecomp.sdnc.sli.aai.path.vpe =/aai/v8/network/vpes/vpe/ +org.openecomp.sdnc.sli.aai.path.vpes=/aai/v8/network/vpes/ + +# customer +org.openecomp.sdnc.sli.aai.path.customer=/aai/v8/business/customers/customer/{customer-id} + +# service subscription +org.openecomp.sdnc.sli.aai.path.service.subscription=/aai/v8/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type} + +# service instance +org.openecomp.sdnc.sli.aai.path.svcinst=/aai/v8/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances +org.openecomp.sdnc.sli.aai.path.svcinst.query=/aai/v8/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance +org.openecomp.sdnc.sli.aai.path.service.instance=/aai/v8/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id} + +# complex +org.openecomp.sdnc.sli.aai.path.complexes=/aai/v8/cloud-infrastructure/complexes +org.openecomp.sdnc.sli.aai.path.complex=/aai/v8/cloud-infrastructure/complexes/complex/{physical-location-id} + +# tenant +org.openecomp.sdnc.sli.aai.path.tenant=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id} +org.openecomp.sdnc.sli.aai.path.tenant.query=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant?tenant-name={tenant-name} + +# vservers +org.openecomp.sdnc.sli.aai.path.vservers=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/ +org.openecomp.sdnc.sli.aai.path.vserver=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id} + +# vpls-pe +org.openecomp.sdnc.sli.aai.path.vpls.pes=/aai/v8/network/vpls-pes/ +org.openecomp.sdnc.sli.aai.path.vpls.pe =/aai/v8/network/vpls-pes/vpls-pe/ + +# ctag-pool +org.openecomp.sdnc.sli.aai.path.ctag.pools=/aai/v8/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools +org.openecomp.sdnc.sli.aai.path.ctag.pool=/aai/v8/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name} + +# +#-------------- 1510 ---------------------- +# + +# pservers +org.openecomp.sdnc.sli.aai.path.pservers=/aai/v8/cloud-infrastructure/pservers +org.openecomp.sdnc.sli.aai.path.pserver=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname} + +# generic-vnf +org.openecomp.sdnc.sli.aai.path.generic.vnfs=/aai/v8/network/generic-vnfs +org.openecomp.sdnc.sli.aai.path.generic.vnf=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id} + +# dvs-switch +org.openecomp.sdnc.sli.aai.path.dvsswitches=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches +org.openecomp.sdnc.sli.aai.path.dvsswitch=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name} + +# L3 Networks +org.openecomp.sdnc.sli.aai.path.l3networks=/aai/v8/network/l3-networks +org.openecomp.sdnc.sli.aai.path.l3network=/aai/v8/network/l3-networks/l3-network/{network-id} +org.openecomp.sdnc.sli.aai.path.l3network.query.name=/aai/v8/network/l3-networks/l3-network?network-name={network-name} + +# P-Interfaces +org.openecomp.sdnc.sli.aai.path.pserver.pinterfaces=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces +org.openecomp.sdnc.sli.aai.path.pserver.pinterface=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name} + +# Physical Link +org.openecomp.sdnc.sli.aai.path.physical.links=/aai/v8/network/physical-links +org.openecomp.sdnc.sli.aai.path.physical.link=/aai/v8/network/physical-links/physical-link/{link-name} + +# VPN Bindings +org.openecomp.sdnc.sli.aai.path.vpn.bindings=/aai/v8/network/vpn-bindings/ +org.openecomp.sdnc.sli.aai.path.vpn.binding=/aai/v8/network/vpn-bindings/vpn-binding/{vpn-id} + +# VNF IMAGES +org.openecomp.sdnc.sli.aai.path.vnf.images=/aai/v8/service-design-and-creation/vnf-images +org.openecomp.sdnc.sli.aai.path.vnf.image=/aai/v8/service-design-and-creation/vnf-images/vnf-image/{att-uuid} +org.openecomp.sdnc.sli.aai.path.vnf.image.query=/aai/v8/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor} + +# UBB Notify +org.openecomp.sdnc.sli.aai.path.notify=/aai/v8/actions/notify +org.openecomp.sdnc.sli.aai.notify.selflink.fqdn=https://aai-service.onap-aai:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id} +org.openecomp.sdnc.sli.aai.notify.selflink.avpn=https://aai-service.onap-aai:8543/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information + +# Service +org.openecomp.sdnc.sli.aai.path.service=/aai/v8/service-design-and-creation/services/service/{service-id} +org.openecomp.sdnc.sli.aai.path.services=/aai/v8/service-design-and-creation/services + + +# +#-------------- 1604 ---------------------- +# + +# VNFC +org.openecomp.sdnc.sli.aai.path.vnfc=/aai/v8/network/vnfcs/vnfc/{vnfc-name} + +# class-of-service +org.openecomp.sdnc.sli.aai.path.class.of.service=/aai/v8/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}/classes-of-service/class-of-service/{cos-id} + +# site-pair +org.openecomp.sdnc.sli.aai.path.site.pair=/aai/v8/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id} + +# routing-instance +org.openecomp.sdnc.sli.aai.path.routing.instance=/aai/v8/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id} + +# site-pair-set +org.openecomp.sdnc.sli.aai.path.site.pair.set=/aai/v8/network/site-pair-sets/site-pair-set/{site-pair-set-id} + +# license key resource +org.openecomp.sdnc.sli.aai.path.license.acquire=/aai/v8/actions/assignment/license-management/assignment-group-uuid/{assignment-group-uuid} +org.openecomp.sdnc.sli.aai.path.license=/aai/v8/license-management/license-key-resources/license-key-resource/{att-uuid} + +# logical-link +org.openecomp.sdnc.sli.aai.path.logical.link =/aai/v8/network/logical-links/logical-link/{link-name} + +# virtual-data-center +org.openecomp.sdnc.sli.aai.path.virtual.data.center=/aai/v8/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id} + +# wan-connector +org.openecomp.sdnc.sli.aai.path.wan.connector=/aai/v8/business/connectors/connector/{resource-instance-id} + +# l-interface +org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} +org.openecomp.sdnc.sli.aai.path.p.interface.l.interface=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} + +# l-interface pnf +org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface.pnf=/aai/v8/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} +org.openecomp.sdnc.sli.aai.path.p.interface.l.interface.pnf=/aai/v8/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} + +# subinterface +org.openecomp.sdnc.sli.aai.path.pnf.lag.interface.subinterface=/aai/v8/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} +org.openecomp.sdnc.sli.aai.path.pnf.p.interface.l.interface=/aai/v8/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} + +# vlans +org.openecomp.sdnc.sli.aai.path.vlan=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +org.openecomp.sdnc.sli.aai.path.generic.vnf.vlan=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} + +# l3-interface-ipv4-address-list +org.openecomp.sdnc.sli.aai.path.l3.interface.ipv4.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +org.openecomp.sdnc.sli.aai.path.vlan.l3.interface.ipv4.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + +# l3-interface-ipv6-address-list +org.openecomp.sdnc.sli.aai.path.l3.interface.ipv6.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +org.openecomp.sdnc.sli.aai.path.vlan.l3.interface.ipv6.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + +# ipsec-configuration +org.openecomp.sdnc.sli.aai.path.ipsec.configuration=/aai/v8/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id} + +# vig server +org.openecomp.sdnc.sli.aai.path.vig.server=/aai/v8/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}/vig-servers/vig-server/{vig-address-type} + +# l3-network +org.openecomp.sdnc.sli.aai.path.l3.network=/aai/v8/network/l3-networks/l3-network/{network-id} + +# subnet +org.openecomp.sdnc.sli.aai.path.subnet=/aai/v8/network/l3-networks/l3-network/{network-id}/subnets/subnet/{subnet-id} + +# multicast-configuration +org.openecomp.sdnc.sli.aai.path.multicast.configuration=/aai/v8/network/multicast-configurations/multicast-configuration/{multicast-configuration-id} + +# org.openecomp.sdnc.sli.aai.path.l.interface.ipv4.address.list +org.openecomp.sdnc.sli.aai.path.l3-interface.ipv4.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + +# org.openecomp.sdnc.sli.aai.path.l.interface.vlan.ipv4.address.list +org.openecomp.sdnc.sli.aai.path.l3-interface.vlan.ipv4.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + +# org.openecomp.sdnc.sli.aai.path.l.interface.ipv6.address.list +org.openecomp.sdnc.sli.aai.path.l3-interface.ipv6.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + +# volume.group +org.openecomp.sdnc.sli.aai.path.volume.group=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/volume-groups/volume-group/{volume-group-id} + +#cloud region +org.openecomp.sdnc.sli.aai.path.cloud.region=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id} + +# vf-module +org.openecomp.sdnc.sli.aai.path.vf.module=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/vf-modules/vf-module/{vf-module-id} + +# l-interface through generic-vnf +org.openecomp.sdnc.sli.aai.path.generic.vnf.linterface=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name} + +# network-policy +org.openecomp.sdnc.sli.aai.path.network.policy=/aai/v8/network/network-policies/network-policy/{network-policy-id} + +# pnf +org.openecomp.sdnc.sli.aai.path.pnf=/aai/v8/network/pnfs/pnf/{pnf-name} + +# +# Formatting +# +org.openecomp.sdnc.sli.aai.param.format=filter=%s:%s +org.openecomp.sdnc.sli.aai.param.vnf_type=vnf-type +org.openecomp.sdnc.sli.aai.param.physical.location.id=physical-location-id +org.openecomp.sdnc.sli.aai.param.service.type=service-type + diff --git a/kubernetes/config/docker/init/src/config/appc/conf/appc.properties b/kubernetes/config/docker/init/src/config/appc/conf/appc.properties index edd8268c93..8f7a569f1d 100755..100644 --- a/kubernetes/config/docker/init/src/config/appc/conf/appc.properties +++ b/kubernetes/config/docker/init/src/config/appc/conf/appc.properties @@ -1,40 +1,38 @@ ### # ============LICENSE_START======================================================= -# openECOMP : APP-C +# APPC # ================================================================================ -# Copyright (C) 2017 OpenECOMP +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ============LICENSE_END========================================================= +# ECOMP is a trademark and service mark of AT&T Intellectual Property. ### -### ### -### Closed-Loop 1607 Properties (for demo) ### -### ### -appc.ClosedLoop1607.poolMembers=dmaap.onap-message-router:3904 -appc.ClosedLoop1607.topic.read=APPC-CL -appc.ClosedLoop1607.topic.write=APPC-CL -appc.ClosedLoop1607.client.name=APPC-TEST-CLIENT-DEMO-EXAMPLE -appc.ClosedLoop1607.client.name.id=0 -#dmaap.client.key=J6JsbtSm4By5CWAr -#dmaap.client.secret=kmadWKmItZTnajR9rBmcRCXG -appc.ClosedLoop1607.threads.queuesize.min=1 -appc.ClosedLoop1607.threads.queuesize.max=1000 -appc.ClosedLoop1607.threads.poolsize.min=1 -appc.ClosedLoop1607.threads.poolsize.max=2 -appc.ClosedLoop1607.provider.user=admin -appc.ClosedLoop1607.provider.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -appc.ClosedLoop1607.provider.url=http://localhost:8181/restconf/operations/appc-provider +### ### +### Properties for demo ### +### ### +appc.demo.poolMembers=dmaap.onap-message-router:3904 +appc.demo.topic.read=APPC-DEMO-TOPIC +appc.demo.topic.write=APPC-DEMO-TOPIC +appc.demo.client.name=appcDemoEventListener +appc.demo.threads.queuesize.min=1 +appc.demo.threads.queuesize.max=1000 +appc.demo.threads.poolsize.min=1 +appc.demo.threads.poolsize.max=2 +appc.demo.provider.user=admin +appc.demo.provider.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U +appc.demo.provider.url=http://localhost:8181/restconf/operations/appc-provider appc.provider.vfodl.url=http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@sdnhost.onap-appc:8282/restconf/config/network-topology:network-topology/topology/topology-netconf/node/NODE_NAME/yang-ext:mount/sample-plugin:sample-plugin/pg-streams/ # The properties right below are needed to properly call the Master DG to serve demo purposes @@ -46,9 +44,9 @@ appc.topology.dg.version=2.0.0 -### ### +### ### ### OpenStack credentials (these properties also are used in appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle) ### -### ### +### ### provider1.type=test provider1.name=test provider1.identity=http://identity1.appc.local/test @@ -60,27 +58,18 @@ provider1.tenant1.password=test -### ### -### Properties that are not covered or being replaced from default.properties files. Default value for DMaaP IP is dmaap.onap-message-router:3904 ### +### ### +### Properties that are not covered or being replaced from default.properties files. Default value for DMaaP IP is 10.0.11.1:3904 ### ### which is what the Master HEAT Template to instantiate OpenECOMP is pointing to (version R1). All other default values are ### ### left there since these are pre-defined as part of APP-C/OpenECOMP default instantiation with Master HEAT Template ### -### ### +### ### -# Property below is valid in appc-command-executor-core, appc-license-manager-core, appc-lifecycle-management-core, +# Property below is valid in appc-command-executor-core, appc-license-manager-core, appc-lifecycle-management-core, # appc-request-handler-core, appc-workflow-management-core (all from the appc-dispatcher package). dmaap.poolMembers=dmaap.onap-message-router:3904 -# appc-event-listener-bundle properties (DMaaP topics need to be defined in default.properties files in src/main and src/test). -appc.ClosedLoop.poolMembers=dmaap.onap-message-router:3904 -appc.ClosedLoop.client.key=testCL -appc.ClosedLoop.client.secret=testCL -appc.ClosedLoop.provider.url=https://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8443/restconf/operations/appc-provider:topology-operation -appc.ClosedLoop.provider.url.user=admin -appc.ClosedLoop.provider.url.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -test.vm_url=http://api.appc.local/vm/9999999/test/99999999-9999-9999-9999-999999999999 - # appc-event-listener-bundle properties (only defined in src/test of default.properties) appc.LCM.poolMembers=dmaap.onap-message-router:3904 appc.LCM.topic.read=testLCM @@ -99,7 +88,7 @@ restconf.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U # properties found in appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle) #Your OpenStack IP -test.ip=dmaap.onap-message-router00 +test.ip=10.0.11.100 # Your OpenStack Platform's Keystone Port (default is 5000) test.port=5000 test.tenantid=test @@ -108,8 +97,8 @@ test.vmid=test test.url=http://api.appc.local/vm/9999999/test/99999999-9999-9999-9999-999999999999 -# Properties from default.properties in the src/test and src/main paths of appc-asdc-listener-bundle -appc.asdc.host=sdc-be.onap-sdc +# Properties from default.properties in the src/test and src/main paths of appc-asdc-listener-bundle +appc.asdc.host=sdc-be.onap-sdc:8443 appc.asdc.env=APPC-ASDC-ENV appc.asdc.user=test appc.asdc.pass=test @@ -117,30 +106,19 @@ appc.asdc.consumer=APPC-ASDC-CONSUMER appc.asdc.consumer.id=APPC-ASDC-CONSUMER-ID appc.asdc.provider.url=http://localhost:8181/restconf/operations/AsdcMessage:configuration-document-request - - - - - - - - - - - - - - - - - - - - - -appc.asdc.env=AUTO - - -appc.asdc.env=SUCCESS - - +# Properties used by EventSenderDmaapImpl.java +DCAE.dmaap.event.topic.write=EventSenderTest +DCAE.dmaap.appc.username=test +DCAE.dmaap.appc.password=test +DCAE.dmaap.event.pool.members=dmaap.onap-message-router:3904 + +#OAM Listener +appc.OAM.disabled=true +appc.OAM.provider.url=http://localhost:8181/restconf/operations/appc-oam +appc.OAM.poolMembers=dmaap.onap-message-router:3904 +appc.OAM.service=ueb +appc.OAM.topic.read=testOAM +appc.OAM.topic.write=testOAM +appc.OAM.client.name=testOAM +appc.OAM.provider.user=admin +appc.OAM.provider.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U diff --git a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py b/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py index 77d1f96c66..c2347d49d5 100755 --- a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py +++ b/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py @@ -2,7 +2,7 @@ # GLOBAL_INJECTED_AAI1_IP_ADDR = "aai-service.onap-aai" #GLOBAL_INJECTED_AAI2_IP_ADDR = "10.0.1.2" -GLOBAL_INJECTED_APPC_IP_ADDR = "10.0.2.1" +GLOBAL_INJECTED_APPC_IP_ADDR = "sdnhost.onap-appc" GLOBAL_INJECTED_ARTIFACTS_VERSION = "1.1.0-SNAPSHOT" GLOBAL_INJECTED_CLOUD_ENV = "openstack" GLOBAL_INJECTED_DCAE_IP_ADDR = "dcae-controller.onap-dcae" diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/.gitignore b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/.gitignore deleted file mode 100644 index abe251a768..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/temp
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/MANIFEST.json b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/MANIFEST.json deleted file mode 100644 index a4e5cfd0ff..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/MANIFEST.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "virtualFireWall", - "description": "robot ete manifest", - "data": [ - { - "file": "base_vfw.yaml", - "type": "HEAT", - "isBase": "true", - "data": [ - { - "file": "base_vfw.env", - "type": "HEAT_ENV" - } - ] - } - ] -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env deleted file mode 100644 index a23f51a53b..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env +++ /dev/null @@ -1,4 +0,0 @@ -parameters: - vfw_image_name: UBUNTU_14_IMAGE_NAME_HERE - vfw_flavor_name: OPENSTACK_FLAVOUR_NAME_HERE - public_net_id: OPENSTACK_NETWORK_ID_WITH_INTERNET_HERE diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.yaml b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.yaml deleted file mode 100644 index a7df854a8d..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.yaml +++ /dev/null @@ -1,423 +0,0 @@ -heat_template_version: 2013-05-23 - -description: Heat template to deploy vFirewall demo app for OpenECOMP - -parameters: - vfw_image_name: - type: string - label: Image name or ID - description: Image to be used for compute instance - vfw_flavor_name: - type: string - label: Flavor - description: Type of instance (flavor) to be used - public_net_id: - type: string - label: Public network name or ID - description: Public network that enables remote connection to VNF - unprotected_private_net_id: - type: string - label: Unprotected private network name or ID - description: Private network that connects vPacketGenerator with vFirewall - protected_private_net_id: - type: string - label: Protected private network name or ID - description: Private network that connects vFirewall with vSink - ecomp_private_net_id: - type: string - label: ECOMP management network name or ID - description: Private network that connects ECOMP component and the VNF - ecomp_private_subnet_id: - type: string - label: ECOMP management sub-network name or ID - description: Private sub-network that connects ECOMP component and the VNF - unprotected_private_net_cidr: - type: string - label: Unprotected private network CIDR - description: The CIDR of the unprotected private network - protected_private_net_cidr: - type: string - label: Protected private network CIDR - description: The CIDR of the protected private network - ecomp_private_net_cidr: - type: string - label: ECOMP private network CIDR - description: The CIDR of the protected private network - vfw_private_ip_0: - type: string - label: vFirewall private IP address towards the unprotected network - description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator - vfw_private_ip_1: - type: string - label: vFirewall private IP address towards the protected network - description: Private IP address that is assigned to the vFirewall to communicate with the vSink - vfw_private_ip_2: - type: string - label: vFirewall private IP address towards the ECOMP management network - description: Private IP address that is assigned to the vFirewall to communicate with ECOMP components - vpg_private_ip_0: - type: string - label: vPacketGenerator private IP address towards the unprotected network - description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall - vpg_private_ip_1: - type: string - label: vPacketGenerator private IP address towards the ECOMP management network - description: Private IP address that is assigned to the vPacketGenerator to communicate with ECOMP components - vsn_private_ip_0: - type: string - label: vSink private IP address towards the protected network - description: Private IP address that is assigned to the vSink to communicate with the vFirewall - vsn_private_ip_1: - type: string - label: vSink private IP address towards the ECOMP management network - description: Private IP address that is assigned to the vSink to communicate with ECOMP components - vfw_name_0: - type: string - label: vFirewall name - description: Name of the vFirewall - vpg_name_0: - type: string - label: vPacketGenerator name - description: Name of the vPacketGenerator - vsn_name_0: - type: string - label: vSink name - description: Name of the vSink - vnf_id: - type: string - label: VNF ID - description: The VNF ID is provided by ECOMP - vf_module_id: - type: string - label: vFirewall module ID - description: The vFirewall Module ID is provided by ECOMP - dcae_collector_ip: - type: string - label: DCAE collector IP address - description: IP address of the DCAE collector - dcae_collector_port: - type: string - label: DCAE collector port - description: Port of the DCAE collector - key_name: - type: string - label: Key pair name - description: Public/Private key pair name - pub_key: - type: string - label: Public key - description: Public key to be installed on the compute instance - repo_url_blob: - type: string - label: Repository URL - description: URL of the repository that hosts the demo packages - repo_url_artifacts: - type: string - label: Repository URL - description: URL of the repository that hosts the demo packages - demo_artifacts_version: - type: string - label: Artifacts version used in demo vnfs - description: Artifacts (jar, tar.gz) version used in demo vnfs - -resources: - - random-str: - type: OS::Heat::RandomString - properties: - length: 4 - - my_keypair: - type: OS::Nova::KeyPair - properties: - name: - str_replace: - template: base_rand - params: - base: { get_param: key_name } - rand: { get_resource: random-str } - public_key: { get_param: pub_key } - save_private_key: false - - unprotected_private_network: - type: OS::Neutron::Net - properties: - name: { get_param: unprotected_private_net_id } - - protected_private_network: - type: OS::Neutron::Net - properties: - name: { get_param: protected_private_net_id } - - unprotected_private_subnet: - type: OS::Neutron::Subnet - properties: - network_id: { get_resource: unprotected_private_network } - cidr: { get_param: unprotected_private_net_cidr } - - protected_private_subnet: - type: OS::Neutron::Subnet - properties: - network_id: { get_resource: protected_private_network } - cidr: { get_param: protected_private_net_cidr } - - vfw_0: - type: OS::Nova::Server - properties: - image: { get_param: vfw_image_name } - flavor: { get_param: vfw_flavor_name } - name: { get_param: vfw_name_0 } - key_name: { get_resource: my_keypair } - networks: - - network: { get_param: public_net_id } - - port: { get_resource: vfw_private_0_port } - - port: { get_resource: vfw_private_1_port } - - port: { get_resource: vfw_private_2_port } - metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} - user_data_format: RAW - user_data: - str_replace: - params: - __dcae_collector_ip__ : { get_param: dcae_collector_ip } - __dcae_collector_port__ : { get_param: dcae_collector_port } - __repo_url_blob__ : { get_param: repo_url_blob } - __repo_url_artifacts__ : { get_param: repo_url_artifacts } - __demo_artifacts_version__ : { get_param: demo_artifacts_version } - template: | - #!/bin/bash - - DCAE_COLLECTOR_IP=__dcae_collector_ip__ - DCAE_COLLECTOR_PORT=__dcae_collector_port__ - REPO_URL_BLOB=__repo_url_blob__ - REPO_URL_ARTIFACTS=__repo_url_artifacts__ - DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__ - - # Download required dependencies - add-apt-repository -y ppa:openjdk-r/ppa - apt-get update - apt-get install -y make wget openjdk-8-jdk gcc libcurl4-openssl-dev python-pip bridge-utils apt-transport-https ca-certificates - apt-get install -y maven - pip install jsonschema - - # Download vFirewall code for virtual firewall - mkdir /opt/config - mkdir /opt/honeycomb - cd /opt - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/v_firewall_init.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/vfirewall.sh - - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf:sample-distribution:$DEMO_ARTIFACTS_VERSION:tar.gz:hc -Dtransitive=false -Ddest=. - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.ves:ves:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=. - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.ves:ves_vfw_reporting:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=. - - - tar -zxvf ves-$DEMO_ARTIFACTS_VERSION-demo.tar.gz - mv ves-$DEMO_ARTIFACTS_VERSION VES - tar -zxvf ves_vfw_reporting-$DEMO_ARTIFACTS_VERSION-demo.tar.gz - mv ves_vfw_reporting-$DEMO_ARTIFACTS_VERSION VESreporting_vFW - tar -zxvf sample-distribution-$DEMO_ARTIFACTS_VERSION-hc.tar.gz - mv sample-distribution-$DEMO_ARTIFACTS_VERSION honeycomb - sed -i 's/"restconf-binding-address": "127.0.0.1",/"restconf-binding-address": "0.0.0.0",/g' honeycomb/sample-distribution-$DEMO_ARTIFACTS_VERSION/config/honeycomb.json - mv VESreporting_vFW /opt/VES/code/evel_training/VESreporting - rm *.tar.gz - chmod +x v_firewall_init.sh - chmod +x vfirewall.sh - echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt - echo $DCAE_COLLECTOR_PORT > config/dcae_collector_port.txt - echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt - - # Install VPP - export UBUNTU="trusty" - export RELEASE=".stable.1609" - rm /etc/apt/sources.list.d/99fd.io.list - echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list - apt-get update - apt-get install -y vpp vpp-dpdk-dkms vpp-lib vpp-dbg vpp-plugins vpp-dev - sleep 1 - - # Install VES - cd /opt/VES/bldjobs/ - make clean - make - sleep 1 - - # Run instantiation script - cd /opt - mv vfirewall.sh /etc/init.d - update-rc.d vfirewall.sh defaults - ./v_firewall_init.sh - - vfw_private_0_port: - type: OS::Neutron::Port - properties: - network: { get_resource: unprotected_private_network } - fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vfw_private_ip_0 }}] - - vfw_private_1_port: - type: OS::Neutron::Port - properties: - network: { get_resource: protected_private_network } - fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vfw_private_ip_1 }}] - - vfw_private_2_port: - type: OS::Neutron::Port - properties: - network: { get_param: ecomp_private_net_id } - fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vfw_private_ip_2 }}] - - vpg_0: - type: OS::Nova::Server - properties: - image: { get_param: vfw_image_name } - flavor: { get_param: vfw_flavor_name } - name: { get_param: vpg_name_0 } - key_name: { get_resource: my_keypair } - networks: - - network: { get_param: public_net_id } - - port: { get_resource: vpg_private_0_port } - - port: { get_resource: vpg_private_1_port } - metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} - user_data_format: RAW - user_data: - str_replace: - params: - __fw_ipaddr__: { get_param: vfw_private_ip_0 } - __protected_net_cidr__: { get_param: protected_private_net_cidr } - __sink_ipaddr__: { get_param: vsn_private_ip_0 } - __repo_url_blob__ : { get_param: repo_url_blob } - __repo_url_artifacts__ : { get_param: repo_url_artifacts } - __demo_artifacts_version__ : { get_param: demo_artifacts_version } - template: | - #!/bin/bash - - FW_IPADDR=__fw_ipaddr__ - PROTECTED_NET_CIDR=__protected_net_cidr__ - SINK_IPADDR=__sink_ipaddr__ - REPO_URL_BLOB=__repo_url_blob__ - REPO_URL_ARTIFACTS=__repo_url_artifacts__ - DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__ - - # Download required dependencies - add-apt-repository -y ppa:openjdk-r/ppa - apt-get update - apt-get install -y make wget openjdk-8-jdk gcc libcurl4-openssl-dev python-pip bridge-utils apt-transport-https ca-certificates - apt-get install -y maven - pip install jsonschema - - # Download vFirewall demo code for packet generator - mkdir /opt/config - mkdir /opt/honeycomb - cd /opt - - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/v_packetgen_init.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/vpacketgen.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/run_traffic_fw_demo.sh - - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf:sample-distribution:$DEMO_ARTIFACTS_VERSION:tar.gz:hc -Dtransitive=false -Ddest=. - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.vfw:vfw_pg_streams:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=. - - - tar -zxvf sample-distribution-$DEMO_ARTIFACTS_VERSION-hc.tar.gz - tar -zxvf vfw_pg_streams-$DEMO_ARTIFACTS_VERSION-demo.tar.gz - mv vfw_pg_streams-$DEMO_ARTIFACTS_VERSION pg_streams - mv sample-distribution-$DEMO_ARTIFACTS_VERSION honeycomb - sed -i 's/"restconf-binding-address": "127.0.0.1",/"restconf-binding-address": "0.0.0.0",/g' honeycomb/sample-distribution-$DEMO_ARTIFACTS_VERSION/config/honeycomb.json - rm *.tar.gz - chmod +x v_packetgen_init.sh - chmod +x vpacketgen.sh - echo $FW_IPADDR > config/fw_ipaddr.txt - echo $PROTECTED_NET_CIDR > config/protected_net_cidr.txt - echo $SINK_IPADDR > config/sink_ipaddr.txt - echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt - - # Install VPP - export UBUNTU="trusty" - export RELEASE=".stable.1609" - rm /etc/apt/sources.list.d/99fd.io.list - echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list - apt-get update - apt-get install -y vpp vpp-dpdk-dkms vpp-lib vpp-dbg vpp-plugins vpp-dev - sleep 1 - - # Run instantiation script - cd /opt - mv vpacketgen.sh /etc/init.d - update-rc.d vpacketgen.sh defaults - ./v_packetgen_init.sh - - vpg_private_0_port: - type: OS::Neutron::Port - properties: - network: { get_resource: unprotected_private_network } - fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vpg_private_ip_0 }}] - - vpg_private_1_port: - type: OS::Neutron::Port - properties: - network: { get_param: ecomp_private_net_id } - fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vpg_private_ip_1 }}] - - vsn_0: - type: OS::Nova::Server - properties: - image: { get_param: vfw_image_name } - flavor: { get_param: vfw_flavor_name } - name: { get_param: vsn_name_0 } - key_name: { get_resource: my_keypair } - networks: - - network: { get_param: public_net_id } - - port: { get_resource: vsn_private_0_port } - - port: { get_resource: vsn_private_1_port } - metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} - user_data_format: RAW - user_data: - str_replace: - params: - __protected_net_gw__: { get_param: vfw_private_ip_1 } - __unprotected_net__: { get_param: unprotected_private_net_cidr } - __repo_url_blob__ : { get_param: repo_url_blob } - __repo_url_artifacts__ : { get_param: repo_url_artifacts } - __demo_artifacts_version__ : { get_param: demo_artifacts_version } - template: | - #!/bin/bash - - PROTECTED_NET_GW=__protected_net_gw__ - UNPROTECTED_NET=__unprotected_net__ - UNPROTECTED_NET=$(echo $UNPROTECTED_NET | cut -d'/' -f1) - REPO_URL_BLOB=__repo_url_blob__ - REPO_URL_ARTIFACTS=__repo_url_artifacts__ - DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__ - - # Download required dependencies - add-apt-repository -y ppa:openjdk-r/ppa - apt-get update - apt-get install -y make wget openjdk-8-jdk apt-transport-https ca-certificates darkstat - - # Configure and run darkstat - sed -i "s/START_DARKSTAT=.*/START_DARKSTAT=yes/g" /etc/darkstat/init.cfg - sed -i "s/INTERFACE=.*/INTERFACE=\"-i eth1\"/g" /etc/darkstat/init.cfg - /etc/init.d/darkstat start - - mkdir /opt/config - cd /opt - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/v_sink_init.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/vsink.sh - chmod +x v_sink_init.sh - chmod +x vsink.sh - echo $PROTECTED_NET_GW > config/protected_net_gw.txt - echo $UNPROTECTED_NET > config/unprotected_net.txt - mv vsink.sh /etc/init.d - update-rc.d vsink.sh defaults - ./v_sink_init.sh - - vsn_private_0_port: - type: OS::Neutron::Port - properties: - network: { get_resource: protected_private_network } - fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vsn_private_ip_0 }}] - - vsn_private_1_port: - type: OS::Neutron::Port - properties: - network: { get_param: ecomp_private_net_id } - fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vsn_private_ip_1 }}] diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/MANIFEST.json b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/MANIFEST.json deleted file mode 100644 index bb8d70a138..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/MANIFEST.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "virtualLoadBalancer", - "description": "robot ete manifest", - "data": [ - { - "file": "base_vlb.yaml", - "type": "HEAT", - "isBase": "true", - "data": [ - { - "file": "base_vlb.env", - "type": "HEAT_ENV" - } - ] - }, - { - "file": "dnsscaling.yaml", - "type": "HEAT", - "isBase": "false", - "data": [ - { - "file": "dnsscaling.env", - "type": "HEAT_ENV" - } - ] - } - ] -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env deleted file mode 100644 index b5b796a76f..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env +++ /dev/null @@ -1,4 +0,0 @@ -parameters: - vlb_image_name: UBUNTU_14_IMAGE_NAME_HERE - vlb_flavor_name: OPENSTACK_FLAVOUR_NAME_HERE - public_net_id: OPENSTACK_NETWORK_ID_WITH_INTERNET_HERE diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.yaml b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.yaml deleted file mode 100644 index c292f2957d..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.yaml +++ /dev/null @@ -1,339 +0,0 @@ -heat_template_version: 2013-05-23 - -description: Heat template to deploy vLoadBalancer/vDNS demo app for OpenECOMP - -parameters: - vlb_image_name: - type: string - label: Image name or ID - description: Image to be used for compute instance - vlb_flavor_name: - type: string - label: Flavor - description: Type of instance (flavor) to be used - public_net_id: - type: string - label: Public network name or ID - description: Public network that enables remote connection to VNF - vlb_private_net_id: - type: string - label: vLoadBalancer private network name or ID - description: Private network that connects vLoadBalancer with vDNSs - ecomp_private_net_id: - type: string - label: ECOMP management network name or ID - description: Private network that connects ECOMP component and the VNF - ecomp_private_subnet_id: - type: string - label: ECOMP management sub-network name or ID - description: Private sub-network that connects ECOMP component and the VNF - vlb_private_net_cidr: - type: string - label: vLoadBalancer private network CIDR - description: The CIDR of the vLoadBalancer private network - ecomp_private_net_cidr: - type: string - label: ECOMP private network CIDR - description: The CIDR of the protected private network - vlb_private_ip_0: - type: string - label: vLoadBalancer private IP address towards the private network - description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs - vlb_private_ip_1: - type: string - label: vLoadBalancer private IP address towards the ECOMP management network - description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components - vdns_private_ip_0: - type: string - label: vDNS private IP address towards the private network - description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer - vdns_private_ip_1: - type: string - label: vDNS private IP address towards the ECOMP management network - description: Private IP address that is assigned to the vDNS to communicate with ECOMP components - vlb_name_0: - type: string - label: vLoadBalancer name - description: Name of the vLoadBalancer - vdns_name_0: - type: string - label: vDNS name - description: Name of the vDNS - vnf_id: - type: string - label: VNF ID - description: The VNF ID is provided by ECOMP - vf_module_id: - type: string - label: vFirewall module ID - description: The vLoadBalancer Module ID is provided by ECOMP - dcae_collector_ip: - type: string - label: DCAE collector IP address - description: IP address of the DCAE collector - dcae_collector_port: - type: string - label: DCAE collector port - description: Port of the DCAE collector - key_name: - type: string - label: Key pair name - description: Public/Private key pair name - pub_key: - type: string - label: Public key - description: Public key to be installed on the compute instance - repo_url_blob: - type: string - label: Repository URL - description: URL of the repository that hosts the demo packages - repo_url_artifacts: - type: string - label: Repository URL - description: URL of the repository that hosts the demo packages - demo_artifacts_version: - type: string - label: Artifacts version used in demo vnfs - description: Artifacts (jar, tar.gz) version used in demo vnfs - -resources: - - random-str: - type: OS::Heat::RandomString - properties: - length: 4 - - my_keypair: - type: OS::Nova::KeyPair - properties: - name: - str_replace: - template: base_rand - params: - base: { get_param: key_name } - rand: { get_resource: random-str } - public_key: { get_param: pub_key } - save_private_key: false - - vlb_private_network: - type: OS::Neutron::Net - properties: - name: { get_param: vlb_private_net_id } - - vlb_private_subnet: - type: OS::Neutron::Subnet - properties: - name: { get_param: vlb_private_net_id } - network_id: { get_resource: vlb_private_network } - cidr: { get_param: vlb_private_net_cidr } - - vlb_0: - type: OS::Nova::Server - properties: - image: { get_param: vlb_image_name } - flavor: { get_param: vlb_flavor_name } - name: { get_param: vlb_name_0 } - key_name: { get_resource: my_keypair } - networks: - - network: { get_param: public_net_id } - - port: { get_resource: vlb_private_0_port } - - port: { get_resource: vlb_private_1_port } - metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} - user_data_format: RAW - user_data: - str_replace: - params: - __dcae_collector_ip__: { get_param: dcae_collector_ip } - __dcae_collector_port__: { get_param: dcae_collector_port } - __local_private_ipaddr__: { get_param: vlb_private_ip_0 } - __repo_url_blob__ : { get_param: repo_url_blob } - __repo_url_artifacts__ : { get_param: repo_url_artifacts } - __demo_artifacts_version__ : { get_param: demo_artifacts_version } - template: | - #!/bin/bash - - DCAE_COLLECTOR_IP=__dcae_collector_ip__ - DCAE_COLLECTOR_PORT=__dcae_collector_port__ - LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__ - REPO_URL_BLOB=__repo_url_blob__ - REPO_URL_ARTIFACTS=__repo_url_artifacts__ - DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__ - - # Download required dependencies - add-apt-repository -y ppa:openjdk-r/ppa - apt-get update - apt-get install -y make gcc wget openjdk-8-jdk bridge-utils libcurl4-openssl-dev apt-transport-https ca-certificates - apt-get install -y maven - sleep 1 - - # Download vLB demo code for load balancer - mkdir /opt/config - mkdir /opt/FDserver - cd /opt - - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/v_lb_init.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/vlb.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/dnsmembership.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/add_dns.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/remove_dns.sh - - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.vlb:dns-manager:$DEMO_ARTIFACTS_VERSION:jar -Dtransitive=false -Ddest=. - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.ves:ves:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=. - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.ves:ves_vlb_reporting:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=. - - tar -zxvf ves-$DEMO_ARTIFACTS_VERSION-demo.tar.gz - mv ves-$DEMO_ARTIFACTS_VERSION VES - tar -zxvf ves_vlb_reporting-$DEMO_ARTIFACTS_VERSION-demo.tar.gz - mv ves_vlb_reporting-$DEMO_ARTIFACTS_VERSION VESreporting_vLB - - mv VESreporting_vLB /opt/VES/code/evel_training/VESreporting - mv dns-manager-$DEMO_ARTIFACTS_VERSION.jar /opt/FDserver/dns-manager-$DEMO_ARTIFACTS_VERSION.jar - mv dnsmembership.sh /opt/FDserver/dnsmembership.sh - mv add_dns.sh /opt/FDserver/add_dns.sh - mv remove_dns.sh /opt/FDserver/remove_dns.sh - rm *.tar.gz - - chmod +x v_lb_init.sh - chmod +x vlb.sh - chmod +x /opt/VES/code/evel_training/VESreporting/go-client.sh - chmod +x /opt/FDserver/dnsmembership.sh - chmod +x /opt/FDserver/add_dns.sh - chmod +x /opt/FDserver/remove_dns.sh - - echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt - echo $DCAE_COLLECTOR_PORT > config/dcae_collector_port.txt - echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt - LOCAL_PUBLIC_IPADDR=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2) - echo $LOCAL_PUBLIC_IPADDR > config/local_public_ipaddr.txt - echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt - - # Install VPP - export UBUNTU="trusty" - export RELEASE=".stable.1609" - rm /etc/apt/sources.list.d/99fd.io.list - echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list - apt-get update - apt-get install -y vpp vpp-dpdk-dkms vpp-lib vpp-dbg vpp-plugins vpp-dev - sleep 1 - - # Install VES - cd /opt/VES/bldjobs/ - make clean - make - sleep 1 - - # Run instantiation script - cd /opt - mv vlb.sh /etc/init.d - update-rc.d vlb.sh defaults - ./v_lb_init.sh - - vlb_private_0_port: - type: OS::Neutron::Port - properties: - network: { get_resource: vlb_private_network } - fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vlb_private_ip_0 }}] - - vlb_private_1_port: - type: OS::Neutron::Port - properties: - network: { get_param: ecomp_private_net_id } - fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vlb_private_ip_1 }}] - - vdns_0: - type: OS::Nova::Server - properties: - image: { get_param: vlb_image_name } - flavor: { get_param: vlb_flavor_name } - name: { get_param: vdns_name_0 } - key_name: { get_resource: my_keypair } - networks: - - network: { get_param: public_net_id } - - port: { get_resource: vdns_private_0_port } - - port: { get_resource: vdns_private_1_port } - metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} - user_data_format: RAW - user_data: - str_replace: - params: - __lb_oam_int__ : { get_param: vlb_private_ip_1 } - __lb_private_ipaddr__: { get_param: vlb_private_ip_0 } - __local_private_ipaddr__: { get_param: vdns_private_ip_0 } - __repo_url_blob__ : { get_param: repo_url_blob } - __repo_url_artifacts__ : { get_param: repo_url_artifacts } - __demo_artifacts_version__ : { get_param: demo_artifacts_version } - template: | - #!/bin/bash - - LB_OAM_INT=__lb_oam_int__ - LB_PRIVATE_IPADDR=__lb_private_ipaddr__ - LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__ - REPO_URL_BLOB=__repo_url_blob__ - REPO_URL_ARTIFACTS=__repo_url_artifacts__ - DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__ - - # Download required dependencies - add-apt-repository -y ppa:openjdk-r/ppa - apt-get update - apt-get install -y wget openjdk-8-jdk bind9 bind9utils bind9-doc apt-transport-https ca-certificates - apt-get install -y maven - sleep 1 - - # Download vDNS demo code for DNS Server - mkdir /opt/config - mkdir /opt/FDclient - cd /opt - - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/v_dns_init.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/vdns.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/dnsclient.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/set_gre_tunnel.sh - - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.vlb:dns-client:$DEMO_ARTIFACTS_VERSION:jar -Dtransitive=false -Ddest=. - - mv dns-client-$DEMO_ARTIFACTS_VERSION.jar /opt/FDclient/ - mv dnsclient.sh /opt/FDclient/ - mv set_gre_tunnel.sh /opt/FDclient/ - - chmod +x v_dns_init.sh - chmod +x vdns.sh - chmod +x /opt/FDclient/dnsclient.sh - chmod +x /opt/FDclient/set_gre_tunnel.sh - - echo $LB_OAM_INT > config/lb_oam_int.txt - echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt - echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt - echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt - - # Download Bind config files - cd /opt/config - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/db_dnsdemo_openecomp_org - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/named.conf.options - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/named.conf.local - - # Configure Bind - modprobe ip_gre - mkdir /etc/bind/zones - sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9 - mv db_dnsdemo_openecomp_org /etc/bind/zones/db.dnsdemo.openecomp.org - mv named.conf.options /etc/bind/ - mv named.conf.local /etc/bind/ - sleep 1 - - # Run instantiation script - cd /opt - mv vdns.sh /etc/init.d - update-rc.d vdns.sh defaults - ./v_dns_init.sh - - vdns_private_0_port: - type: OS::Neutron::Port - properties: - network: { get_resource: vlb_private_network } - fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vdns_private_ip_0 }}] - - vdns_private_1_port: - type: OS::Neutron::Port - properties: - network: { get_param: ecomp_private_net_id } - fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vdns_private_ip_1 }}] diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env deleted file mode 100644 index b5b796a76f..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env +++ /dev/null @@ -1,4 +0,0 @@ -parameters: - vlb_image_name: UBUNTU_14_IMAGE_NAME_HERE - vlb_flavor_name: OPENSTACK_FLAVOUR_NAME_HERE - public_net_id: OPENSTACK_NETWORK_ID_WITH_INTERNET_HERE diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.yaml b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.yaml deleted file mode 100644 index 003deb9103..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.yaml +++ /dev/null @@ -1,194 +0,0 @@ -heat_template_version: 2013-05-23 - -description: Heat template to deploy a vDNS for OpenECOMP (scaling-up scenario) - -parameters: - vlb_image_name: - type: string - label: Image name or ID - description: Image to be used for compute instance - vlb_flavor_name: - type: string - label: Flavor - description: Type of instance (flavor) to be used - public_net_id: - type: string - label: Public network name or ID - description: Public network that enables remote connection to VNF - vlb_private_net_id: - type: string - label: vLoadBalancer private network name or ID - description: Private network that connects vLoadBalancer with vDNSs - ecomp_private_net_id: - type: string - label: ECOMP management network name or ID - description: Private network that connects ECOMP component and the VNF - ecomp_private_subnet_id: - type: string - label: ECOMP management sub-network name or ID - description: Private sub-network that connects ECOMP component and the VNF - vlb_private_ip_0: - type: string - label: vLoadBalancer private IP address towards the private network - description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs - vlb_private_ip_1: - type: string - label: vLoadBalancer private IP address towards the ECOMP management network - description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components - vdns_private_ip_0: - type: string - label: vDNS private IP address towards the private network - description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer - vdns_private_ip_1: - type: string - label: vDNS private IP address towards the ECOMP management network - description: Private IP address that is assigned to the vDNS to communicate with ECOMP components - vdns_name_0: - type: string - label: vDNS name - description: Name of the vDNS - vnf_id: - type: string - label: VNF ID - description: The VNF ID is provided by ECOMP - vf_module_id: - type: string - label: vFirewall module ID - description: The vLoadBalancer Module ID is provided by ECOMP - key_name: - type: string - label: Key pair name - description: Public/Private key pair name - pub_key: - type: string - label: Public key - description: Public key to be installed on the compute instance - repo_url_blob: - type: string - label: Repository URL - description: URL of the repository that hosts the demo packages - repo_url_artifacts: - type: string - label: Repository URL - description: URL of the repository that hosts the demo packages - demo_artifacts_version: - type: string - label: Artifacts version used in demo vnfs - description: Artifacts (jar, tar.gz) version used in demo vnfs - -resources: - - random-str: - type: OS::Heat::RandomString - properties: - length: 4 - - my_keypair: - type: OS::Nova::KeyPair - properties: - name: - str_replace: - template: base_rand - params: - base: { get_param: key_name } - rand: { get_resource: random-str } - public_key: { get_param: pub_key } - save_private_key: false - - vdns_0: - type: OS::Nova::Server - properties: - image: { get_param: vlb_image_name } - flavor: { get_param: vlb_flavor_name } - name: { get_param: vdns_name_0 } - key_name: { get_resource: my_keypair } - networks: - - network: { get_param: public_net_id } - - port: { get_resource: vdns_private_0_port } - - port: { get_resource: vdns_private_1_port } - metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} - user_data_format: RAW - user_data: - str_replace: - params: - __lb_oam_int__ : { get_param: vlb_private_ip_1 } - __lb_private_ipaddr__: { get_param: vlb_private_ip_0 } - __local_private_ipaddr__: { get_param: vdns_private_ip_0 } - __repo_url_blob__ : { get_param: repo_url_blob } - __repo_url_artifacts__ : { get_param: repo_url_artifacts } - __demo_artifacts_version__ : { get_param: demo_artifacts_version } - template: | - #!/bin/bash - - LB_OAM_INT=__lb_oam_int__ - LB_PRIVATE_IPADDR=__lb_private_ipaddr__ - LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__ - REPO_URL_BLOB=__repo_url_blob__ - REPO_URL_ARTIFACTS=__repo_url_artifacts__ - DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__ - - # Download required dependencies - add-apt-repository -y ppa:openjdk-r/ppa - apt-get update - apt-get install -y wget openjdk-8-jdk bind9 bind9utils bind9-doc apt-transport-https ca-certificates - apt-get install -y maven - sleep 1 - - # Download vDNS demo code for DNS Server - mkdir /opt/config - mkdir /opt/FDclient - cd /opt - - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/v_dns_init.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/vdns.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/dnsclient.sh - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/set_gre_tunnel.sh - - mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.vlb:dns-client:$DEMO_ARTIFACTS_VERSION:jar -Dtransitive=false -Ddest=. - - mv dns-client-$DEMO_ARTIFACTS_VERSION.jar /opt/FDclient/ - mv dnsclient.sh /opt/FDclient/ - mv set_gre_tunnel.sh /opt/FDclient/ - - chmod +x v_dns_init.sh - chmod +x vdns.sh - chmod +x /opt/FDclient/dnsclient.sh - chmod +x /opt/FDclient/set_gre_tunnel.sh - - echo $LB_OAM_INT > config/lb_oam_int.txt - echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt - echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt - echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt - - # Download Bind config files - cd /opt/config - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/db_dnsdemo_openecomp_org - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/named.conf.options - wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/named.conf.local - - # Configure Bind - modprobe ip_gre - mkdir /etc/bind/zones - sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9 - mv db_dnsdemo_openecomp_org /etc/bind/zones/db.dnsdemo.openecomp.org - mv named.conf.options /etc/bind/ - mv named.conf.local /etc/bind/ - sleep 1 - - # Run instantiation script - cd /opt - mv vdns.sh /etc/init.d - update-rc.d vdns.sh defaults - ./v_dns_init.sh - - vdns_private_0_port: - type: OS::Neutron::Port - properties: - network: { get_param: vlb_private_net_id } - fixed_ips: [{"subnet": { get_param: vlb_private_net_id }, "ip_address": { get_param: vdns_private_ip_0 }}] - - vdns_private_1_port: - type: OS::Neutron::Port - properties: - network: { get_param: ecomp_private_net_id } - fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vdns_private_ip_1 }}] diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/MANIFEST.json b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/MANIFEST.json deleted file mode 100644 index 67312f23b8..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/MANIFEST.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "volumeGroup.yaml", - "description": "robot ete manifest", - "data": [ - { - "file": "base_vvg.yaml", - "type": "HEAT", - "isBase": "true", - "data": [ - { - "file": "base_vvg.env", - "type": "HEAT_ENV" - } - ] - } - ] -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.env deleted file mode 100644 index 2b4e72b833..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.env +++ /dev/null @@ -1,3 +0,0 @@ -parameters: - volume_size: 100 - nova_instance: 1234456
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.yaml b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.yaml deleted file mode 100644 index c20d4e4850..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.yaml +++ /dev/null @@ -1,22 +0,0 @@ -heat_template_version: 2013-05-23 -description: create a Nova instance, a Cinder volume and attach the volume to the instance. - -parameters: - nova_instance: - type: string - label: Instance name or ID - description: ID of the vm to use for the disk to be attached too - volume_size: - type: number - label: GB - description: Size of the volume to be created. -resources: - cinder_volume: - type: OS::Cinder::Volume - properties: - size: { get_param: volume_size } - volume_attachment: - type: OS::Cinder::VolumeAttachment - properties: - volume_id: { get_resource: cinder_volume } - instance_uuid: { get_param: nova_instance }
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/dcae/dcae_healthcheck.json b/kubernetes/config/docker/init/src/config/robot/robot/assets/dcae/dcae_healthcheck.json deleted file mode 100644 index d612b08210..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/dcae/dcae_healthcheck.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "path": "/reports/dcae/service-instances", - "start": "-24hour", - "end": "now" -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/ecompdemo.pvt b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/ecompdemo.pvt deleted file mode 100644 index 36d9e9cf39..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/ecompdemo.pvt +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,E9DC8BE477D6D4AC - -4lYXpDswDU9oNh/OdB/0krK7AVN2OYnU98ZvYUfQIVWgrAty0vp0PDErOAAP7AOE -tz+tQwvg/JVqZlBGCYIkwx5ADJ9YFXMyn/Ztla2jC90dxbjlra+MvuU9nMfjWhjP -PiaOysIDaRIPZqjkjRQcslgsDYgVF4JC+2qRMJ62e5exk0dw4Cn3XeN53pByQ8HT -OnTuszejFNb3/HA5LsPyJl3cZqMBlKOHToUBbF2JBuo+aDq5S+YgzILep/nTQadh -kLfuJThhAwTJsQWVCSOggAwsjV6fP5yi2q9iCmF07kxDgRsByj0nl/7YDoZ69ZoE -LHkZEoZ1JSX0SSOrOUyVcpf8+ofK1aMEoWRvLGYfBD7wDJb4nzi4k1fdJGnoDLms -dr+mL7RB5zoC3xlumSAK2AP8hhIfURtaSC9hpiUB6yIXCmUjx4FIzroa4gBUsrlJ -R6KGp+6b54bf7hwFeCjYENjGq5YJJ24Aur2mR045LCBNP452pFVi5SIfX0PO5ocd -dBvPHQUqtCoUkQMSTtjy6T384BbPeA5s5zazq7WUoNrQD37khR7MojBpww0s3wEh -U+XWlQ5bEjEjac5Q8RIJrB2Bp6/cUQFSlqNDKxK2y1WzvPjM/Fkn2H+hImn+we7n -Cp5fzx6s4roeEc9WvVmb2+V3xV883pkktd1IiWGfleB14ZJ1vcGzdW+lBINgm9h1 -5xvxP5Xtqj8KGGoA3mEo3CbzR1XbkEp7/S4MN1OsXSCy3jZpiP+ctd4fwk5Ltcqz -YEjM5cb2+joNYTd4JW5DTtz7qrMn/sotAOlgw2ozmXLfbbMuOZ9SX76npEr8SKd+ -065bxJ+YvN6MFzwG75nFfXcPWdNVntXaH+zOZfBGBNX84gX4p3ORF1u18brNcd9z -0sv1OiGdO5NFVA/3YixP1P2zZxlGsi972PtHoQ8SHxbEfNMCqkNGrHh+KmaT42k6 -W5lscEhPDtIsiRmhTTrL6L5sFCbLL+8UZktK1/TU27QtCtywi5xfzO9NhJg27R5b -hPvQs43V7KItpdc5LdWrft7hTnmc4jn5F6aE7l9bCaaRgAy1MH6lzyjuaLphFXmP -GdPLD9GhMFiTRJNVCRkYPZwtGKdfG6/z6kRZGIi6XPYzI3FcHOdKTGgvGxlko6Lr -4FG0kOwgi55o1gQnL3wsBVoNZ7PrkHLFSQhu03ggXPrf75oMN0Tsqai+iaf4OvMr -fgk4O5+D/CX94R50V1xUymUrRIAzKG3k+jebFcTzkb7B/e1bPwr8ZRUk31nZrgYp -3qKJT77/Vz+tyL3H+U3YdvzxhG6+onXDkAvO8WAcfsKpEJ3thv8NOqXZeKCY2m1G -wrQ8vfl6MddOvlI5EKbnwesXIznO9Gl+RoCm18I/M8bETTAOMJXb3cp4GiBffXbI -8kbYwVeHGscXizHdkuqjbN1NLg5KPZV10KRchg0g85PWgDr59wY5kMplFNUrkxY2 -1ETYOZsmOa3/Afcq2dgxEw1t1t+ZRR5dh6OdQXKCvsHHugQisnPi5NAb8gkZbRJI -yHNInMegrG2S17n75P0o+GM+XItc74ygnv/KedJFW9uBaOr7sXtB4A== ------END RSA PRIVATE KEY----- diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.ppk b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.ppk deleted file mode 100644 index 0a327c24f6..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.ppk +++ /dev/null @@ -1,26 +0,0 @@ -PuTTY-User-Key-File-2: ssh-rsa -Encryption: none -Comment: rsa-key-20161026 -Public-Lines: 6 -AAAAB3NzaC1yc2EAAAABJQAAAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4K -VwhTJVTTeB6CqrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVP -KSIeH63kgVugwgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMT -LKXvZZZGqxW94bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poT -QnQm/3D6hiJICrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7 -D7M/yj292RT1XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOw== -Private-Lines: 14 -AAABAGoWftznbzMMs0zrEmSThd7m+qehjNdrP+0PpZAMGAJy//6PgahiFjHkmMqn -N3p5BP1DXQ40oNp/rP9gM8YQPy3eXFRxh8/k4mYiAMaK1HSOsKNwTyx+7jdxpUrn -Rv1arqTMHM5lo7YVKWha+ik5egUEMpKxo3NtNBUdJ5hLeSN4EzbS0xq6dYA0EU33 -kjmkoqtj2qMhwZQmTUCyqvtae6t9I7YTP9DbkG+kyuWSLCrbIFN3SPU7jsLBxI45 -cdUiAKBbd6WjPYauSyhTenZvqjxDV0w/QUPKv3vxpqPvLfdA/gQfvhFLkNMStdb9 -DKB4ni8uiAPtM5AVYlgEpC7Nuw0AAACBANa5Wi9KvsPp5ltbiwrLeoVTPmFwAhJP -w+B+OEoRN4oMqstIBOZiYz1+WV/nA3WR1gOd/TbDL4kzXL9SYl/y8QmFjrc7B4vI -GLhWnDBjl1l/wvYhxMXbfHEN2VqZVICSoEVICphx6SPflFH53kmGrIiBs9GWFv9c -AVGHi1j52rvRAAAAgQDLeCWfKS24gUcSfn/UHlc9EGgyNayeC3eX4K2xV9yMSXub -uQVvxiuBXd6OWW9I/CQyNVoLN3tboAzRl61ds15Ml+V/uLMjxrXJXDWkEiQHsOMX -BhREWZL0T3hlFZsyfVZPPH5BavZzA4PB1/BF+t06N10pnASXB4kcKjQD0JQCSwAA -AIBfQ7PZM1KuL0zpD6imxUgyNNSXdGTfM9XUSY5L8e2xWqjnZT+Cj1bUGVYMxrpC -8bpfGGTyBv/v6N7NxPep1QeyM9E0o0z0ID9ybRpX4ErYSp1sLZBNlBXdAAL9nexo -XbZDpN0zdBE5wnAMjcjHTp9PMSDeWt4/r2aiNde3VFwnWg== -Private-MAC: 50d4bf08bffb34c3aba06d57afb241242ca9e242 diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.pvt b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.pvt deleted file mode 100644 index 17c17a3dca..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.pvt +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEoQIBAAKCAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4KVwhTJVTTeB6C -qrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVPKSIeH63kgVug -wgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMTLKXvZZZGqxW9 -4bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poTQnQm/3D6hiJI -CrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7D7M/yj292RT1 -XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOwIBJQKCAQBqFn7c528zDLNM6xJk -k4Xe5vqnoYzXaz/tD6WQDBgCcv/+j4GoYhYx5JjKpzd6eQT9Q10ONKDaf6z/YDPG -ED8t3lxUcYfP5OJmIgDGitR0jrCjcE8sfu43caVK50b9Wq6kzBzOZaO2FSloWvop -OXoFBDKSsaNzbTQVHSeYS3kjeBM20tMaunWANBFN95I5pKKrY9qjIcGUJk1Asqr7 -WnurfSO2Ez/Q25BvpMrlkiwq2yBTd0j1O47CwcSOOXHVIgCgW3eloz2GrksoU3p2 -b6o8Q1dMP0FDyr978aaj7y33QP4EH74RS5DTErXW/QygeJ4vLogD7TOQFWJYBKQu -zbsNAoGBANa5Wi9KvsPp5ltbiwrLeoVTPmFwAhJPw+B+OEoRN4oMqstIBOZiYz1+ -WV/nA3WR1gOd/TbDL4kzXL9SYl/y8QmFjrc7B4vIGLhWnDBjl1l/wvYhxMXbfHEN -2VqZVICSoEVICphx6SPflFH53kmGrIiBs9GWFv9cAVGHi1j52rvRAoGBAMt4JZ8p -LbiBRxJ+f9QeVz0QaDI1rJ4Ld5fgrbFX3IxJe5u5BW/GK4Fd3o5Zb0j8JDI1Wgs3 -e1ugDNGXrV2zXkyX5X+4syPGtclcNaQSJAew4xcGFERZkvRPeGUVmzJ9Vk88fkFq -9nMDg8HX8EX63To3XSmcBJcHiRwqNAPQlAJLAoGAdBEp1F/BD/QN0ISCgmAmjUHA -2rkV4GJ3t54sQ7ZHiORApTuvnyBs/qUpZEWFVE7UjFVmRx1lzZ85DXij4NZYxuBo -0b8K/3MUR/d3BWZD+QbKP9rm532PX7R1fRScYSypqOiryAY41R7oY6molnJPbGHI -+6sTWZmELBHqdUjJQu0CgYEAuvjIoBgAgAgXy84wRmER5RX+4gfPDcVZI8eK2lC8 -0/B/bICBiU5RfcvhRImI20iP9sk9/HgsKq6/q9d8tvfaHN6bih9Ygb2Ec9gxSqji -1qKLfPDUWnvTJbDPf3ujXtQKH0xYV8oS5jqUv/bcyq8sJ6h/H1EY+XyL1LEo4Oku -D/ECgYBfQ7PZM1KuL0zpD6imxUgyNNSXdGTfM9XUSY5L8e2xWqjnZT+Cj1bUGVYM -xrpC8bpfGGTyBv/v6N7NxPep1QeyM9E0o0z0ID9ybRpX4ErYSp1sLZBNlBXdAAL9 -nexoXbZDpN0zdBE5wnAMjcjHTp9PMSDeWt4/r2aiNde3VFwnWg== ------END RSA PRIVATE KEY----- diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.pub b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.pub deleted file mode 100644 index 934c60a825..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.pub +++ /dev/null @@ -1,9 +0,0 @@ ----- BEGIN SSH2 PUBLIC KEY ---- -Comment: "rsa-key-20161026" -AAAAB3NzaC1yc2EAAAABJQAAAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4K -VwhTJVTTeB6CqrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVP -KSIeH63kgVugwgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMT -LKXvZZZGqxW94bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poT -QnQm/3D6hiJICrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7 -D7M/yj292RT1XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOw== ----- END SSH2 PUBLIC KEY ---- diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.txt b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.txt deleted file mode 100644 index 43a61cd900..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.txt +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4KVwhTJVTTeB6CqrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVPKSIeH63kgVugwgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMTLKXvZZZGqxW94bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poTQnQm/3D6hiJICrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7D7M/yj292RT1XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOw== rsa-key-20161026
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/service_mappings.py b/kubernetes/config/docker/init/src/config/robot/robot/assets/service_mappings.py deleted file mode 100644 index 0465c68885..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/service_mappings.py +++ /dev/null @@ -1,29 +0,0 @@ -GLOBAL_SERVICE_FOLDER_MAPPING = {"vFW" : ['base_vfw'], \ - "vLB" : ['base_vlb'], \ - "vVG" : ['base_vvg'], \ - } - -GLOBAL_SERVICE_TEMPLATE_MAPPING = {"vFW" : [{"isBase" : "true", "template" : "vfw_preload.template", "name_pattern": "base_vfw"}], \ - "vLB" : [{"isBase" : "true", "template" : "vlb_preload.template", "name_pattern": "base_vlb"}, - {"isBase" : "false", "template" : "dnsscaling_preload.template", "name_pattern": "dnsscaling", "prefix" : "vDNS_"}], - "vVG" : [{"isBase" : "true", "template" : "vvg_preload.template", "name_pattern": "base_vvg"}], \ - } - - -## -## The following identifies the stack parameter names for the onap_oam network IPS -## In stantiated by the stack. During stack teardown, we need to ensure that -## These ports are deleted due to latency in rackspace to free these ports. -## This is just a workaround to enable respinning a VM as soon as possible -GLOBAL_SERVICE_ECOMP_IP_MAPPING = {"vFW" : ['vpg_private_ip_1', 'vfw_private_ip_2','vsn_private_ip_1'], \ - "vLB" : ['vlb_private_ip_1', 'vdns_private_ip_1'], - "vVG" : [], \ - } - - -## -## Used by the Heatbridge Validate Query to A&AI to locate the vserver name -GLOBAL_VALIDATE_NAME_MAPPING = {"vFW" : 'vfw_name_0', - "vLB" : 'vlb_name_0', - "vVG" : '' - } diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_customer.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_customer.template deleted file mode 100644 index d0ae174adc..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_customer.template +++ /dev/null @@ -1,25 +0,0 @@ -{ - "global-customer-id": "${global_customer_id}", - "subscriber-name": "${subscriber_name}", - "subscriber-type": "${subscriber_type}", - "service-subscriptions": { - "service-subscription": [{ - "service-type": "${service1}", - "relationship-list": { - "relationship": [{ - "related-to": "tenant", - "relationship-data": [{ - "relationship-key": "cloud-region.cloud-owner", - "relationship-value": "${cloud_owner1}" - }, { - "relationship-key": "cloud-region.cloud-region-id", - "relationship-value": "${cloud_region_id1}" - }, { - "relationship-key": "tenant.tenant-id", - "relationship-value": "${tenant_id1}" - }] - }] - } - }] - } - }
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_demo_customer.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_demo_customer.template deleted file mode 100644 index e56577c54b..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_demo_customer.template +++ /dev/null @@ -1,47 +0,0 @@ -{ - "global-customer-id" : "${global_customer_id}", - "subscriber-name" : "${subscriber_name}", - "subscriber-type" : "${subscriber_type}", - "service-subscriptions" : { - "service-subscription" : [{ - "service-type" : "${service1}", - "relationship-list" : { - "relationship" : [{ - "related-to" : "tenant", - "relationship-data" : [{ - "relationship-key" : "cloud-region.cloud-owner", - "relationship-value" : "${cloud_owner}" - }, { - "relationship-key" : "cloud-region.cloud-region-id", - "relationship-value" : "${cloud_region_id}" - }, { - "relationship-key" : "tenant.tenant-id", - "relationship-value" : "${tenant_id}" - } - ] - } - ] - } - }, { - "service-type" : "${service2}", - "relationship-list" : { - "relationship" : [{ - "related-to" : "tenant", - "relationship-data" : [{ - "relationship-key" : "cloud-region.cloud-owner", - "relationship-value" : "${cloud_owner}" - }, { - "relationship-key" : "cloud-region.cloud-region-id", - "relationship-value" : "${cloud_region_id}" - }, { - "relationship-key" : "tenant.tenant-id", - "relationship-value" : "${tenant_id}" - } - ] - } - ] - } - } - ] - } -} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_service_body.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_service_body.template deleted file mode 100644 index ca32fd5146..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_service_body.template +++ /dev/null @@ -1,6 +0,0 @@ -{ - "service-id": "${UUID}", - "service-description": "${service_type}" -} - - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_tenant_body.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_tenant_body.template deleted file mode 100644 index a7dbbbf72f..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_tenant_body.template +++ /dev/null @@ -1,18 +0,0 @@ -{ - "cloud-owner": "${cloud_owner}", - "cloud-region-id": "${cloud_region_id}", - "cloud-type": "${cloud_type}", - "owner-defined-type": "${owner_defined_type}", - "cloud-region-version": "${cloud_region_version}", - "cloud-zone": "${cloud_zone}", - ${resource_version} - "tenants": { - "tenant": [{ - "tenant-id": "${tenant_id}", - "tenant-name": "${tenant_name}" - - }] - } -} - - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/named_query.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/named_query.template deleted file mode 100644 index de3f21f683..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/named_query.template +++ /dev/null @@ -1,17 +0,0 @@ -{ - "query-parameters": { - "named-query": { - "named-query-uuid": "f199cb88-5e69-4b1f-93e0-6f257877d066" - } - }, - "instance-filters": { - "instance-filter": [ - { - "vserver": - { - "vserver-name": "${vserver_name}" - } - } - ] - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/service_subscription.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/service_subscription.template deleted file mode 100644 index 85703581e3..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/service_subscription.template +++ /dev/null @@ -1,19 +0,0 @@ -{ - "service-subscription":[ - { - "service-type":"{$service_type}", - "resource-version":"1473866861", - "service-instances":{ - "service-instance":[ - { - "service-instance-id":"d3f9a631-e280-4a87-846d-9ccd7a265980", - "service-instance-name":"VIV+IST+ezNew+Oct6", - "persona-model-id":"e6f1d393-6432-4820-ab86-7a10ba4b31ac", - "persona-model-version":"1.0", - "resource-version":"1475807447" - } - ] - } - } - ] -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/vlb_closed_loop_hack.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/vlb_closed_loop_hack.template deleted file mode 100644 index 27f9c963b8..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/vlb_closed_loop_hack.template +++ /dev/null @@ -1,7 +0,0 @@ -{ - "is-base-vf-module": false, - "persona-model-id": "${persona_model_id}", - "persona-model-version": "1.0", - "vf-module-id": "${vf_module_id}", - "vf-module-name": "${vf_module_id}" -} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/appc/vnf_mount.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/appc/vnf_mount.template deleted file mode 100644 index 8ad11359a0..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/appc/vnf_mount.template +++ /dev/null @@ -1,16 +0,0 @@ -<node xmlns="urn:TBD:params:xml:ns:yang:network-topology"> - <node-id>${nodeid}</node-id> - <host xmlns="urn:opendaylight:netconf-node-topology">${host}</host> - <port xmlns="urn:opendaylight:netconf-node-topology">${port}</port> - <username xmlns="urn:opendaylight:netconf-node-topology">${username}</username> - <password xmlns="urn:opendaylight:netconf-node-topology">${password}</password> - <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only> - <!-- non-mandatory fields with default values, you can safely remove these if you do not wish to override any of these values--> - <reconnect-on-changed-schema xmlns="urn:opendaylight:netconf-node-topology">false</reconnect-on-changed-schema> - <connection-timeout-millis xmlns="urn:opendaylight:netconf-node-topology">20000</connection-timeout-millis> - <max-connection-attempts xmlns="urn:opendaylight:netconf-node-topology">0</max-connection-attempts> - <between-attempts-timeout-millis xmlns="urn:opendaylight:netconf-node-topology">2000</between-attempts-timeout-millis> - <sleep-factor xmlns="urn:opendaylight:netconf-node-topology">1.5</sleep-factor> - <!-- keepalive-delay set to 0 turns off keepalives--> - <keepalive-delay xmlns="urn:opendaylight:netconf-node-topology">120</keepalive-delay> -</node>
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/action.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/action.template deleted file mode 100644 index 4d417c9f56..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/action.template +++ /dev/null @@ -1,3 +0,0 @@ -{ - "action": "${action}" -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_resource.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_resource.template deleted file mode 100644 index fcc17ce2a6..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_resource.template +++ /dev/null @@ -1,43 +0,0 @@ -{ - "artifacts": {}, - "toscaArtifacts": {}, - "contactId": "cs0008", - "categories": [ - { - "name": "Generic", - "normalizedName": "generic", - "uniqueId": "resourceNewCategory.generic", - "subcategories": [ - { - "name": "Abstract", - "normalizedName": "abstract", - "uniqueId": "resourceNewCategory.generic.abstract", - "icons": [ - "database" - ] - } - ] - } - ], - "description": "vendor software product", - "icon": "defaulticon", - "componentInstancesProperties": {}, - "componentInstancesAttributes": {}, - "name": "${software_product_name}", - "tags": [ - "${software_product_name}" - ], - "capabilities": {}, - "requirements": {}, - "deploymentArtifacts": {}, - "componentType": "RESOURCE", - "vendorName": "${vendor_name}", - "vendorRelease": "1.0", - "componentInstances": [], - "properties": [], - "attributes": [], - "groups": [], - "resourceType": "VF", - "csarUUID": "${software_product_id}", - "csarVersion": "1.0" -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_service.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_service.template deleted file mode 100644 index e7ffdea681..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_service.template +++ /dev/null @@ -1,34 +0,0 @@ -{ - "artifacts": {}, - "toscaArtifacts": {}, - "contactId": "cs0008", - "categories": [ - { - "name": "Network L1-3", - "normalizedName": "network l1-3", - "uniqueId": "serviceNewCategory.network l1-3", - "icons": [ - "network_l_1-3" - ] - } - ], - "description": "catalog service description", - "icon": "network_l_1-3", - "componentInstancesProperties": {}, - "componentInstancesAttributes": {}, - "name": "${service_name}", - "tags": [ - "robot-ete", - "${service_name}" - ], - "capabilities": {}, - "requirements": {}, - "deploymentArtifacts": {}, - "componentType": "SERVICE", - "projectCode": "123456", - "componentInstances": [], - "properties": [], - "attributes": [], - "groups": [], - "serviceApiArtifacts": {} -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/entitlement_pool.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/entitlement_pool.template deleted file mode 100644 index bcb04d2f71..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/entitlement_pool.template +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "${entitlement_pool_name}", - "description": "vendor entitlement pool", - "thresholdValue": "99", - "thresholdUnits": "Absolute", - "entitlementMetric": { - "choice": "CPU", - "other": "" - }, - "increments": "robot", - "aggregationFunction": { - "choice": "Peak", - "other": "" - }, - "operationalScope": { - "choices": [ - "Availability_Zone" - ], - "other": "" - }, - "time": { - "choice": "Hour", - "other": "" - }, - "manufacturerReferenceNumber": "robot12345" -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/feature_group.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/feature_group.template deleted file mode 100644 index 3d87b04737..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/feature_group.template +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "${feature_group_name}", - "description": "vendor feature group", - "partNumber": "123abc456", - "addedLicenseKeyGroupsIds": [ - "${key_group_id}" - ], - "addedEntitlementPoolsIds": [ - "${entitlement_pool_id}" - ] -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/key_group.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/key_group.template deleted file mode 100644 index 2081261bcd..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/key_group.template +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "${key_group_name}", - "description": "vendor license key group", - "operationalScope": { - "choices": [ - "Tenant" - ], - "other": "" - }, - "type": "Universal" -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_agreement.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_agreement.template deleted file mode 100644 index 6324d14022..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_agreement.template +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "${license_agreement_name}", - "description": "vendor license agreement", - "requirementsAndConstrains": "abcdef", - "licenseTerm": { - "choice": "Fixed_Term", - "other": "" - }, - "addedFeatureGroupsIds": [ - "${feature_group_id}" - ] -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_model.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_model.template deleted file mode 100644 index 45fc83fcb7..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_model.template +++ /dev/null @@ -1,5 +0,0 @@ -{ - "vendorName": "${vendor_name}", - "description": "vendor license model", - "iconRef": "icon" -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/resource_instance.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/resource_instance.template deleted file mode 100644 index 215f8282d4..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/resource_instance.template +++ /dev/null @@ -1,10 +0,0 @@ -{ - "uniqueId": "${catalog_resource_id}${milli_timestamp}", - "posX": 406, - "posY": 248, - "name": "${catalog_resource_name}", - "componentVersion": "1.0", - "originType": "VF", - "icon": "defaulticon", - "componentUid": "${catalog_resource_id}" -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/software_product.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/software_product.template deleted file mode 100644 index f8a47521ba..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/software_product.template +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "${software_product_name}", - "description": "vendor software product", - "category": "resourceNewCategory.generic", - "subCategory": "resourceNewCategory.generic.abstract", - "licensingVersion": "1.0", - "vendorName": "${vendor_name}", - "vendorId": "${vendor_id}", - "icon": "icon", - "licensingData": { - "licenseAgreement": "${license_agreement_id}", - "featureGroups": [ - "${feature_group_id}" - ] - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/user_remarks.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/user_remarks.template deleted file mode 100644 index 465115e6d9..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/user_remarks.template +++ /dev/null @@ -1 +0,0 @@ -{"userRemarks":"${user_remarks}"}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/cinder_add_volume.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/cinder_add_volume.template deleted file mode 100644 index 544f41e3bf..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/cinder_add_volume.template +++ /dev/null @@ -1,9 +0,0 @@ -{ - "volume": { - "display_name": "${name}", - "display_description": "${description}", - "size": ${size}, - "volume_type": "${type}", - "availability_zone": "${availability_zone}" - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/heat_add_stack.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/heat_add_stack.template deleted file mode 100644 index c3af3172bd..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/heat_add_stack.template +++ /dev/null @@ -1,12 +0,0 @@ -{ - "files": {}, - "disable_rollback": true, - "stack_name": "${stack_name}", - "parameters": - ${parameters} - , - "template": - ${template} - , - "timeout_mins": 60 -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/keystone_get_auth.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/keystone_get_auth.template deleted file mode 100644 index 2d62202db7..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/keystone_get_auth.template +++ /dev/null @@ -1,9 +0,0 @@ -{ - "auth": { - "passwordCredentials": { - "username": "${username}", - "password": "${password}" - }, - "tenantName": "${username}" - } -} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_network.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_network.template deleted file mode 100644 index 36382d47f4..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_network.template +++ /dev/null @@ -1,7 +0,0 @@ -{ - "network": - { - "name": "${name}", - "admin_state_up": false - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_subnet.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_subnet.template deleted file mode 100644 index 5a4264f8cc..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_subnet.template +++ /dev/null @@ -1,8 +0,0 @@ -{ - "subnet": { - "network_id": "${network_id}", - "ip_version": 4, - "name":"${subnet_name}", - "cidr": "${cidr}" - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_keypair.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_keypair.template deleted file mode 100644 index 52e2b068f4..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_keypair.template +++ /dev/null @@ -1,6 +0,0 @@ -{ - "keypair": { - "name": "${name}", - "public_key": "${publickey}" - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_server.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_server.template deleted file mode 100644 index 81578393c2..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_server.template +++ /dev/null @@ -1,17 +0,0 @@ -{ - "server": { - "name": "${name}", - "imageRef": "${imageRef}", - "flavorRef": "${flavorRef}", - "config_drive": true, - "OS-DCF:diskConfig": "MANUAL", - "metadata": { - "${name}": "Server for attaching VVG" - }, - "networks": [ - { - "uuid": "00000000-0000-0000-0000-000000000000" - } - ] - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_configpolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_configpolicy.template deleted file mode 100644 index e14b615db0..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_configpolicy.template +++ /dev/null @@ -1,31 +0,0 @@ -{ - "service": "TcaMetrics", - "location": "SampleServiceLocation", - "uuid": "/services/cdap-tca-hi-lo/instances/demo/configuration/metricsPerFunctionalRole/vFireWall", - "policyName": "${policy_name}", - "description": "vFirewall configuration Policy@CreatedBy:demo@CreatedBy:@ModifiedBy:demo@ModifiedBy:", - "configName": "SampleConfigName", - "templateVersion": "OpenSource.version.1", - "version": "1.0.0.5", - "priority": "1", - "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop", - "content": { - "thresholds": [{ - "severity": "MAJOR", - "fieldPath": "$$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn", - "thresholdValue": "300", - "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8", - "version": "1.0.2", - "direction": "LESS_OR_EQUAL" - }, { - "severity": "CRITICAL", - "fieldPath": "$$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn", - "thresholdValue": "800", - "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8", - "version": "1.0.2", - "direction": "GREATER_OR_EQUAL" - }], - "functionalRole": "vFirewall", - "name": "0" - } -} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_createpolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_createpolicy.template deleted file mode 100644 index 7c693e840b..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_createpolicy.template +++ /dev/null @@ -1,21 +0,0 @@ -{ - "policyConfigType": "BRMS_PARAM", - "policyName": "${policy_name}", - "policyDescription": "Create BRMS Param policy", - "attributes": { - "RULE": { - "templateName": "ClosedLoopDemo_closedLoopControlName", - "aaiNamedQueryUUID": "2", - "aaiPassword": "2", - "aaiPatternMatch": "2", - "aaiURL": "2", - "actor": "2", - "appcTopic": "2", - "closedLoopControlName": "2", - "msoPassword": "2", - "msoURL": "2", - "msoUsername": "2", - "aaiUsername": "3" - } - } -} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_deletepolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_deletepolicy.template deleted file mode 100644 index 55510102f2..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_deletepolicy.template +++ /dev/null @@ -1,5 +0,0 @@ -{ - "pdpGroup": "default", - "policyComponent": "PDP", - "policyName": "${policy_name}" -} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_getconfigpolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_getconfigpolicy.template deleted file mode 100644 index 34145e5b0d..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_getconfigpolicy.template +++ /dev/null @@ -1,8 +0,0 @@ -{ - "configAttributes" : { - }, - "configName" : ".*", - "ecompName" : "DCAE", - "policyName" : "${config_policy_name}", - "unique" : true -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_opspolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_opspolicy.template deleted file mode 100644 index 722c9dcae7..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_opspolicy.template +++ /dev/null @@ -1,25 +0,0 @@ - -{ - "policyConfigType": "BRMS_PARAM", - "policyName": "${policy_name}", - "policyDescription": "Create BRMS Param policy for vFW", - "attributes": { - "RULE": { - "templateName": "ControlLoopDemo__closedLoopControlName", - "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8", - "policyVersion": "v1.0", - "aaiNamedQueryUUID": "null", - "aaiPassword": "null", - "aaiURL": "null", - "actor": "APPC", - "appcTopic": "APPC-CL", - "msoPassword": "null", - "msoURL": "null", - "msoUsername": "null", - "aaiUsername": "null", - "notificationTopic": "POLICY-CL-MGT", - "aaiPatternMatch": 1 - } - } -} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_pushpolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_pushpolicy.template deleted file mode 100644 index ce1d4859d1..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_pushpolicy.template +++ /dev/null @@ -1,5 +0,0 @@ -{ - "policyName" : "${policy_name}", - "policyType" : "${policy_type}", - "pdpGroup" : "default" -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/dnsscaling_preload.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/dnsscaling_preload.template deleted file mode 100644 index 278ee80da3..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/dnsscaling_preload.template +++ /dev/null @@ -1,92 +0,0 @@ -{ - "input": { - "vnf-topology-information": { - "vnf-topology-identifier": { - "service-type": "${service_type}", - "vnf-name": "${vf_module_name}", - "vnf-type": "${vf_module_type}", - "generic-vnf-name": "${generic_vnf_name}", - "generic-vnf-type": "${generic_vnf_type}" - }, - "vnf-assignments": { - "availability-zones": [], - "vnf-networks": [], - "vnf-vms": [] - }, - "vnf-parameters": [ - { - "vnf-parameter-name": "repo_url_blob", - "vnf-parameter-value": "${repo_url_blob}" - }, - { - "vnf-parameter-name": "repo_url_artifacts", - "vnf-parameter-value": "${repo_url_artifacts}" - }, - { - "vnf-parameter-name": "demo_artifacts_version", - "vnf-parameter-value": "${demo_artifacts_version}" - }, - { - "vnf-parameter-name": "ecomp_private_net_id", - "vnf-parameter-value": "${ecomp_private_net_id}" - }, - { - "vnf-parameter-name": "ecomp_private_subnet_id", - "vnf-parameter-value": "${ecomp_private_subnet_id}" - }, - { - "vnf-parameter-name": "ecomp_private_net_cidr", - "vnf-parameter-value": "${ecomp_private_net_cidr}" - }, - { - "vnf-parameter-name": "vlb_private_net_id", - "vnf-parameter-value": "${vlb_private_net_id}" - }, - { - "vnf-parameter-name": "vlb_private_ip_0", - "vnf-parameter-value": "${vlb_private_ip_0}" - }, - { - "vnf-parameter-name": "vlb_private_ip_1", - "vnf-parameter-value": "${vlb_private_ip_1}" - }, - { - "vnf-parameter-name": "vdns_private_ip_0", - "vnf-parameter-value": "${vdns_private_ip_0}" - }, - { - "vnf-parameter-name": "vdns_private_ip_1", - "vnf-parameter-value": "${vdns_private_ip_1}" - }, - { - "vnf-parameter-name": "vdns_name_0", - "vnf-parameter-value": "${scaling_vdns_name_0}" - }, - { - "vnf-parameter-name": "dcae_collector_ip", - "vnf-parameter-value": "${dcae_collector_ip}" - }, - { - "vnf-parameter-name": "key_name", - "vnf-parameter-value": "${key_name}" - }, - { - "vnf-parameter-name": "pub_key", - "vnf-parameter-value": "${pub_key}" - } - ] - }, - "request-information": { - "request-id": "robot12", - "order-version": "1", - "notification-url": "openecomp.org", - "order-number": "1", - "request-action": "PreloadVNFRequest" - }, - "sdnc-request-header": { - "svc-request-id": "robot12", - "svc-notification-url": "http:\/\/openecomp.org:8080\/adapters\/rest\/SDNCNotify", - "svc-action": "reserve" - } - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vfw_preload.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vfw_preload.template deleted file mode 100644 index 5b3f4a7a78..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vfw_preload.template +++ /dev/null @@ -1,128 +0,0 @@ -{ - "input": { - "vnf-topology-information": { - "vnf-topology-identifier": { - "service-type": "${service_type}", - "vnf-name": "${vf_module_name}", - "vnf-type": "${vf_module_type}", - "generic-vnf-name": "${generic_vnf_name}", - "generic-vnf-type": "${generic_vnf_type}" - }, - "vnf-assignments": { - "availability-zones": [], - "vnf-networks": [], - "vnf-vms": [] - }, - "vnf-parameters": [ - { - "vnf-parameter-name": "repo_url_blob", - "vnf-parameter-value": "${repo_url_blob}" - }, - { - "vnf-parameter-name": "repo_url_artifacts", - "vnf-parameter-value": "${repo_url_artifacts}" - }, - { - "vnf-parameter-name": "demo_artifacts_version", - "vnf-parameter-value": "${demo_artifacts_version}" - }, - { - "vnf-parameter-name": "ecomp_private_net_id", - "vnf-parameter-value": "${ecomp_private_net_id}" - }, - { - "vnf-parameter-name": "ecomp_private_subnet_id", - "vnf-parameter-value": "${ecomp_private_subnet_id}" - }, - { - "vnf-parameter-name": "ecomp_private_net_cidr", - "vnf-parameter-value": "${ecomp_private_net_cidr}" - }, - { - "vnf-parameter-name": "unprotected_private_net_id", - "vnf-parameter-value": "${unprotected_private_net_id}" - }, - { - "vnf-parameter-name": "protected_private_net_id", - "vnf-parameter-value": "${protected_private_net_id}" - }, - { - "vnf-parameter-name": "protected_private_net_cidr", - "vnf-parameter-value": "${protected_private_net_cidr}" - }, - { - "vnf-parameter-name": "unprotected_private_net_cidr", - "vnf-parameter-value": "${unprotected_private_net_cidr}" - }, - { - "vnf-parameter-name": "vfw_private_ip_0", - "vnf-parameter-value": "${vfw_private_ip_0}" - }, - { - "vnf-parameter-name": "vfw_private_ip_1", - "vnf-parameter-value": "${vfw_private_ip_1}" - }, - { - "vnf-parameter-name": "vfw_private_ip_2", - "vnf-parameter-value": "${vfw_private_ip_2}" - }, - { - "vnf-parameter-name": "vpg_private_ip_0", - "vnf-parameter-value": "${vpg_private_ip_0}" - }, - { - "vnf-parameter-name": "vpg_private_ip_1", - "vnf-parameter-value": "${vpg_private_ip_1}" - }, - { - "vnf-parameter-name": "vsn_private_ip_0", - "vnf-parameter-value": "${vsn_private_ip_0}" - }, - { - "vnf-parameter-name": "vsn_private_ip_1", - "vnf-parameter-value": "${vsn_private_ip_1}" - }, - { - "vnf-parameter-name": "vfw_name_0", - "vnf-parameter-value": "${vfw_name_0}" - }, - { - "vnf-parameter-name": "vpg_name_0", - "vnf-parameter-value": "${vpg_name_0}" - }, - { - "vnf-parameter-name": "vsn_name_0", - "vnf-parameter-value": "${vsn_name_0}" - }, - { - "vnf-parameter-name": "dcae_collector_ip", - "vnf-parameter-value": "${dcae_collector_ip}" - }, - { - "vnf-parameter-name": "dcae_collector_port", - "vnf-parameter-value": "${dcae_collector_port}" - }, - { - "vnf-parameter-name": "key_name", - "vnf-parameter-value": "${key_name}" - }, - { - "vnf-parameter-name": "pub_key", - "vnf-parameter-value": "${pub_key}" - } - ] - }, - "request-information": { - "request-id": "robot12", - "order-version": "1", - "notification-url": "openecomp.org", - "order-number": "1", - "request-action": "PreloadVNFRequest" - }, - "sdnc-request-header": { - "svc-request-id": "robot12", - "svc-notification-url": "http:\/\/mso.onap-mso:8080\/adapters\/rest\/SDNCNotify", - "svc-action": "reserve" - } - } -} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vlb_preload.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vlb_preload.template deleted file mode 100644 index acc3c9d16c..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vlb_preload.template +++ /dev/null @@ -1,104 +0,0 @@ -{ - "input": { - "vnf-topology-information": { - "vnf-topology-identifier": { - "service-type": "${service_type}", - "vnf-name": "${vf_module_name}", - "vnf-type": "${vf_module_type}", - "generic-vnf-name": "${generic_vnf_name}", - "generic-vnf-type": "${generic_vnf_type}" - }, - "vnf-assignments": { - "availability-zones": [], - "vnf-networks": [], - "vnf-vms": [] - }, - "vnf-parameters": [ - { - "vnf-parameter-name": "repo_url_blob", - "vnf-parameter-value": "${repo_url_blob}" - }, - { - "vnf-parameter-name": "repo_url_artifacts", - "vnf-parameter-value": "${repo_url_artifacts}" - }, - { - "vnf-parameter-name": "demo_artifacts_version", - "vnf-parameter-value": "${demo_artifacts_version}" - }, - { - "vnf-parameter-name": "ecomp_private_net_id", - "vnf-parameter-value": "${ecomp_private_net_id}" - }, - { - "vnf-parameter-name": "ecomp_private_subnet_id", - "vnf-parameter-value": "${ecomp_private_subnet_id}" - }, - { - "vnf-parameter-name": "ecomp_private_net_cidr", - "vnf-parameter-value": "${ecomp_private_net_cidr}" - }, - { - "vnf-parameter-name": "vlb_private_net_id", - "vnf-parameter-value": "${vlb_private_net_id}" - }, - { - "vnf-parameter-name": "vlb_private_net_cidr", - "vnf-parameter-value": "${vlb_private_net_cidr}" - }, - { - "vnf-parameter-name": "vlb_private_ip_0", - "vnf-parameter-value": "${vlb_private_ip_0}" - }, - { - "vnf-parameter-name": "vlb_private_ip_1", - "vnf-parameter-value": "${vlb_private_ip_1}" - }, - { - "vnf-parameter-name": "vdns_private_ip_0", - "vnf-parameter-value": "${vdns_private_ip_0}" - }, - { - "vnf-parameter-name": "vdns_private_ip_1", - "vnf-parameter-value": "${vdns_private_ip_1}" - }, - { - "vnf-parameter-name": "vlb_name_0", - "vnf-parameter-value": "${vlb_name_0}" - }, - { - "vnf-parameter-name": "vdns_name_0", - "vnf-parameter-value": "${vdns_name_0}" - }, - { - "vnf-parameter-name": "dcae_collector_ip", - "vnf-parameter-value": "${dcae_collector_ip}" - }, - { - "vnf-parameter-name": "dcae_collector_port", - "vnf-parameter-value": "${dcae_collector_port}" - }, - { - "vnf-parameter-name": "key_name", - "vnf-parameter-value": "${key_name}" - }, - { - "vnf-parameter-name": "pub_key", - "vnf-parameter-value": "${pub_key}" - } - ] - }, - "request-information": { - "request-id": "robot12", - "order-version": "1", - "notification-url": "openecomp.org", - "order-number": "1", - "request-action": "PreloadVNFRequest" - }, - "sdnc-request-header": { - "svc-request-id": "robot12", - "svc-notification-url": "http:\/\/openecomp.org:8080\/adapters\/rest\/SDNCNotify", - "svc-action": "reserve" - } - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vvg_preload.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vvg_preload.template deleted file mode 100644 index 83095e9db3..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vvg_preload.template +++ /dev/null @@ -1,36 +0,0 @@ -{ - "input": { - "vnf-topology-information": { - "vnf-topology-identifier": { - "service-type": "${service_type}", - "vnf-name": "${vf_module_name}", - "vnf-type": "${vf_module_type}", - "generic-vnf-name": "${generic_vnf_name}", - "generic-vnf-type": "${generic_vnf_type}" - }, - "vnf-assignments": { - "availability-zones": [], - "vnf-networks": [], - "vnf-vms": [] - }, - "vnf-parameters": [ - { - "vnf-parameter-name": "nova_instance", - "vnf-parameter-value": "${nova_instance}" - } - ] - }, - "request-information": { - "request-id": "robot12", - "order-version": "1", - "notification-url": "openecomp.org", - "order-number": "1", - "request-action": "PreloadVNFRequest" - }, - "sdnc-request-header": { - "svc-request-id": "robot12", - "svc-notification-url": "http:\/\/openecomp.org:8080\/adapters\/rest\/SDNCNotify", - "svc-action": "reserve" - } - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/template_example.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/template_example.template deleted file mode 100644 index 42583f14b8..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/template_example.template +++ /dev/null @@ -1,6 +0,0 @@ -{ - "requestReferences": { - "instanceId": "${instanceId}", - "requestId": "${requestId}" - } -}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_stream_enable.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_stream_enable.template deleted file mode 100644 index c50363346a..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_stream_enable.template +++ /dev/null @@ -1,4 +0,0 @@ - { - "id" : "${stream}", - "is-enabled" : "true" - } diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_streams_enable.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_streams_enable.template deleted file mode 100644 index 8f5fec6160..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_streams_enable.template +++ /dev/null @@ -1,7 +0,0 @@ -{ - "pg-streams" : { - "pg-stream" : [ -${pgstreams} - ] - } -} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/web/index.html.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/web/index.html.template deleted file mode 100644 index 90ab320983..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/web/index.html.template +++ /dev/null @@ -1,116 +0,0 @@ -<html><head> - <title>Quicklinks To Running Instances</title> - </head> - - <body> - <h1>The Portal</h1> - - The portal is the entry point to design/provision/operate ONAP. From there you can get to SDC, VID and Policy portals. - - The portal can be found at:<p> - - <a href="http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/login.htm">Portal</a> - <p> - One requires role based user names and passwords to receive the full portal functionality. In the demo setup we pre provisioned: - <p> - <ul> - <li> jh0003 Admin </li> - <li> cs0008 Designer </li> - <li> jm0007 Tester </li> - <li> op0001 Operator </li> - <li> gv0001 Governance </li> - <li> pm0001 Product Manager </li> - <li> ps0001 Product Strategy </li> - </ul> - <p> - the password for all of them is: demo123456! - - <h1> The Reality </h1> - - As everything should go through the portal there are many subsystems which have there own GUI or API which come in very handy when debugging things. Here the most important once. - - <h2> SDN-C </h2> - - <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${sdnc}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> - - <a href="http://${sdnc}:8843/signup"> To sign up </a> <p> - <a href="http://${sdnc}:8843/login"> Admin </a> <p> - - <h2> App-C </h2> - - <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${appc}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> - - <h2> Policy </h2> - - <a href="http://healthcheck:zb!XztG34@${policy}:6969/healthcheck"> Healthcheck </a> <p> - - <h2> MSO </h2> - - <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${mso}:9990/"> JBOSS GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> - - <a href="http://${mso}:8080/camunda"> Camunda GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p> - - <h2> DCAE </h2> - - <h3> General GUIs </h3> - <a href="http://console:ZjJkYjllMjljMTI2M2Iz@${dcae_controller}:9998/resources"> DCAE Controller </a> - This might show up empty in a web browser as no content type is set in the response. If that's the case use curl: <p> - - curl http://console:ZjJkYjllMjljMTI2M2Iz@${dcae_controller}:9998/resources <p> - - <a href="http://${dcae_cdap}:9999/ns/TCA/apps/dcae-tca/programs/flows/TCAVESCollectorFlow/runs"> CDAP GUI </a> <p> - - <h3> DCAE internal Message Router </h3> - - <a href="http://${dcae_coll}:3904/topics"> Topics </a> <p> - - <a href="http://${dcae_coll}:3904/events/unauthenticated.SEC_MEASUREMENT_OUTPUT/monitor/0?timeout=10000"> MR topic for collector to TCA </a> <p> - - <a href="http://${dcae_coll}:3904/events/unauthenticated.TCA_EVENT_OUTPUT/monitor/0?timeout=10000"> MR topic for TCA alert to Policy </a> <p> - - <h2> Message Router used between core components </h2> - - <a href="http://${message_router}:3904/topics"> List of Topics </a> <p> - - <h3> Topics of Interest </h3> - - For topics without authentication one can monitor the traffic on a topic with: <p> - - http://${message_router}:3904/events/PUT_TOPIC_HERE/group1/C1?timeout=5000 <p> - - some important once listed below. <p> - - <ul> - <li> <a href="http://${message_router}:3904/events/APPC-CL/monitor/0?timeout=10000"> APPC-CL Topic -- Policy Publishes Requests and APP-C publishes response </a> - <li> <a href="http://${message_router}:3904/events/PDPP-CONFIGURATION/monitor/0?timeout=10000"> PDPD-CONFIGURATION Topic </a> - <li> <a href="http://${message_router}:3904/events/POLICY-CL-MGT/monitor/0?timeout=10000"> POLICY-CL-MGT Topic -- Control loop operational policy </a> - <li> <a href="http://${message_router}:3904/events/DCAE-CL-EVENT/monitor/0?timeout=10000"> DCAE-CL-EVENT Topic -- Provides the Analytics output from DCAE</a> - - </ul> - - <h1> SSH to VM </h1> - - The following links will open a shell and ssh to the various running VMs (at least on a Mac). It assumes that the .ssh/config file has been set appropriately and /etc/hosts has been updated to the running instance.<p> - - <a href="ssh://${aai}"> AAI </a><p> - <a href="ssh://${policy}"> Policy </a><p> - <a href="ssh://${sdc}"> SDC </a><p> - <a href="ssh://${portal}"> Portal </a><p> - <a href="ssh://${dcae_controller}"> DCAE </a><p> - <a href="ssh://${appc}"> APP-C </a><p> - <a href="ssh://${mso}"> MSO </a><p> - <a href="ssh://${sdnc}"> SDN-C </a><p> - <a href="ssh://${vid}"> VID </a><p> - <a href="ssh://${message_router}"> Message Router </a><p> - <a href="ssh://${robot}"> Robot Framework for testing </a><p> - <a href="ssh://${onapdns}"> DNS server for management network </a><p> - - Inside the VM you can list the docker containers by typing: <p> - docker ps <p> - and can get a shell prompt by executing the bash command. - For example: <p> docker exec -it openecompete_container bash <p> - - - - -</body></html> diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/aaf_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/aaf_interface.robot deleted file mode 100644 index 57d4aabccd..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/aaf_interface.robot +++ /dev/null @@ -1,29 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with AAF. It handles low level stuff like managing the http request library and AAF required fields -Library RequestsClientCert -Library RequestsLibrary -Library UUID - -Resource global_properties.robot - -*** Variables *** -${AAF_HEALTH_CHECK_PATH} /authz/nss/org.openecomp - -*** Keywords *** -Run AAF Health Check - [Documentation] Runs AAF Health check - ${resp}= Run AAF Get Request ${AAF_HEALTH_CHECK_PATH} - Should Be Equal As Strings ${resp.status_code} 200 - Should Contain ${resp.json()} ns - -Run AAF Get Request - [Documentation] Runs AAF Get request - [Arguments] ${data_path} - ${auth}= Create List ${GLOBAL_AAF_USERNAME} ${GLOBAL_AAF_PASSWORD} - ${session}= Create Session aaf ${GLOBAL_AAF_SERVER} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Get Request aaf ${data_path} headers=${headers} - Log Received response from aaf ${resp.text} - [Return] ${resp} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/aai_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/aai_interface.robot deleted file mode 100644 index 11979f0b06..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/aai_interface.robot +++ /dev/null @@ -1,73 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with A&AI. It handles low level stuff like managing the http request library and A&AI required fields -Library RequestsLibrary -Library UUID -Resource ../global_properties.robot - -*** Variables *** -${AAI_HEALTH_PATH} /aai/util/echo?action=long -${VERSIONED_INDEX_PATH} /aai/v8 - -*** Keywords *** -Run A&AI Health Check - [Documentation] Runs an A&AI health check - ${resp}= Run A&AI Get Request ${AAI_HEALTH_PATH} - Should Be Equal As Strings ${resp.status_code} 200 - -Run A&AI Get Request - [Documentation] Runs an A&AI get request - [Arguments] ${data_path} - ${auth}= Create List ${GLOBAL_AAI_USERNAME} ${GLOBAL_AAI_PASSWORD} - ${session}= Create Session aai ${GLOBAL_AAI_SERVER_URL} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Get Request aai ${data_path} headers=${headers} - Log Received response from aai ${resp.text} - [Return] ${resp} - -Run A&AI Put Request - [Documentation] Runs an A&AI put request - [Arguments] ${data_path} ${data} - ${auth}= Create List ${GLOBAL_AAI_USERNAME} ${GLOBAL_AAI_PASSWORD} - ${session}= Create Session aai ${GLOBAL_AAI_SERVER_URL} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Put Request aai ${data_path} data=${data} headers=${headers} - Log Received response from aai ${resp.text} - [Return] ${resp} - -Run A&AI Post Request - [Documentation] Runs an A&AI Post request - [Arguments] ${data_path} ${data} - ${auth}= Create List ${GLOBAL_AAI_USERNAME} ${GLOBAL_AAI_PASSWORD} - ${session}= Create Session aai ${GLOBAL_AAI_SERVER_URL} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Post Request aai ${data_path} data=${data} headers=${headers} - Log Received response from aai ${resp.text} - [Return] ${resp} - -Run A&AI Delete Request - [Documentation] Runs an A&AI delete request - [Arguments] ${data_path} ${resource_version} - ${auth}= Create List ${GLOBAL_AAI_USERNAME} ${GLOBAL_AAI_PASSWORD} - ${session}= Create Session aai ${GLOBAL_AAI_SERVER_URL} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Delete Request aai ${data_path}?resource-version=${resource_version} headers=${headers} - Log Received response from aai ${resp.text} - [Return] ${resp} - -Delete A&AI Entity - [Documentation] Deletes an entity in A&AI - [Arguments] ${uri} - ${get_resp}= Run A&AI Get Request ${VERSIONED_INDEX PATH}${uri} - Run Keyword If '${get_resp.status_code}' == '200' Delete A&AI Entity Exists ${uri} ${get_resp.json()['resource-version']} - -Delete A&AI Entity Exists - [Documentation] Deletes an A&AI entity - [Arguments] ${uri} ${resource_version_id} - ${put_resp}= Run A&AI Delete Request ${VERSIONED_INDEX PATH}${uri} ${resource_version_id} - Should Be Equal As Strings ${put_resp.status_code} 204 - -
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/create_customer.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/create_customer.robot deleted file mode 100644 index 7ebda39de5..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/create_customer.robot +++ /dev/null @@ -1,41 +0,0 @@ -*** Settings *** -Documentation Create A&AI Customer API. -... -... Create A&AI Customer API - -Resource aai_interface.robot -Resource ../json_templater.robot -Library Collections -Library OperatingSystem - - -*** Variables *** -${INDEX PATH} /aai/v8 -${ROOT_CUSTOMER_PATH} /business/customers/customer/ -${SYSTEM USER} robot-ete -${A&AI ADD CUSTOMER BODY} robot/assets/templates/aai/add_customer.template - -*** Keywords *** -Create Customer - [Documentation] Creates a customer in A&AI - [Arguments] ${customer_name} ${customer_id} ${customer_type} ${service_type} ${clouder_owner} ${cloud_region_id} ${tenant_id} - ${data_template}= OperatingSystem.Get File ${A&AI ADD CUSTOMER BODY} - ${arguments}= Create Dictionary subscriber_name=${customer_name} global_customer_id=${customer_id} subscriber_type=${customer_type} cloud_owner1=${clouder_owner} cloud_region_id1=${cloud_region_id} tenant_id1=${tenant_id} service1=${service_type} - ${data}= Fill JSON Template ${data_template} ${arguments} - ${put_resp}= Run A&AI Put Request ${INDEX PATH}${ROOT_CUSTOMER_PATH}${customer_id} ${data} - Should Be Equal As Strings ${put_resp.status_code} 201 - [Return] ${put_resp.status_code} - -*** Keywords *** -Delete Customer - [Documentation] Deletes a customer in A&AI - [Arguments] ${customer_id} - ${get_resp}= Run A&AI Get Request ${INDEX PATH}${ROOT_CUSTOMER_PATH}${customer_id} - Run Keyword If '${get_resp.status_code}' == '200' Delete Customer Exists ${customer_id} ${get_resp.json()['resource-version']} - -*** Keywords *** -Delete Customer Exists - [Documentation] Deletes a customer in A&AI - [Arguments] ${customer_id} ${resource_version_id} - ${put_resp}= Run A&AI Delete Request ${INDEX PATH}${ROOT_CUSTOMER_PATH}${customer_id} ${resource_version_id} - Should Be Equal As Strings ${put_resp.status_code} 204 diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/create_service.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/create_service.robot deleted file mode 100644 index 38aef3f664..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/create_service.robot +++ /dev/null @@ -1,75 +0,0 @@ -*** Settings *** -Documentation Create A&AI Customer API. -... -... Create A&AI Customer API - -Resource ../json_templater.robot -Resource aai_interface.robot -Library OperatingSystem -Library Collections -Library UUID - - - -*** Variables *** -${INDEX PATH} /aai/v8 -${ROOT_SERVICE_PATH} /service-design-and-creation/services - -${SYSTEM USER} robot-ete -${AAI_ADD_SERVICE_BODY}= robot/assets/templates/aai/add_service_body.template - -*** Keywords *** -Create Service If Not Exists - [Documentation] Creates a service in A&AI if it doesn't exist - [Arguments] ${service_type} - ${dict}= Get Services - ${status} ${value}= Run Keyword And Ignore Error Dictionary Should Contain Key ${dict} ${service_type} - Run Keyword If '${status}' == 'FAIL' Create Service ${service_type} - -Create Service - [Documentation] Creates a service in A&AI - [Arguments] ${service_type} - ${uuid}= Generate UUID - ${data_template}= OperatingSystem.Get File ${AAI_ADD_SERVICE_BODY} - ${arguments}= Create Dictionary service_type=${service_type} UUID=${uuid} - ${data}= Fill JSON Template ${data_template} ${arguments} - ${fullpath}= Catenate ${INDEX PATH}${ROOT_SERVICE_PATH}/service/${uuid} - ${put_resp}= Run A&AI Put Request ${fullpath} ${data} - Should Be Equal As Strings ${put_resp.status_code} 201 - [Return] ${put_resp.status_code} - - -Delete Service If Exists - [Documentation] Deletes a service in A&AI if it exists - [Arguments] ${service_type} - ${dict}= Get Services - ${status} ${value}= Run Keyword And Ignore Error Dictionary Should Contain Key ${dict} ${service_type} - Run Keyword If '${status}' == 'PASS' Delete Service ${dict['${service_type}']} - -Delete Service - [Documentation] Delete passed service in A&AI - [Arguments] ${dict} - ${uuid}= Get From Dictionary ${dict} service-id - ${resource_version}= Get From Dictionary ${dict} resource-version - ${fullpath}= Catenate ${INDEX PATH}${ROOT_SERVICE_PATH}/service/${uuid} - ${resp}= Run A&AI Delete Request ${fullpath} ${resource_version} - Should Be Equal As Strings ${resp.status_code} 204 - - -Get Services - [Documentation] Creates a service in A&AI - ${resp}= Run A&AI Get Request ${INDEX PATH}${ROOT_SERVICE_PATH} - ${dict}= Create Dictionary - ${status} ${value}= Run Keyword And Ignore Error Should Be Equal As Strings ${resp.status_code} 200 - Run Keyword If '${status}' == 'PASS' Update Service Dictionary ${dict} ${resp.json()} - [Return] ${dict} - -Update Service Dictionary - [Arguments] ${dict} ${json} - ${list}= Evaluate ${json}['service'] - :for ${map} in @{list} - \ ${status} ${service_type}= Run Keyword And Ignore Error Get From Dictionary ${map} service-description - \ Run Keyword If '${status}' == 'PASS' Set To Dictionary ${dict} ${service_type}=${map} - Log ${dict} - - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/create_tenant.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/create_tenant.robot deleted file mode 100644 index 756882e7c3..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/create_tenant.robot +++ /dev/null @@ -1,98 +0,0 @@ -*** Settings *** -Documentation Create A&AI Customer API. -... -... Create A&AI Customer API - -Resource ../json_templater.robot -Resource aai_interface.robot -Library OperatingSystem -Library Collections - - - -*** Variables *** -${INDEX PATH} /aai/v8 -${ROOT_TENANT_PATH} /cloud-infrastructure/cloud-regions/cloud-region/ - -${SYSTEM USER} robot-ete -${AAI_ADD_TENANT_BODY}= robot/assets/templates/aai/add_tenant_body.template - -*** Keywords *** -Inventory Tenant If Not Exists - [Documentation] Creates a service in A&AI if it doesn't exist - [Arguments] ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} ${tenant_id} ${tenant_name} - ${dict}= Get Tenants ${cloud_owner} ${cloud_region_id} - ${status} ${value}= Run Keyword And Ignore Error Dictionary Should Contain Key ${dict} ${tenant_id} - Run Keyword If '${status}' == 'FAIL' Inventory Tenant ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} ${tenant_id} ${tenant_name} - -Inventory Tenant - [Documentation] Inventorys a Tenant in A&AI - [Arguments] ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} ${tenant_id} ${tenant_name} - ${json_resource_version}= Get Resource Version If Exists ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} - ${data_template}= OperatingSystem.Get File ${AAI_ADD_TENANT_BODY} - ${arguments}= Create Dictionary cloud_owner=${cloud_owner} cloud_region_id=${cloud_region_id} cloud_type=${cloud_type} owner_defined_type=${owner_defined_type} cloud_region_version=${cloud_region_version} cloud_zone=${cloud_zone} tenant_id=${tenant_id} tenant_name=${tenant_name} resource_version=${json_resource_version} - ${data}= Fill JSON Template ${data_template} ${arguments} - ${put_resp}= Run A&AI Put Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id} ${data} - ${status_string}= Convert To String ${put_resp.status_code} - Should Match Regexp ${status_string} ^(201|200)$ - -Get Resource Version If Exists - [Documentation] Creates a service in A&AI if it doesn't exist - [Arguments] ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} - ${resource_version}= Set Variable - ${resp}= Get Cloud Region ${cloud_owner} ${cloud_region_id} - Return from Keyword if '${resp.status_code}' != '200' ${resource_version} - ${json}= Set Variable ${resp.json()} - ${resource_version}= Catenate ${json['resource-version']} - [Return] "resource-version":"${resource_version}", - - -Delete Tenant - [Documentation] Removes both Tenant - [Arguments] ${tenant_id} ${cloud_owner} ${cloud_region_id} - ${get_resp}= Run A&AI Get Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id}/tenants/tenant/${tenant_id} - Run Keyword If '${get_resp.status_code}' == '200' Delete Tenant Exists ${tenant_id} ${cloud_owner} ${cloud_region_id} ${get_resp.json()['resource-version']} - -Delete Tenant Exists - [Arguments] ${tenant_id} ${cloud_owner} ${cloud_region_id} ${resource_version} - ${put_resp}= Run A&AI Delete Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id}/tenants/tenant/${tenant_id} ${resource_version} - Should Be Equal As Strings ${put_resp.status_code} 204 - -Delete Cloud Region - [Documentation] Removes both Tenant and Cloud Region in A&AI - [Arguments] ${tenant_id} ${cloud_owner} ${cloud_region_id} - ${get_resp}= Run A&AI Get Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id} - Run Keyword If '${get_resp.status_code}' == '200' Delete Cloud Region Exists ${tenant_id} ${cloud_owner} ${cloud_region_id} ${get_resp.json()['resource-version']} - -Delete Cloud Region Exists - [Documentation] Delete may get status 400 (Bad Request) if the region is still referenced - [Arguments] ${tenant_id} ${cloud_owner} ${cloud_region_id} ${resource_version} - ${put_resp}= Run A&AI Delete Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id} ${resource_version} - ${status_string}= Convert To String ${put_resp.status_code} - Should Match Regexp ${status_string} ^(204|400)$ - -Get Tenants - [Documentation] Return list of tenants for this cloud owner/region - [Arguments] ${cloud_owner} ${cloud_region_id} - ${resp}= Run A&AI Get Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id}/tenants - ${dict}= Create Dictionary - ${status} ${value}= Run Keyword And Ignore Error Should Be Equal As Strings ${resp.status_code} 200 - Run Keyword If '${status}' == 'PASS' Update Tenant Dictionary ${dict} ${resp.json()} - [Return] ${dict} - -Get Cloud Region - [Documentation] Returns the Cloud Region if it exists - [Arguments] ${cloud_owner} ${cloud_region_id} - ${resp}= Run A&AI Get Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id} - [Return] ${resp} - -Update Tenant Dictionary - [Arguments] ${dict} ${json} - ${list}= Evaluate ${json}['tenant'] - :for ${map} in @{list} - \ ${status} ${tenant_id}= Run Keyword And Ignore Error Get From Dictionary ${map} tenant-id - \ Run Keyword If '${status}' == 'PASS' Set To Dictionary ${dict} ${tenant_id}=${map} - Log ${dict} - - - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/network.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/network.robot deleted file mode 100644 index a42461e269..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/network.robot +++ /dev/null @@ -1,42 +0,0 @@ -*** Settings *** -Documentation Validate A&AI Serivce Instance -... -... Validate A&AI Serivce Instance - -Resource aai_interface.robot -Library Collections -Library OperatingSystem -Library RequestsLibrary -Library JSONUtils -Library HttpLibrary.HTTP - -Resource ../json_templater.robot - -*** Variables *** -${INDEX PATH} /aai/v8 -${GENERIC_QUERY_PATH} /search/generic-query? -${SYSTEM USER} robot-ete -${CUSTOMER SPEC PATH} /business/customers/customer/ -${SERVICE SUBSCRIPTIONS} /service-subscriptions/service-subscription/ -${SERVICE INSTANCE} /service-instances?service-instance-name= -${SERVCE INSTANCE TEMPLATE} robot/assets/templates/aai/service_subscription.template - -*** Keywords *** -Validate Network - [Documentation] Query and Validates A&AI Service Instance - [Arguments] ${service_instance_name} ${service_type} ${customer_id} - ${resp}= Run A&AI Get Request ${INDEX PATH}${CUSTOMER SPEC PATH}${CUSTOMER ID}${SERVICE SUBSCRIPTIONS}${service_type}${SERVICE INSTANCE}${service_instance_name} - Dictionary Should Contain Value ${resp.json()['service-instance'][0]} ${service_instance_name} - - - -*** Keywords *** -Create Network - [Documentation] Query and Validates A&AI Service Instance - [Arguments] ${CUSTOMER ID} - ${json_string}= Catenate { "service-type": "VDNS" , "service-subscriptions":[{"service-instance-id":"instanceid123","service-instance-name":"VDNS"}]} - ${put_resp}= Run A&AI Put Request ${INDEX PATH}${CUSTOMER SPEC PATH}${CUSTOMER ID}${SERVICE SUBSCRIPTIONS}/VDNS ${json_string} - Should Be Equal As Strings ${put_resp.status_code} 201 - [Return] ${put_resp.status_code} - -
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/service_instance.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/service_instance.robot deleted file mode 100644 index 5bae2f7457..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/service_instance.robot +++ /dev/null @@ -1,110 +0,0 @@ -*** Settings *** -Documentation Validate A&AI Serivce Instance -... -... Validate A&AI Serivce Instance - -Resource aai_interface.robot -Library Collections -Library OperatingSystem -Library RequestsLibrary -Library JSONUtils -Library HttpLibrary.HTTP -Library StringTemplater -Resource ../json_templater.robot -Resource ../stack_validation/validate_vlb.robot -Resource ../stack_validation/validate_vfw.robot -Resource ../stack_validation/validate_vvg.robot -Resource ../aai/aai_interface.robot - -*** Variables *** -${INDEX PATH} /aai/v8 -${GENERIC_QUERY_PATH} /search/generic-query? -${SYSTEM USER} robot-ete -${CUSTOMER SPEC PATH} /business/customers/customer/ -${SERVICE SUBSCRIPTIONS} /service-subscriptions/service-subscription/ -${SERVICE INSTANCE} /service-instances?service-instance-id= -${SERVCE INSTANCE TEMPLATE} robot/assets/templates/aai/service_subscription.template - -${GENERIC_VNF_PATH_TEMPLATE} /network/generic-vnfs/generic-vnf/\${vnf_id}/vf-modules/vf-module/\${vf_module_id} -${GENERIC_VNF_QUERY_TEMPLATE} /network/generic-vnfs/generic-vnf/\${vnf_id}/vf-modules/vf-module?vf-module-name=\${vf_module_name} -${VLB_CLOSED_LOOP_HACK_BODY} robot/assets/templates/aai/vlb_closed_loop_hack.template - -#*************** Test Case Variables ************* -${VLB_CLOSED_LOOP_DELETE} -${VLB_CLOSED_LOOP_VNF_ID} - -*** Keywords *** -Validate Service Instance - [Documentation] Query and Validates A&AI Service Instance - [Arguments] ${service_instance_name} ${service_type} ${customer_name} - ${cust_resp}= Run A&AI Get Request ${INDEX PATH}/business/customers?subscriber-name=${customer_name} - ${resp}= Run A&AI Get Request ${INDEX PATH}${CUSTOMER SPEC PATH}${cust_resp.json()['customer'][0]['global-customer-id']}${SERVICE SUBSCRIPTIONS}${service_type}${SERVICE INSTANCE}${service_instance_name} - Dictionary Should Contain Value ${resp.json()['service-instance'][0]} ${service_instance_name} - Dictionary Should Contain Key ${resp.json()['service-instance'][0]} persona-model-id - Dictionary Should Contain Key ${resp.json()['service-instance'][0]} persona-model-version - -Validate Generic VNF - [Documentation] Query and Validates A&AI Service Instance - [Arguments] ${vnf_name} ${vnf_type} ${service_instance_id} - ${generic_vnf}= Run A&AI Get Request ${INDEX PATH}/network/generic-vnfs/generic-vnf?vnf-name=${vnf_name} - Dictionary Should Contain Value ${generic_vnf.json()} ${vnf_name} - ${returned_vnf_type}= Get From Dictionary ${generic_vnf.json()} vnf-type - Should Contain ${returned_vnf_type} ${vnf_type} - [Return] ${generic_vnf.json()} - -VLB Closed Loop Hack - [Arguments] ${service} ${generic_vnf} ${closedloop_vf_module} - Return From Keyword If '${service}' != 'vLB' - ${vnf_id}= Get From Dictionary ${generic_vnf} vnf-id - ${vf_modules}= Get From Dictionary ${generic_vnf} vf-modules - ${list}= Get From Dictionary ${vf_modules} vf-module - ${vfmodule}= Get From List ${list} 0 - ${persona_model_id}= Get From Dictionary ${closedloop_vf_module} invariantUUID - ${persona_model_version}= Get From Dictionary ${closedloop_vf_module} version - ${dummy}= Catenate dummy_${vnf_id} - ${dict}= Create Dictionary vnf_id=${vnf_id} vf_module_id=${dummy} persona_model_id=${persona_model_id} persona_model_version=${persona_model_version} - ${datapath}= Template String ${GENERIC_VNF_PATH_TEMPLATE} ${dict} - ${data}= Fill JSON Template File ${VLB_CLOSED_LOOP_HACK_BODY} ${dict} - ${put_resp}= Run A&AI Put Request ${INDEX PATH}${datapath} ${data} - ${status_string}= Convert To String ${put_resp.status_code} - Should Match Regexp ${status_string} ^(201|412)$ - Set Test Variable ${VLB_CLOSED_LOOP_DELETE} ${datapath} - Set Test Variable ${VLB_CLOSED_LOOP_VNF_ID} ${vnf_id} - - -VLB Closed Loop Hack Update - [Documentation] Update the A&AI vDNS scaling vf module to have persona-model-version 1 rather than 1.0 - [Arguments] ${stack_name} - ${dict}= Create Dictionary vnf_id=${VLB_CLOSED_LOOP_VNF_ID} vf_module_name=${stack_name} - ${query}= Template String ${GENERIC_VNF_QUERY_TEMPLATE} ${dict} - ${get_resp}= Run A&AI Get Request ${INDEX_PATH}${query} - ${json}= Set Variable ${get_resp.json()} - Set to Dictionary ${json} persona-model-version 1 - ${vf_module_id}= Get From Dictionary ${json} vf-module-id - Set to Dictionary ${dict} vf_module_id=${vf_module_id} - ${uri}= Template String ${GENERIC_VNF_PATH_TEMPLATE} ${dict} - ${resp}= Run A&AI Put Request ${INDEX_PATH}${uri} ${json} - ${get_resp}= Run A&AI Get Request ${INDEX_PATH}${query} - - -Teardown VLB Closed Loop Hack - Return From Keyword If ' ${VLB_CLOSED_LOOP_DELETE}' == '' - Delete A&AI Entity ${VLB_CLOSED_LOOP_DELETE} - - -Validate VF Module - [Documentation] Query and Validates A&AI Service Instance - [Arguments] ${vf_module_name} ${stack_type} - Run Keyword If '${stack_type}'=='vLB' Validate vLB Stack ${vf_module_name} - Run Keyword If '${stack_type}'=='vFW' Validate Firewall Stack ${vf_module_name} - Run Keyword If '${stack_type}'=='vVG' Validate vVG Stack ${vf_module_name} - -*** Keywords *** -Create AAI Service Instance - [Documentation] Query and Validates A&AI Service Instance - [Arguments] ${customer_id} ${service_type} ${service_instance_id} ${service_instance_name} - ${json_string}= Catenate { "service-type": "VDNS" , "service-subscriptions":[{"service-instance-id":"instanceid123","service-instance-name":"VDNS"}]} - ${put_resp}= Run A&AI Put Request ${INDEX PATH}${CUSTOMER SPEC PATH}${CUSTOMER ID}${SERVICE SUBSCRIPTIONS}/{service_type} ${json_string} - Should Be Equal As Strings ${put_resp.status_code} 201 - [Return] ${put_resp.status_code} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/volume_group.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/volume_group.robot deleted file mode 100644 index 9582201154..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/aai/volume_group.robot +++ /dev/null @@ -1,31 +0,0 @@ -*** Settings *** -Documentation Validate A&AI Serivce Instance -... -... Validate A&AI Serivce Instance - -Resource aai_interface.robot -Library Collections -Library OperatingSystem -Library RequestsLibrary -Library JSONUtils -Library HttpLibrary.HTTP - -Resource ../json_templater.robot - -*** Variables *** -${INDEX PATH} /aai/v8 -${GENERIC_QUERY_PATH} /search/generic-query? -${SYSTEM USER} robot-ete -${CUSTOMER SPEC PATH} /business/customers/customer/ -${SERVICE SUBSCRIPTIONS} /service-subscriptions/service-subscription/ -${SERVICE INSTANCE} /service-instances?service-instance-name= -${SERVCE INSTANCE TEMPLATE} robot/assets/templates/aai/service_subscription.template - -*** Keywords *** -Validate Volume Group - [Arguments] ${service_instance_name} ${service_type} ${customer_id} - ${resp}= Run A&AI Get Request ${INDEX PATH}${CUSTOMER SPEC PATH}${CUSTOMER ID}${SERVICE SUBSCRIPTIONS}${service_type}${SERVICE INSTANCE}${service_instance_name} - Dictionary Should Contain Value ${resp.json()['service-instance'][0]} ${service_instance_name} - - -
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/appc_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/appc_interface.robot deleted file mode 100644 index 2dbd979bf4..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/appc_interface.robot +++ /dev/null @@ -1,54 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with APP-C. It handles low level stuff like managing the http request library and APP-C required fields -Library RequestsLibrary -Library UUID -Library OperatingSystem -Library StringTemplater -Resource global_properties.robot - -*** Variables *** -${APPC_INDEX_PATH} /restconf -${APPC_HEALTHCHECK_OPERATION_PATH} /operations/SLI-API:healthcheck -${APPC_CREATE_MOUNTPOINT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/ -${APPC_MOUNT_XML} robot/assets/templates/appc/vnf_mount.template - -*** Keywords *** -Run APPC Health Check - [Documentation] Runs an APPC healthcheck - ${resp}= Run APPC Post Request ${APPC_INDEX PATH}${APPC_HEALTHCHECK_OPERATION_PATH} ${None} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['output']['response-code']} 200 - -Run APPC Post Request - [Documentation] Runs an APPC post request - [Arguments] ${data_path} ${data} ${content}=json - ${auth}= Create List ${GLOBAL_APPC_USERNAME} ${GLOBAL_APPC_PASSWORD} - Log Creating session ${GLOBAL_APPC_SERVER} - ${session}= Create Session appc ${GLOBAL_APPC_SERVER} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/${content} Content-Type=application/${content} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Post Request appc ${data_path} data=${data} headers=${headers} - Log Received response from appc ${resp.text} - [Return] ${resp} - -Run APPC Put Request - [Documentation] Runs an APPC post request - [Arguments] ${data_path} ${data} ${content}=xml - ${auth}= Create List ${GLOBAL_APPC_USERNAME} ${GLOBAL_APPC_PASSWORD} - Log Creating session ${GLOBAL_APPC_SERVER} - ${session}= Create Session appc ${GLOBAL_APPC_SERVER} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/${content} Content-Type=application/${content} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Put Request appc ${data_path} data=${data} headers=${headers} - Log Received response from appc ${resp.text} - [Return] ${resp} - -Create Mount Point In APPC - [Documentation] Go tell APPC about the PGN we just spun up... - [Arguments] ${nodeid} ${host} ${port}=${GLOBAL_PGN_PORT} ${username}=admin ${password}=admin - ${dict}= Create Dictionary nodeid=${nodeid} host=${host} port=${port} username=${username} password=${password} - ${template}= OperatingSystem.Get File ${APPC_MOUNT_XML} - ${data}= Template String ${template} ${dict} - ${resp}= Run APPC Put Request ${APPC_INDEX PATH}${APPC_CREATE_MOUNTPOINT_PATH}${nodeid} ${data} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/browser_setup.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/browser_setup.robot deleted file mode 100644 index 6ef4f7268e..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/browser_setup.robot +++ /dev/null @@ -1,43 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps -Library Collections -Library OSUtils -Library OperatingSystem -Library ExtendedSelenium2Library -Resource global_properties.robot - -*** Variables *** - -*** Keywords *** -Setup Browser - [Documentation] Sets up browser based upon the value of ${GLOBAL_SELENIUM_BROWSER} - Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'firefox' Setup Browser Firefox - Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'chrome' Setup Browser Chrome - Log Running with ${GLOBAL_SELENIUM_BROWSER} - -Setup Browser Firefox - ${dc} Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX sys, selenium.webdriver - Set To Dictionary ${dc} elementScrollBehavior 1 - Create Webdriver Firefox desired_capabilities=${dc} - Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${dc} - - Setup Browser Chrome - ${os}= Get Normalized Os - Log Normalized OS=${os} - ${chrome options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys - Call Method ${chrome options} add_argument no-sandbox - ${dc} Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME sys, selenium.webdriver - Set To Dictionary ${dc} elementScrollBehavior 1 - Create Webdriver Chrome chrome_options=${chrome_options} desired_capabilities=${dc} - Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${dc} - -Handle Proxy Warning - [Documentation] Handle Intermediate Warnings from Proxies - ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist \${GLOBAL_PROXY_WARNING_TITLE} - Return From Keyword if '${status}' != 'PASS' - ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist \${GLOBAL_PROXY_WARNING_CONTINUE_XPATH} - Return From Keyword if '${status}' != 'PASS' - Return From Keyword if "${GLOBAL_PROXY_WARNING_TITLE}" == '' - Return From Keyword if "${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}" == '' - ${test} ${value}= Run keyword and ignore error Title Should Be ${GLOBAL_PROXY_WARNING_TITLE} - Run keyword If '${test}' == 'PASS' Click Element xpath=${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/dcae_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/dcae_interface.robot deleted file mode 100644 index 1c1ba44abe..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/dcae_interface.robot +++ /dev/null @@ -1,57 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with DCAE. It handles low level stuff like managing the http request library and DCAE required fields -Library RequestsLibrary -Library UUID -Library OperatingSystem -Library Collections -Resource global_properties.robot - -*** Variables *** -${DCAE_HEALTH_CHECK_BODY} robot/assets/dcae/dcae_healthcheck.json -${DCAE_HEALTH_CHECK_PATH} /gui - -*** Keywords *** -Run DCAE Health Check - [Documentation] Runs a DCAE health check - ${auth}= Create List ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD} - Log Creating session ${GLOBAL_DCAE_SERVER} - ${session}= Create Session dcae ${GLOBAL_DCAE_SERVER} auth=${auth} - ${uuid}= Generate UUID - ${data}= OperatingSystem.Get File ${DCAE_HEALTH_CHECK_BODY} - ${headers}= Create Dictionary action=getTable Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Put Request dcae ${DCAE_HEALTH_CHECK_PATH} data=${data} headers=${headers} - Log Received response from dcae ${resp.json()} - Should Be Equal As Strings ${resp.status_code} 200 - Check DCAE Results ${resp.json()} - -Check DCAE Results - [Documentation] Parse DCAE JSON response and make sure all rows have healthTestStatus=GREEN - [Arguments] ${json} - @{rows}= Get From Dictionary ${json['returns']} rows - @{headers}= Get From Dictionary ${json['returns']} columns - - # Retrieve column names from headers - ${columns}= Create List - :for ${header} in @{headers} - \ ${colName}= Get From Dictionary ${header} colName - \ Append To List ${columns} ${colName} - - # Process each row making sure status=GREEN - :for ${row} in @{rows} - \ ${cells}= Get From Dictionary ${row} cells - \ ${dict}= Make A Dictionary ${cells} ${columns} - \ Dictionary Should Contain Item ${dict} healthTestStatus GREEN - - -Make A Dictionary - [Documentation] Given a list of column names and a list of dictionaries, map columname=value - [Arguments] ${columns} ${names} ${valuename}=value - ${dict}= Create Dictionary - ${collength}= Get Length ${columns} - ${namelength}= Get Length ${names} - :for ${index} in range 0 ${collength} - \ ${name}= Evaluate ${names}[${index}] - \ ${valued}= Evaluate ${columns}[${index}] - \ ${value}= Get From Dictionary ${valued} ${valueName} - \ Set To Dictionary ${dict} ${name} ${value} - [Return] ${dict}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/demo_preload.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/demo_preload.robot deleted file mode 100644 index 76a114ce49..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/demo_preload.robot +++ /dev/null @@ -1,202 +0,0 @@ -*** Settings *** -Documentation This test template encapsulates the VNF Orchestration use case. - -Resource test_templates/model_test_template.robot -Resource test_templates/vnf_orchestration_test_template.robot -Resource asdc_interface.robot - -Library UUID -Library Collections -Library OperatingSystem -Library HttpLibrary.HTTP -Library ExtendedSelenium2Library -Library RequestsLibrary - -*** Variables *** - -${ADD_DEMO_CUSTOMER_BODY} robot/assets/templates/aai/add_demo_customer.template -${AAI_INDEX_PATH} /aai/v8 -${VF_MODULES_NAME} _Demo_VFModules.json -${FILE_CACHE} /share/ - -*** Keywords *** -Load Customer And Models - [Documentation] Use openECOMP to Orchestrate a service. - [Arguments] ${customer_name} - Load Customer ${customer_name} - Load Models ${customer_name} - -Load Customer - [Documentation] Use openECOMP to Orchestrate a service. - [Arguments] ${customer_name} - Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone - Set Test Variable ${CUSTOMER_NAME} ${customer_name} - ${region}= Get Openstack Region - Create Customer For VNF Demo ${CUSTOMER_NAME} ${CUSTOMER_NAME} INFRA ${GLOBAL_AAI_CLOUD_OWNER} ${region} ${TENANT_ID} - -Load Models - [Documentation] Use openECOMP to Orchestrate a service. - [Arguments] ${customer_name} - Set Test Variable ${CUSTOMER_NAME} ${customer_name} - ${status} ${value}= Run Keyword And Ignore Error Distribute Model vFW demoVFW - ${status} ${value}= Run Keyword And Ignore Error Distribute Model vLB demoVLB - -Distribute Model - [Arguments] ${service} ${modelName} - ${service_model_type} ${vnf_type} ${vf_modules}= Model Distribution For Directory ${service} ${modelName} - -Create Customer For VNF Demo - [Documentation] Create demo customer for the demo - [Arguments] ${customer_name} ${customer_id} ${customer_type} ${clouder_owner} ${cloud_region_id} ${tenant_id} - ${data_template}= OperatingSystem.Get File ${ADD_DEMO_CUSTOMER_BODY} - ${arguments}= Create Dictionary subscriber_name=${customer_name} global_customer_id=${customer_id} subscriber_type=${customer_type} cloud_owner=${clouder_owner} cloud_region_id=${cloud_region_id} tenant_id=${tenant_id} - Set To Dictionary ${arguments} service1=vFW service2=vLB - ${data}= Fill JSON Template ${data_template} ${arguments} - ${put_resp}= Run A&AI Put Request ${INDEX PATH}${ROOT_CUSTOMER_PATH}${customer_id} ${data} - ${status_string}= Convert To String ${put_resp.status_code} - Should Match Regexp ${status_string} ^(201|412)$ - Create Service If Not Exists vFW - Create Service If Not Exists vLB - -Preload User Model - [Documentation] Preload the demo data for the passed VNF with the passed module name - [Arguments] ${vnf_name} ${vf_module_name} - # Go to A&AI and get information about the VNF we need to preload - ${status} ${generic_vnf}= Run Keyword And Ignore Error Get Service Instance ${vnf_name} - Run Keyword If '${status}' == 'FAIL' FAIL VNF Name: ${vnf_name} is not found. - ${vnf_type}= Set Variable ${generic_vnf['vnf-type']} - ${relationships}= Set Variable ${generic_vnf['relationship-list']['relationship']} - ${relationship_data}= Get Relationship Data ${relationships} - ${customer_id}= Catenate - :for ${r} in @{relationship_data} - \ ${service}= Set Variable If '${r['relationship-key']}' == 'service-subscription.service-type' ${r['relationship-value']} ${service} - \ ${service_instance_id}= Set Variable If '${r['relationship-key']}' == 'service-instance.service-instance-id' ${r['relationship-value']} ${service_instance_id} - \ ${customer_id}= Set Variable If '${r['relationship-key']}' == 'customer.global-customer-id' ${r['relationship-value']} ${customer_id} - ${invariantUUID}= Get Persona Model Id ${service_instance_id} ${service} ${customer_id} - - # We still need the vf module names. We can get them from VID using the persona_model_id (invariantUUID) from A&AI - Setup Browser - Login To VID GUI - ${vf_modules}= Get Module Names from VID ${invariantUUID} - Log ${generic_vnf} - Log ${service_instance_id},${vnf_name},${vnf_type},${vf_module_name},${vf_modules},${service} - Preload Vnf ${service_instance_id} ${vnf_name} ${vnf_type} ${vf_module_name} ${vf_modules} ${service} demo - [Teardown] Close All Browsers - - -Get Relationship Data - [Arguments] ${relationships} - :for ${r} in @{relationships} - \ ${status} ${relationship_data} Run Keyword And Ignore Error Set Variable ${r['relationship-data']} - \ Return From Keyword If '${status}' == 'PASS' ${relationship_data} - - -Get Service Instance - [Arguments] ${vnf_name} - ${resp}= Run A&AI Get Request ${AAI_INDEX PATH}/network/generic-vnfs/generic-vnf?vnf-name=${vnf_name} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp.json()} - -Get Persona Model Id - [Documentation] Query and Validates A&AI Service Instance - [Arguments] ${service_instance_id} ${service_type} ${customer_id} - ${resp}= Run A&AI Get Request ${INDEX PATH}${CUSTOMER SPEC PATH}${customer_id}${SERVICE SUBSCRIPTIONS}${service_type}${SERVICE INSTANCE}${service_instance_id} - ${persona_model_id}= Get From DIctionary ${resp.json()['service-instance'][0]} persona-model-id - [Return] ${persona_model_id} - - -Get Model UUID from VID - [Documentation] Must use UI since rest call get redirect to portal and get DNS error - ... Search all services and match on the invariantUUID - [Arguments] ${invariantUUID} - Go To ${GLOBAL_VID_SERVER}${VID_ENV}/rest/models/services - ${resp}= Get Text xpath=//body/pre - ${json}= To Json ${resp} - :for ${dict} in @{json} - \ ${uuid}= Get From DIctionary ${dict} uuid - \ ${inv}= Get From DIctionary ${dict} invariantUUID - \ Return From Keyword If "${invariantUUID}" == "${inv}" ${uuid} - [Return] "" - - -Get Module Names from VID - [Documentation] Must use UI since rest call get redirect to portal and get DNS error - ... Given the invariantUUID of the model, mock up the vf_modules list passed to Preload VNF - [Arguments] ${invariantUUID} - ${id}= Get Model UUID from VID ${invariantUUID} - Go To ${GLOBAL_VID_SERVER}${VID_ENV}/rest/models/services/${id} - ${resp}= Get Text xpath=//body/pre - ${json}= To Json ${resp} - ${modules}= Create List - ${vnfs}= Get From Dictionary ${json} vnfs - ${keys}= Get Dictionary Keys ${vnfs} - :for ${key} in @{keys} - \ Add VFModule ${vnfs['${key}']} ${modules} - [Return] ${modules} - -Add VFModule - [Documentation] Dig the vf module names from the VID service model - [Arguments] ${vnf} ${modules} - ${vfModules}= Get From Dictionary ${vnf} vfModules - ${keys}= Get Dictionary Keys ${vfModules} - :for ${key} in @{keys} - \ ${module}= Get From Dictionary ${vfModules} ${key} - \ ${dict}= Create Dictionary name=${module['name']} - \ Append to List ${modules} ${dict} - - - - - - -APPC Mount Point - [Arguments] ${vf_module_name} - Run Openstack Auth Request auth - ${status} ${stack_info}= Run Keyword and Ignore Error Wait for Stack to Be Deployed auth ${vf_module_name} timeout=120s - Run Keyword if '${status}' == 'FAIL' FAIL ${vf_module_name} Stack is not found - ${stack_id}= Get From Dictionary ${stack_info} id - ${server_list}= Get Openstack Servers auth - ${vpg_name_0}= Get From Dictionary ${stack_info} vpg_name_0 - ${vpg_public_ip}= Get Server Ip ${server_list} ${stack_info} vpg_name_0 network_name=public - ${vpg_oam_ip}= Get From Dictionary ${stack_info} vpg_private_ip_1 - ${appc}= Create Mount Point In APPC ${vpg_name_0} ${vpg_oam_ip} - -Instantiate VNF - [Arguments] ${service} - Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone - ${vf_module_name} ${service}= Orchestrate VNF DemoCust ${service} ${service} ${TENANT_NAME} - Save For Delete - Log to Console Customer Name=${CUSTOMER_NAME} - Log to Console VNF Module Name=${vf_module_name} - -Save For Delete - [Documentation] Create a variable file to be loaded for save for delete - ${dict}= Create Dictionary - Set To Dictionary ${dict} TENANT_NAME=${TENANT_NAME} - Set To Dictionary ${dict} TENANT_ID=${TENANT_ID} - Set To Dictionary ${dict} CUSTOMER_NAME=${CUSTOMER_NAME} - Set To Dictionary ${dict} STACK_NAME=${STACK_NAME} - Set To Dictionary ${dict} SERVICE=${SERVICE} - Set To Dictionary ${dict} VVG_SERVER_ID=${VVG_SERVER_ID} - Set To Dictionary ${dict} SERVICE_INSTANCE_ID=${SERVICE_INSTANCE_ID} - - Set To Dictionary ${dict} VLB_CLOSED_LOOP_DELETE=${VLB_CLOSED_LOOP_DELETE} - Set To Dictionary ${dict} VLB_CLOSED_LOOP_VNF_ID=${VLB_CLOSED_LOOP_VNF_ID} - - Set To Dictionary ${dict} CATALOG_SERVICE_ID=${CATALOG_SERVICE_ID} - - ${vars}= Catenate - ${keys}= Get Dictionary Keys ${dict} - :for ${key} in @{keys} - \ ${value}= Get From Dictionary ${dict} ${key} - \ ${vars}= Catenate ${vars}${key} = "${value}"\n - - ${comma}= Catenate - ${vars}= Catenate ${vars}CATALOG_RESOURCE_IDS = [ - :for ${id} in @{CATALOG_RESOURCE_IDS} - \ ${vars}= Catenate ${vars}${comma} "${id}" - \ ${comma}= Catenate , - ${vars}= Catenate ${vars}]\n - OperatingSystem.Create File ${FILE_CACHE}/${STACK_NAME}.py ${vars} - - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/global_properties.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/global_properties.robot deleted file mode 100644 index 953f528358..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/global_properties.robot +++ /dev/null @@ -1,23 +0,0 @@ -*** Settings *** -Documentation store all properties that can change or are used in multiple places here -... format is all caps with underscores between words and prepended with GLOBAL -... make sure you prepend them with GLOBAL so that other files can easily see it is from this file. - - -*** Variables *** -${GLOBAL_APPLICATION_ID} robot-ete -${GLOBAL_MSO_STATUS_PATH} /ecomp/mso/infra/orchestrationRequests/v2/ -${GLOBAL_SELENIUM_BROWSER} chrome -${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} Create Dictionary -${GLOBAL_SELENIUM_DELAY} 0 -${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} 5 -${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 15 -${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} orchestration -${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} volume -${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} compute -${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} network -${GLOBAL_OPENSTACK_GLANCE_SERVICE_TYPE} image -${GLOBAL_OPENSTACK_KEYSTONE_SERVICE_TYPE} identity -${GLOBAL_AAI_CLOUD_OWNER} Rackspace -${GLOBAL_BUILD_NUMBER} 0 -${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/heatbridge.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/heatbridge.robot deleted file mode 100644 index 3ddeff1163..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/heatbridge.robot +++ /dev/null @@ -1,130 +0,0 @@ -*** Settings *** -Library HeatBridge -Library Collections -Library StringTemplater -Library OperatingSystem -Library UUID - -Resource openstack/keystone_interface.robot -Resource openstack/heat_interface.robot -Resource openstack/nova_interface.robot -Resource openstack/neutron_interface.robot -Resource aai/aai_interface.robot - -*** Variables *** -${MULTIPART_PATH} /bulkadd -${NAMED_QUERY_PATH} /aai/search/named-query -${NAMED_QUERY_TEMPLATE} robot/assets/templates/aai/named_query.template - -${BASE_URI} /cloud-infrastructure/cloud-regions/cloud-region/\${cloud}/\${region} -${IMAGE_URI} ${BASE_URI}/images/image/\${image_id} -${FLAVOR_URI} ${BASE_URI}/flavors/flavor/\${flavor} -${VSERVER_URI} ${BASE_URI}/tenants/tenant/\${tenant}/vservers/vserver/\${vserver_id} -${L_INTERFACE_URI} ${VSERVER_URI}/l-interfaces/l-interface/\${linterface_id} - -#******************** Test Case Variables **************** -${REVERSE_HEATBRIDGE} - - -*** Keywords *** -Execute Heatbridge - [Documentation] Run the Heatbridge against the stack to generate the bulkadd message - ... Execute the build add - ... Validate the add results by running the named query - [Arguments] ${stack_name} ${service_instance_id} ${service} - Return From Keyword If '${service}' == 'vVG' - Run Openstack Auth Request auth - ${stack_info}= Wait for Stack to Be Deployed auth ${stack_name} - ${stack_id}= Get From Dictionary ${stack_info} id - ${tenant_id}= Get From Dictionary ${stack_info} OS::project_id - ${vnf_id}= Get From Dictionary ${stack_info} vnf_id - ${openstack_identity_url}= Catenate ${GLOBAL_OPENSTACK_KEYSTONE_SERVER}/v2.0 - ${region}= Get Openstack Region - ${user} ${pass}= Get Openstack Credentials - Init Bridge ${openstack_identity_url} ${user} ${pass} ${tenant_id} ${region} ${GLOBAL_AAI_CLOUD_OWNER} - ${request}= Bridge Data ${stack_id} - Log ${request} - ${resp}= Run A&AI Put Request ${VERSIONED_INDEX_PATH}${MULTIPART_PATH} ${request} - ${status_string}= Convert To String ${resp.status_code} - Should Match Regexp ${status_string} ^(201|200)$ - ${reverse_heatbridge}= Generate Reverse Heatbridge From Stack Info ${stack_info} - Set Test Variable ${REVERSE_HEATBRIDGE} ${reverse_heatbridge} - Run Validation Query ${stack_info} ${service} - - -Run Validation Query - [Documentation] Run A&AI query to validate the bulk add - [Arguments] ${stack_info} ${service} - Return from Keyword If '${service}' == '' - ${server_name_parameter}= Get From Dictionary ${GLOBAL_VALIDATE_NAME_MAPPING} ${service} - ${vserver_name}= Get From Dictionary ${stack_info} ${server_name_parameter} - Run Vserver Query ${vserver_name} - -Run Vserver Query - [Documentation] Run A&AI query to validate the bulk add - [Arguments] ${vserver_name} - ${dict}= Create Dictionary vserver_name=${vserver_name} - ${request}= OperatingSystem.Get File ${NAMED_QUERY_TEMPLATE} - ${request}= Template String ${request} ${dict} - ${resp}= Run A&AI Post Request ${NAMED_QUERY_PATH} ${request} - Should Be Equal As Strings ${resp.status_code} 200 - - -Execute Reverse Heatbridge - [Documentation] VID has already torn down the stack, reverse HB - Return From Keyword If len(${REVERSE_HEATBRIDGE}) == 0 - :for ${uri} in @{REVERSE_HEATBRIDGE} - \ Run Keyword And Ignore Error Delete A&AI Entity ${uri} - -Generate Reverse Heatbridge From Stack Name - [Arguments] ${stack_name} - Run Openstack Auth Request auth - ${stack_info}= Wait for Stack to Be Deployed auth ${stack_name} timeout=10s - ${reverse_heatbridge}= Generate Reverse Heatbridge From Stack Info ${stack_info} - [Return] ${reverse_heatbridge} - -Generate Reverse Heatbridge From Stack Info - [Arguments] ${stack_info} - ${reverse_heatbridge}= Create List - ${stack_name}= Get From Dictionary ${stack_info} name - ${stack_id}= Get From Dictionary ${stack_info} id - ${tenant_id}= Get From Dictionary ${stack_info} OS::project_id - ${region}= Get Openstack Region - ${keys}= Create Dictionary region=${region} cloud=${GLOBAL_AAI_CLOUD_OWNER} tenant=${tenant_id} - ${stack_resources}= Get Stack Resources auth ${stack_name} ${stack_id} - ${resource_list}= Get From Dictionary ${stack_resources} resources - :FOR ${resource} in @{resource_list} - \ Log ${resource} - \ Run Keyword If '${resource['resource_type']}' == 'OS::Neutron::Port' Generate Linterface Uri auth ${resource['physical_resource_id']} ${reverse_heatbridge} ${keys} - :FOR ${resource} in @{resource_list} - \ Log ${resource} - \ Run Keyword If '${resource['resource_type']}' == 'OS::Nova::Server' Generate Vserver Uri auth ${resource['physical_resource_id']} ${reverse_heatbridge} ${keys} ${resource_list} - [Return] ${reverse_heatbridge} - -Generate Vserver Uri - [Documentation] Run teardown against the server to generate a message that removes it - [Arguments] ${alias} ${port_id} ${reverse_heatbridge} ${keys} ${resource_list} - ${resp}= Get Openstack Server By Id ${alias} ${port_id} - Return From Keyword If '${resp.status_code}' != '200' - ${info}= Set Variable ${resp.json()} - Set To Dictionary ${keys} vserver_id=${info['server']['id']} - Set To Dictionary ${keys} flavor=${info['server']['flavor']['id']} - Set To Dictionary ${keys} image_id=${info['server']['image']['id']} - ${uri}= Template String ${VSERVER_URI} ${keys} - Append To List ${reverse_heatbridge} ${uri} - ${uri}= Template String ${FLAVOR_URI} ${keys} - Append To List ${reverse_heatbridge} ${uri} - ${uri}= Template String ${IMAGE_URI} ${keys} - Append To List ${reverse_heatbridge} ${uri} - -Generate Linterface Uri - [Documentation] Run teardown against the server to generate a message that removes it - [Arguments] ${alias} ${server_id} ${reverse_heatbridge} ${keys} - ${resp}= Get Openstack Port By Id ${alias} ${server_id} - Return From Keyword If '${resp.status_code}' != '200' - ${info}= Set Variable ${resp.json()} - Set To Dictionary ${keys} vserver_id=${info['port']['device_id']} - Set To Dictionary ${keys} linterface_id=${info['port']['name']} - ${uri}= Template String ${L_INTERFACE_URI} ${keys} - Append To List ${reverse_heatbridge} ${uri} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/json_templater.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/json_templater.robot deleted file mode 100644 index 6a5ca17190..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/json_templater.robot +++ /dev/null @@ -1,21 +0,0 @@ -*** Settings *** -Documentation This resource is filling out json string templates and returning the json back -Library RequestsLibrary -Library StringTemplater -Library OperatingSystem -Resource global_properties.robot - -*** Keywords *** -Fill JSON Template - [Documentation] Runs substitution on template to return a filled in json - [Arguments] ${json} ${arguments} - ${returned_string}= Template String ${json} ${arguments} - ${returned_json}= To Json ${returned_string} - [Return] ${returned_json} - -Fill JSON Template File - [Documentation] Runs substitution on template to return a filled in json - [Arguments] ${json_file} ${arguments} - ${json}= OperatingSystem.Get File ${json_file} - ${returned_json}= Fill JSON Template ${json} ${arguments} - [Return] ${returned_json}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/mr_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/mr_interface.robot deleted file mode 100644 index 11c9348f15..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/mr_interface.robot +++ /dev/null @@ -1,28 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with Message router. It handles low level stuff like managing the http request library and message router required fields -Library RequestsClientCert -Library RequestsLibrary -Library UUID - -Resource global_properties.robot - -*** Variables *** -${MR_HEALTH_CHECK_PATH} /topics - -*** Keywords *** -Run MR Health Check - [Documentation] Runs MR Health check - ${resp}= Run MR Get Request ${MR_HEALTH_CHECK_PATH} - Should Be Equal As Strings ${resp.status_code} 200 - Should Contain ${resp.json()} topics - -Run MR Get Request - [Documentation] Runs MR Get request - [Arguments] ${data_path} - ${session}= Create Session mr ${GLOBAL_MR_SERVER} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Get Request mr ${data_path} headers=${headers} - Log Received response from message router ${resp.text} - [Return] ${resp} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/mso_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/mso_interface.robot deleted file mode 100644 index b6a53b4090..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/mso_interface.robot +++ /dev/null @@ -1,54 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with MSO. It handles low level stuff like managing the http request library and MSO required fields -Library RequestsLibrary -Library UUID -Library OperatingSystem -Library Collections -Resource global_properties.robot -Resource ../resources/json_templater.robot -*** Variables *** -${MSO_HEALTH_CHECK_PATH} /ecomp/mso/infra/globalhealthcheck - -*** Keywords *** -Run MSO Health Check - [Documentation] Runs an MSO global health check - ${auth}= Create List ${GLOBAL_MSO_USERNAME} ${GLOBAL_MSO_PASSWORD} - ${session}= Create Session mso ${GLOBAL_MSO_SERVER} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=text/html Content-Type=text/html X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Get Request mso ${MSO_HEALTH_CHECK_PATH} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - -Run MSO Get Request - [Documentation] Runs an MSO get request - [Arguments] ${data_path} ${accept}=application/json - ${auth}= Create List ${GLOBAL_MSO_USERNAME} ${GLOBAL_MSO_PASSWORD} - Log Creating session ${GLOBAL_MSO_SERVER} - ${session}= Create Session mso ${GLOBAL_MSO_SERVER} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=${accept} Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Get Request mso ${data_path} headers=${headers} - Log Received response from mso ${resp.text} - [Return] ${resp} - -Poll MSO Get Request - [Documentation] Runs an MSO get request until a certain status is received. valid values are COMPLETE - [Arguments] ${data_path} ${status} - ${auth}= Create List ${GLOBAL_MSO_USERNAME} ${GLOBAL_MSO_PASSWORD} - Log Creating session ${GLOBAL_MSO_SERVER} - ${session}= Create Session mso ${GLOBAL_MSO_SERVER} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - #do this until it is done - :FOR ${i} IN RANGE 20 - \ ${resp}= Get Request mso ${data_path} headers=${headers} - \ Should Not Contain ${resp.text} FAILED - \ Log ${resp.json()['request']['requestStatus']['requestState']} - \ ${exit_loop}= Evaluate "${resp.json()['request']['requestStatus']['requestState']}" == "${status}" - \ Exit For Loop If ${exit_loop} - \ Sleep 15s - Log Received response from mso ${resp.text} - [Return] ${resp} - - - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/cinder_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/cinder_interface.robot deleted file mode 100644 index 1b7203597c..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/cinder_interface.robot +++ /dev/null @@ -1,50 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with Openstack. It handles low level stuff like managing the authtoken and Openstack required fields -Library OpenstackLibrary -Library RequestsLibrary -Library UUID -Library OperatingSystem -Resource ../global_properties.robot -Resource ../json_templater.robot -Resource openstack_common.robot - - -*** Variables *** -${OPENSTACK_CINDER_API_VERSION} /v1 -${OPENSTACK_CINDER_TYPES_PATH} /types -${OPENSTACK_CINDER_VOLUMES_PATH} /volumes -${OPENSTACK_CINDER_VOLUMES_ADD_BODY_FILE} robot/assets/templates/cinder_add_volume.template -${OPENSTACK_CINDER_VOLUMES_TYPE} SSD -${OPENSTACK_CINDER_AVAILABILITY_ZONE} nova - -*** Keywords *** -Get Openstack Volume Types - [Documentation] Returns the openstack volume types information - [Arguments] ${alias} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} ${OPENSTACK_CINDER_TYPES_PATH} - [Return] ${resp.json()} - -Get Openstack Volume - [Documentation] Returns the openstack volume information for the passed in volume id - [Arguments] ${alias} ${volume_id} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} ${OPENSTACK_CINDER_VOLUMES_PATH} /${volume_id} - [Return] ${resp.json()} - -Add Openstack Volume - [Documentation] Runs an Openstack Request to add a volume and returns that volume id of the created volume - [Arguments] ${alias} ${name} ${size} - ${data_template}= OperatingSystem.Get File ${OPENSTACK_CINDER_VOLUMES_ADD_BODY_FILE} - ${uuid}= Generate UUID - ${arguments}= Create Dictionary name=${name} description=${GLOBAL_APPLICATION_ID}${uuid} size=${size} type=${OPENSTACK_CINDER_VOLUMES_TYPE} availability_zone=${OPENSTACK_CINDER_AVAILABILITY_ZONE} - ${data}= Fill JSON Template ${data_template} ${arguments} - ${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} ${OPENSTACK_CINDER_VOLUMES_PATH} data_path= data=${data} - Should Be Equal As Strings 200 ${resp.status_code} - [Return] ${resp.json()['volume']['id']} - -Delete Openstack Volume - [Documentation] Runs an Openstack Request to delete a volume - [Arguments] ${alias} ${volume_id} - ${resp}= Internal Delete Openstack ${alias} ${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} ${OPENSTACK_CINDER_VOLUMES_PATH} /${volume_id} - ${status_string}= Convert To String ${resp.status_code} - Should Match Regexp ${status_string} ^(204|200|404)$ - [Return] ${resp.text}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/heat_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/heat_interface.robot deleted file mode 100644 index 32f3fdee02..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/heat_interface.robot +++ /dev/null @@ -1,92 +0,0 @@ -*** Settings *** -Documentation The interface for interacting with Openstack Heat API. -Library OpenstackLibrary -Library RequestsLibrary -Library UUID -Library OperatingSystem -Library HEATUtils -Library StringTemplater -Library Collections -Resource ../global_properties.robot -Resource ../json_templater.robot -Resource openstack_common.robot - -*** Variables *** -${OPENSTACK_HEAT_API_VERSION} /v1 -${OPENSTACK_HEAT_STACK_PATH} /stacks -${OPENSTACK_HEAT_ADD_STACK_TEMPLATE} robot/assets/templates/heat_add_stack.template - - -*** Keywords *** -Get Openstack Stacks - [Documentation] Returns the openstack stacks info - [Arguments] ${alias} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} ${OPENSTACK_HEAT_STACK_PATH} - [Return] ${resp.json()} - -Get Openstack Stack - [Documentation] Returns the openstack stacks info for the given stack name - [Arguments] ${alias} ${stack_name} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} ${OPENSTACK_HEAT_STACK_PATH} /${stack_name} - [Return] ${resp.json()} - -Create Openstack Stack - [Documentation] Takes an openstack heat yaml and returns the created stack - [Arguments] ${alias} ${request} - ${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} ${OPENSTACK_HEAT_STACK_PATH} data_path= data=${request} - [Return] ${resp.json()} - -Make Add Stack Request - [Documentation] Makes a JSON Add Stack Request from YAML template and env files - [Arguments] ${name} ${template} ${env} - ${templatedata}= Template Yaml To Json ${template} - ${envdata}= Env Yaml To Json ${env} - ${dict}= Create Dictionary template=${templatedata} parameters=${envdata} stack_name=${name} - ${resp}= OperatingSystem.Get File ${OPENSTACK_HEAT_ADD_STACK_TEMPLATE} - ${request}= Template String ${resp} ${dict} - Log $request - [Return] ${request} - -Delete Openstack Stack - [Documentation] Deletes and Openstack Stack for the passed name and id - [Arguments] ${alias} ${stack_name} ${stack_id} - ${data_path}= Catenate /${stack_name}/${stack_id} - ${resp}= Internal Delete Openstack ${alias} ${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} ${OPENSTACK_HEAT_STACK_PATH} data_path=${data_path} - Should Be Equal As Strings 204 ${resp.status_code} - [Return] ${resp} - -Get Stack Details - [Documentation] Gets all of the information necessary for tearing down an existing Openstack Stack - [Arguments] ${alias} ${stack_name} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} ${OPENSTACK_HEAT_STACK_PATH} /${stack_name} - ${result}= Stack Info Parse ${resp.json()} - [Return] ${result} - -Get Stack Template - [Documentation] Gets all of the template information of an existing Openstack Stack - [Arguments] ${alias} ${stack_name} ${stack_id} - ${data_path}= Catenate /${stack_name}/${stack_id}/template - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} ${OPENSTACK_HEAT_STACK_PATH} ${data_path} - ${template}= Catenate ${resp.json()} - [Return] ${template} - -Get Stack Resources - [Documentation] Gets all of the resources of an existing Openstack Stack - [Arguments] ${alias} ${stack_name} ${stack_id} - ${data_path}= Catenate /${stack_name}/${stack_id}/resources - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} ${OPENSTACK_HEAT_STACK_PATH} ${data_path} - [Return] ${resp.json()} - -Wait for Stack to Be Deployed - [Arguments] ${alias} ${stack_name} ${timeout}=600s - ${stack_info}= Wait Until Keyword Succeeds ${timeout} 30 sec Get Deployed Stack ${alias} ${stack_name} - ${status}= Get From Dictionary ${stack_info} stack_status - Should Be Equal ${status} CREATE_COMPLETE - [Return] ${stack_info} - -Get Deployed Stack - [Arguments] ${alias} ${stack_name} - ${stack_info}= Get Stack Details ${alias} ${stack_name} - ${status}= Get From Dictionary ${stack_info} stack_status - Should Not Be Equal ${status} CREATE_IN_PROGRESS - [Return] ${stack_info} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/neutron_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/neutron_interface.robot deleted file mode 100644 index bdb64b986c..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/neutron_interface.robot +++ /dev/null @@ -1,128 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with Openstack. It handles low level stuff like managing the authtoken and Openstack required fields -Library OpenstackLibrary -Library RequestsLibrary -Library UUID -Library OperatingSystem -Library Collections -Resource ../global_properties.robot -Resource ../json_templater.robot -Resource openstack_common.robot - -*** Variables *** -${OPENSTACK_NEUTRON_API_VERSION} /v2.0 -${OPENSTACK_NEUTRON_NETWORK_PATH} /networks -${OPENSTACK_NEUTRON_NETWORK_ADD_BODY_FILE} robot/assets/templates/neutron_add_network.template -${OPENSTACK_NEUTRON_SUBNET_PATH} /subnets -${OPENSTACK_NEUTRON_SUBNET_ADD_BODY_FILE} robot/assets/templates/neutron_add_subnet.template -${OPENSTACK_NEUTRON_PORT_PATH} /ports - -*** Keywords *** -Get Openstack Network - [Documentation] Runs an Openstack Request and returns the network info - [Arguments] ${alias} ${network_id} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_NETWORK_PATH} /${network_id} - [Return] ${resp.json()} - -Get Openstack Networks - [Documentation] Runs an Openstack Request and returns the network info - [Arguments] ${alias} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_NETWORK_PATH} - [Return] ${resp.json()} - -Get Openstack Subnets - [Documentation] Runs an Openstack Request and returns the network info - [Arguments] ${alias} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_SUBNET_PATH} - [Return] ${resp.json()} - -Get Openstack Ports - [Documentation] Runs an Openstack Request and returns the network info - [Arguments] ${alias} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_PORT_PATH} - [Return] ${resp.json()} - -Add Openstack Network - [Documentation] Runs an Openstack Request to add a network and returns that network id of the created network - [Arguments] ${alias} ${name} - ${data_template}= OperatingSystem.Get File ${OPENSTACK_NEUTRON_NETWORK_ADD_BODY_FILE} - ${arguments}= Create Dictionary name=${name} - ${data}= Fill JSON Template ${data_template} ${arguments} - ${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_NETWORK_PATH} data_path= data=${data} - Should Be Equal As Strings 201 ${resp.status_code} - [Return] ${resp.json()['network']['id']} - -Delete Openstack Network - [Documentation] Runs an Openstack Request to delete a network - [Arguments] ${alias} ${network_id} - ${resp}= Internal Delete Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_NETWORK_PATH} /${network_id} - ${status_string}= Convert To String ${resp.status_code} - Should Match Regexp ${status_string} ^(204|200)$ - [Return] ${resp.text} - -Add Openstack Network With Subnet If Not Exists - [Documentation] Runs an Openstack Request to add a network and returns that network id of the created network - [Arguments] ${alias} ${name} ${cidr} - ${network}= Get Openstack Subnet By Name ${alias} ${name} ${cidr} - ${pass} ${v}= Run Keyword and Ignore Error Dictionary Should Contain Key ${network} id - Run Keyword If '${pass}' == 'FAIL' Add Openstack Network With Subnet ${alias} ${name} ${cidr} - ${network}= Get Openstack Subnet By Name ${alias} ${name} ${cidr} - ${network_id}= Get From Dictionary ${network} id - [Return] ${network_id} - - -Add Openstack Network With Subnet - [Documentation] Runs an Openstack Request to add a network and returns that network id of the created network - [Arguments] ${alias} ${name} ${cidr} - ${network_id}= Add Openstack Network ${alias} ${name} - ${data_template}= OperatingSystem.Get File ${OPENSTACK_NEUTRON_SUBNET_ADD_BODY_FILE} - ${arguments}= Create Dictionary network_id=${network_id} cidr=${cidr} subnet_name=${name} - ${data}= Fill JSON Template ${data_template} ${arguments} - ${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_SUBNET_PATH} data_path= data=${data} - Should Be Equal As Strings 201 ${resp.status_code} - [Return] ${network_id} - -Get Openstack Subnet By Name - [Documentation] Retrieve the subnet from openstack by it's name. - [Arguments] ${alias} ${network_name} ${network_cidr} - ${resp}= Get Openstack Subnets ${alias} - @{list}= Get From Dictionary ${resp} subnets - ${returnnet}= Set Variable - :for ${net} in @{list} - \ ${name}= Get From Dictionary ${net} name - \ ${cidr}= Get From Dictionary ${net} cidr - \ ${returnnet}= Set Variable ${net} - \ Exit For Loop If '${name}'=='${network_name}' and '${cidr}'=='${network_cidr}' - \ ${returnnet}= Create DIctionary - [Return] ${returnnet} - -Get Openstack IP By Name - [Arguments] ${alias} ${network_name} ${cidr} ${ip} - ${ports}= Get Openstack Ports For Subnet ${alias} ${network_name} ${cidr} - Log ${ports} - :for ${port} in @{ports} - \ Return From Keyword If '${port['fixed_ips'][0]['ip_address']}' == '${ip}' ${port} - [Return] None - -Get Openstack Ports For Subnet - [Arguments] ${alias} ${network_name} ${cidr} - ${net}= Get Openstack Subnet By Name ${alias} ${network_name} ${cidr} - ${ports}= Get Openstack Ports ${alias} - ${net_ports}= Create List - :for ${port} in @{ports['ports']} - \ Run Keyword If '${net['network_id']}' == '${port['network_id']}' Append To List ${net_ports} ${port} - [Return] ${net_ports} - -Get Openstack Port By Id - [Arguments] ${alias} ${port_id} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_PORT_PATH}/${port_id} - [Return] ${resp} - - -Delete Openstack Port - [Arguments] ${alias} ${port_id} - ${resp}= Internal Delete Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_PORT_PATH} /${port_id} - ${status_string}= Convert To String ${resp.status_code} - Should Match Regexp ${status_string} ^(204|200)$ - [Return] ${resp.text} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/nova_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/nova_interface.robot deleted file mode 100644 index b36d09f1e6..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/nova_interface.robot +++ /dev/null @@ -1,149 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with Openstack. It handles low level stuff like managing the authtoken and Openstack required fields -Library OpenstackLibrary -Library RequestsLibrary -Library JSONUtils -Library UUID -Library OperatingSystem -Library Collections -Resource ../global_properties.robot -Resource ../json_templater.robot -Resource openstack_common.robot - -*** Variables *** -${OPENSTACK_NOVA_API_VERSION} /v2 -${OPENSTACK_NOVA_KEYPAIR_PATH} /os-keypairs -${OPENSTACK_NOVA_KEYPAIR_ADD_BODY_FILE} robot/assets/templates/nova_add_keypair.template -${OPENSTACK_NOVA_KEYPAIR_SSH_KEY} robot/assets/keys/robot_ssh_public_key.txt -${OPENSTACK_NOVA_FLAVORS_PATH} /flavors -${OPENSTACK_NOVA_SERVERS_PATH} /servers -${OPENSTACK_NOVA_IMAGES_PATH} /images -${OPENSTACK_NOVA_SERVERS_REBOOT_BODY} {"reboot" : { "type" : "SOFT" }} -${OPENSTACK_NOVA_SERVER_ADD_BODY_FILE} robot/assets/templates/nova_add_server.template - - -*** Keywords *** -Get Openstack Keypair - [Documentation] Runs an Openstack Request and returns the keypair info - [Arguments] ${alias} ${keypair_name} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_KEYPAIR_PATH} /${keypair_name} - [Return] ${resp.json()} - -Add Openstack Keypair - [Documentation] Runs an Openstack Request to add a keypair and returns the keypair name - [Arguments] ${alias} ${name} - ${data_template}= OperatingSystem.Get File ${OPENSTACK_NOVA_KEYPAIR_ADD_BODY_FILE} - ${ssh_key}= OperatingSystem.Get File ${OPENSTACK_NOVA_KEYPAIR_SSH_KEY} - ${arguments}= Create Dictionary name=${name} publickey=${ssh_key} - ${data}= Fill JSON Template ${data_template} ${arguments} - ${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_KEYPAIR_PATH} data_path= data=${data} - Should Be Equal As Strings 200 ${resp.status_code} - [Return] ${resp.json()['keypair']['name']} - -Delete Openstack Keypair - [Documentation] Runs an Openstack Request to delete a keypair - [Arguments] ${alias} ${keypair_name} - ${resp}= Internal Delete Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_KEYPAIR_PATH} /${keypair_name} - ${status_string}= Convert To String ${resp.status_code} - Should Match Regexp ${status_string} ^(204|202|200)$ - [Return] ${resp.text} - - -Get Openstack Servers - [Documentation] Returns the list of servers as a dictionary by name - [Arguments] ${alias} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_SERVERS_PATH} /detail - Log Returned from Internal Get Openstack - ${by_name}= Make List Into Dict ${resp.json()['servers']} name - Log got it - [Return] ${by_name} - -Get Openstack Server By Id - [Documentation] Returns the openstack stacks info for the given stack name - [Arguments] ${alias} ${server_id} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_SERVERS_PATH} /${server_id} - [Return] ${resp} - -Get Openstack Flavors - [Documentation] Runs an Openstack Request and returns the flavor list - [Arguments] ${alias} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_FLAVORS_PATH} - [Return] ${resp.json()} - -Get Openstack Images - [Documentation] Runs an Openstack Request and returns the flavor list - [Arguments] ${alias} - ${resp}= Internal Get Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_IMAGES_PATH} - [Return] ${resp.json()} - -Reboot Server - [Documentation] Requests a reboot of the passed server id - [Arguments] ${alias} ${server_id} - ${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_SERVERS_PATH} /${server_id}/action ${OPENSTACK_NOVA_SERVERS_REBOOT_BODY} - [Return] ${resp} - -Add Server - [Documentation] Adds a server for the passed if - [Arguments] ${alias} ${name} ${imageRef} ${flavorRef} - ${dict}= Create Dictionary name=${name} imageRef=${imageRef} flavorRef=${flavorRef} - ${data}= Fill JSON Template File ${OPENSTACK_NOVA_SERVER_ADD_BODY_FILE} ${dict} - ${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_SERVERS_PATH} data_path= data=${data} - [Return] ${resp} - -Add Server For Image Name - [Documentation] Adds a server for the passed if - [Arguments] ${alias} ${name} ${imageName} ${flavorName} - ${images}= Get Openstack Images ${alias} - ${flavors}= Get Openstack Flavors ${alias} - ${images}= Get From Dictionary ${images} images - ${flavors}= Get From Dictionary ${flavors} flavors - ${imageRef}= Get Id For Name ${images} ${imageName} - ${flavorRef}= Get Id For Name ${flavors} ${flavorName} - ${dict}= Create Dictionary name=${name} imageRef=${imageRef} flavorRef=${flavorRef} - ${data}= Fill JSON Template File ${OPENSTACK_NOVA_SERVER_ADD_BODY_FILE} ${dict} - ${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_SERVERS_PATH} data_path= data=${data} - ${status_string}= Convert To String ${resp.status_code} - Should Match Regexp ${status_string} ^(202)$ - [Return] ${resp.json()} - -Wait for Server to Be Active - [Arguments] ${alias} ${server_id} ${timeout}=300s - ${server_info}= Wait Until Keyword Succeeds ${timeout} 10 sec Get Active Server ${alias} ${server_id} - ${status}= Get From Dictionary ${server_info} status - Should Be Equal ${status} ACTIVE - [Return] ${server_info} - - Get Active Server - [Arguments] ${alias} ${server_id} - ${resp}= Get Openstack Server By Id ${alias} ${server_id} - Should Be Equal As Strings ${resp.status_code} 200 - ${server_info}= Set Variable ${resp.json()} - ${server_info}= Get From Dictionary ${server_info} server - ${status}= Get From Dictionary ${server_info} status - Should Not Be Equal ${status} BUILD - [Return] ${server_info} - -Wait for Server to Be Deleted - [Arguments] ${alias} ${server_id} - Wait Until Keyword Succeeds 300s 10s Get Deleted Server ${alias} ${server_id} - -Get Deleted Server - [Arguments] ${alias} ${server_id} - ${resp}= Get Openstack Server By Id ${alias} ${server_id} - Should Be Equal As Strings ${resp.status_code} 404 - -Delete Server - [Documentation] Runs an Openstack Request to delete a keypair - [Arguments] ${alias} ${server_id} - ${resp}= Internal Delete Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_SERVERS_PATH} /${server_id} - ${status_string}= Convert To String ${resp.status_code} - Should Match Regexp ${status_string} ^(204)$ - [Return] ${resp.text} - -Get Id For Name - [Arguments] ${list} ${name} - :for ${item} in @{list} - \ ${id}= Get From Dictionary ${item} id - \ ${n}= Get From Dictionary ${item} name - \ Return from Keyword If '${n}' == '${name}' ${id} - [Return] None diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/openstack_common.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/openstack_common.robot deleted file mode 100644 index ef370c66ba..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/openstack_common.robot +++ /dev/null @@ -1,80 +0,0 @@ -*** Settings *** -Documentation The private interface for interacting with Openstack. It handles low level stuff like managing the authtoken and Openstack required fields - -Library Collections -Library OpenstackLibrary -Library RequestsLibrary -Library UUID -Resource ../global_properties.robot - -*** Variables *** -#**************** Test Case Variables ****************** -${OPENSTACK_SERVICE_REGION} - -*** Keywords *** -Internal Get Openstack - [Documentation] Runs an Openstack Get Request and returns the response - [Arguments] ${alias} ${service_type} ${url_ext} ${data_path}= - ${region}= Get Openstack Region - ${resp}= Internal Get Openstack With Region ${alias} ${service_type} ${region} ${url_ext} ${data_path} - [Return] ${resp} - -Internal Get Openstack With Region - [Documentation] Runs an Openstack Get Request and returns the response - [Arguments] ${alias} ${service_type} ${region} ${url_ext} ${data_path}= - Log Internal Get Openstack values alias=${alias} service_type=${service_type} region=${region} url_ext=${url_ext} data_path=${data_path} - ${url}= Get Openstack Service Url ${alias} ${service_type} ${region} - ${uuid}= Generate UUID - ${session_alias}= Catenate openstack-${uuid} - ${session}= Create Session ${session_alias} ${url}${url_ext} verify=True - ${token}= Get Openstack Token ${alias} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} X-Auth-Token=${token} - ${resp}= Get Request ${session_alias} ${data_path} headers=${headers} - Log Received response from openstack ${resp.text} - [Return] ${resp} - -Internal Post Openstack - [Documentation] Runs an Openstack Post Response and returns the response - [Arguments] ${alias} ${service_type} ${url_ext} ${data_path}= ${data}= - ${region}= Get Openstack Region - Log Internal Post Openstack values alias=${alias} service_type=${service_type} region=${region} url_ext=${url_ext} data_path=${data_path} - ${url}= Get Openstack Service Url ${alias} ${service_type} ${region} - ${uuid}= Generate UUID - ${session_alias}= Catenate openstack-${uuid} - ${session}= Create Session ${session_alias} ${url}${url_ext} verify=True - ${token}= Get Openstack Token ${alias} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} X-Auth-Token=${token} - ${resp}= Post Request ${session_alias} ${data_path} data=${data} headers=${headers} - Log Received response from openstack ${resp.text} - [Return] ${resp} - -Internal Delete Openstack - [Documentation] Runs an Openstack Delete Request and returns the response - [Arguments] ${alias} ${service_type} ${url_ext} ${data_path}= - ${region}= Get Openstack Region - Log Internal Post Openstack values alias=${alias} service_type=${service_type} region=${region} url_ext=${url_ext} data_path=${data_path} - ${url}= Get Openstack Service Url ${alias} ${service_type} ${region} - ${uuid}= Generate UUID - ${session_alias}= Catenate openstack-${uuid} - ${session}= Create Session ${session_alias} ${url}${url_ext} verify=True - ${token}= Get Openstack Token ${alias} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} X-Auth-Token=${token} - ${resp}= Delete Request ${session_alias} ${data_path} headers=${headers} - Log Received response from openstack ${resp.text} - [Return] ${resp} - -Get Openstack Region - [Documentation] Returns the current openstack region test variable - ... Defaults to the openstack region of the Robot VM - Return From Keyword If len('${OPENSTACK_SERVICE_REGION}') > 0 ${OPENSTACK_SERVICE_REGION} - Dictionary Should Contain Key ${GLOBAL_VM_PROPERTIES} region - Set Test Variable ${OPENSTACK_SERVICE_REGION} ${GLOBAL_VM_PROPERTIES['region']} - Log Setting OPENSTACK_SERVICE_REGION=${OPENSTACK_SERVICE_REGION} - [Return] ${OPENSTACK_SERVICE_REGION} - -Set Openstack Region Test Variable - [Documentation] Sets the openstack service region of the current test case - ... To be used to override the service region of the Robot VM (default) - [Arguments] ${openstack_service_region} - Set Test Variable ${OPENSTACK_SERVICE_REGION} ${openstack_service_region} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/portal_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/portal_interface.robot deleted file mode 100644 index 7d53b3780f..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/portal_interface.robot +++ /dev/null @@ -1,28 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with Portal. It handles low level stuff like managing the http request library and Portal required fields -Library RequestsClientCert -Library RequestsLibrary -Library UUID - -Resource global_properties.robot - -*** Variables *** -${PORTAL_HEALTH_CHECK_PATH} /ECOMPPORTAL/portalApi/healthCheck - -*** Keywords *** -Run Portal Health Check - [Documentation] Runs Portal Health check - ${resp}= Run Portal Get Request ${PORTAL_HEALTH_CHECK_PATH} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['statusCode']} 200 - -Run Portal Get Request - [Documentation] Runs Portal Get request - [Arguments] ${data_path} - ${session}= Create Session portal ${GLOBAL_PORTAL_SERVER} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Get Request portal ${data_path} headers=${headers} - Log Received response from portal ${resp.text} - [Return] ${resp} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/ssh/files.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/ssh/files.robot deleted file mode 100644 index fcfffbb3b8..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/ssh/files.robot +++ /dev/null @@ -1,50 +0,0 @@ -*** Settings *** -Documentation Some handy Keywords for accessing log files over SSH. Assumptions are that logs will belong to users other than the currently logged in user and that sudo will be required -Library OperatingSystem -Library SSHLibrary -Library HttpLibrary.HTTP -Library String -Library Collections - -*** Variables *** - -*** Keywords *** -Open Connection And Log In - [Documentation] Open a connection using the passed user and SSH key. Connection alias will be the host name by default. - [Arguments] ${HOST} ${user} ${pvt} ${password}= ${alias}=${HOST} ${timeout}=120s - Open Connection ${HOST} alias=${alias} timeout=${timeout} - Login With Public Key ${user} ${pvt} password=${password} delay=0.5 seconds - -Grep Local File - [Documentation] Grep the passed file name and return all of the lines that match the passed pattern using the current connection - [Arguments] ${pattern} ${fullpath} - ${output}= Execute Command grep ${pattern} ${fullpath} - [Return] ${output} - - Grep File on Host - [Documentation] Grep the passed file name and return all of the lines that match the passed pattern using passed connection alias/host - [Arguments] ${host} ${pattern} ${fullpath} - Switch Connection ${host} - ${output}= Grep Local File ${pattern} ${fullpath} - @{lines}= Split To Lines ${output} - [Return] @{lines} - -Grep File on Hosts - [Documentation] Grep the passed file name and return all of the lines that match the passed pattern using passed list of connections - [Arguments] ${HOSTS} ${pattern} ${fullpath} - &{map}= Create Dictionary - :FOR ${HOST} IN @{HOSTS} - \ Log ${HOST} - \ @{lines}= Grep File on Host ${HOST} ${pattern} ${fullpath} - \ &{map}= Create Dictionary ${HOST}=@{lines} &{map} - [Return] &{map} - -Tail File on Host Until - [Documentation] Tail log file into grep which returns file lines containing the grep pattern. Will timeout after timeout= if expected pattern not received. - [Arguments] ${host} ${pattern} ${fullpath} ${expected} ${timeout}=60 ${options}=-c -0 - Switch Connection ${host} - ${tailcommand}= Catenate tail ${options} -f ${fullpath} | grep --color=never ${pattern} - Write ${tailcommand} - ${stdout}= Read Until Regexp ${expected} - @{lines}= Split To Lines ${stdout} - [Return] @{lines} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/ssh/processes.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/ssh/processes.robot deleted file mode 100644 index e9f3731866..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/ssh/processes.robot +++ /dev/null @@ -1,74 +0,0 @@ -*** Settings *** -Documentation Some handy Keywords for accessing log files over SSH. Assumptions are that logs will belong to users other than the currently logged in user and that sudo will be required -Library OperatingSystem -Library SSHLibrary 60 seconds -Library HttpLibrary.HTTP -Library String -Library Collections - -*** Variables *** - -*** Keywords *** - -Get Processes - [Documentation] Returns all of the processes on the currently connected host - ${output}= Execute Command ps -ef - ${map}= Create Process Map ${output} - [Return] ${map} - -Grep Processes - [Documentation] Return the list of processes matching the passed regex - [Arguments] ${pattern} - ${output}= Execute Command ps -ef|grep "${pattern}"|grep -v grep - ${map}= Create Process Map ${output} - [Return] ${map} - -Create Process Map - [Documentation] Extract process pids and process names from ps -ef output - [Arguments] ${input} - @{lines}= Split To Lines ${input} - ${map}= Create Dictionary - :for ${line} in @{lines} - \ @{parts}= Split String ${line} max_split=7 - \ ${pid}= Catenate ${parts[1]} - \ ${name}= Catenate ${parts[7]} - \ Set To Dictionary ${map} ${pid}=${name} - [Return] ${map} - - -Wait for Process on Host - [Documentation] Wait for the passed process name (regular expression) to be running on the passed host - [Arguments] ${process_name} ${host} ${timeout}=600s - ${map}= Wait Until Keyword Succeeds ${timeout} 10 sec Is Process On Host ${process_name} ${host} - [Return] ${map} - - -Pkill Process on Host - [Documentation] Kill the named process(es). Process name must match exactly - [Arguments] ${process_name} ${host} ${timeout}=600s - Switch Connection ${host} - ${output}= Execute Command pkill -9 -e -f ${process_name} - [Return] ${output} - -Is Process on Host - [Documentation] Look for the passed process name (regex) to be running on the passed host. Process name can include regex. - [Arguments] ${process_name} ${host} - Switch Connection ${host} - ${pass} ${map}= Run Keyword and Ignore Error Grep Processes ${process_name} - @{pids}= Get Dictionary Keys ${map} - ${foundpid}= Catenate "" - :for ${pid} in @{pids} - \ ${process_cmd}= Get From Dictionary ${map} ${pid} - \ ${status} ${value}= Run Keyword And Ignore Error Should Match Regexp ${process_cmd} ${process_name} - \ Run Keyword If '${status}' == 'PASS' Set Test Variable ${foundpid} ${pid} - Should Not Be Equal ${foundpid} "" - [Return] ${map}[${foundpid}] - - -Get Process List on Host - [Documentation] Gets the list of all processes on the passed host - [Arguments] ${host} - Switch Connection ${host} - ${map}= Get Processes - [Return] ${map} -
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/darkstat_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/darkstat_interface.robot deleted file mode 100644 index 3537408aae..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/darkstat_interface.robot +++ /dev/null @@ -1,82 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with A&AI. It handles low level stuff like managing the http request library and A&AI required fields -Library ExtendedSelenium2Library -Library StringTemplater -Library UUID -Library OperatingSystem -Resource ../global_properties.robot -Resource ../browser_setup.robot - -*** Variables *** -${SNK_HOSTS_TEMPLATE} http://\${host}:\${port}/hosts/ -${SNK_HOME_TEMPLATE} http://\${host}:\${port}/ -${SNK_PATH} -${SNK_PORT} 667 -${BYTES_PER_PACKET} 29 -${PACKETS_PER_SECOND_PER_STREAM} 11 -${MONITOR_INTERVAL_IN_SECONDS} 4 - -*** Keywords *** -Get Darkstat Bytes In - [Documentation] Get bytes received on the passed interface for the given interval - [Arguments] ${host} ${interface} ${interval}=${MONITOR_INTERVAL_IN_SECONDS} - ${map}= Create Dictionary host=${host} port=${SNK_PORT} path=${SNK_PATH} - ${url}= Template String ${SNK_HOSTS_TEMPLATE} ${map} - Connect to Darkstat ${host} ${url} - Title Should Be Hosts (darkstat3 eth1) - ${initial_bytes}= Get Current Bytes In ${interface} - Sleep ${interval} - Go To ${url} - ${new_bytes}= Get Current Bytes In ${interface} - ${return_bytes}= Evaluate int(${new_bytes}) - int(${initial_bytes}) - [Return] ${return_bytes} - -Get Darkstat Packets In - [Documentation] Get bytes received on the passed interface for the given interval - [Arguments] ${host} ${interval}=${MONITOR_INTERVAL_IN_SECONDS} - ${map}= Create Dictionary host=${host} port=${SNK_PORT} path=${SNK_PATH} - ${url}= Template String ${SNK_HOME_TEMPLATE} ${map} - Connect to Darkstat ${host} ${url} - Title Should Be Graphs (darkstat3 eth1) - ${initial_pkts}= Get Current Packets In - Sleep ${interval} - Go To ${url} - ${new_pkts}= Get Current Packets In - ${return_pkts}= Evaluate int(${new_pkts}) - int(${initial_pkts}) - [Return] ${return_pkts} - - -Connect to Darkstat - [Documentation] COnnects to the Darkstat port on passed host - [Arguments] ${host} ${url} - ## Being managed by the test case - ##Setup Browser - Go To ${url} - Maximize Browser Window - Set Selenium Speed ${GLOBAL_SELENIUM_DELAY} - Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} - Log Logging in to ${url} - Handle Proxy Warning - - -Get Current Bytes In - [Documentation] Retrieves packets input from given host from current Darkstats hosts page - [Arguments] ${interface} - ${bytes}= Get Text xpath=//tr[td/a[text() = '${interface}']]/td[4] - ${bytes}= Evaluate ${bytes.replace(',', '')} - [Return] ${bytes} - -Get Current Packets In - [Documentation] Retrieves packets input from given host from current Darkstats hosts page - ${bytes}= Get Text xpath=//span[@id = 'tp'] - ${bytes}= Evaluate ${bytes.replace(',', '')} - [Return] ${bytes} - - -Get Expected Range For Number Of Streams - [Documentation] Calculates the expected range of bytes for an interval for the given number of streams - [Arguments] ${number_of_streams} - ${bytes_per_second}= Evaluate ${BYTES_PER_PACKET}*(${PACKETS_PER_SECOND_PER_STREAM}*${number_of_streams}) - ${low_bytes}= Evaluate (${MONITOR_INTERVAL_IN_SECONDS}-1)*${bytes_per_second} - ${high_bytes}= Evaluate (${MONITOR_INTERVAL_IN_SECONDS}+1)*${bytes_per_second} - [Return] ${low_bytes} ${high_bytes}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/packet_generator_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/packet_generator_interface.robot deleted file mode 100644 index cc9ba04fcc..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/packet_generator_interface.robot +++ /dev/null @@ -1,98 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with A&AI. It handles low level stuff like managing the http request library and A&AI required fields -Library RequestsLibrary -Library StringTemplater -Library UUID -Library OperatingSystem -Resource ../global_properties.robot -Resource ../json_templater.robot - -*** Variables *** -${PGN_URL_TEMPLATE} http://\${host}:\${port} -${PGN_PATH} /restconf/config/sample-plugin:sample-plugin -${PGN_ENABLE_STREAM_TEMPLATE} robot/assets/templates/vfw_pg_stream_enable.template -${PGN_ENABLE_STREAMS_TEMPLATE} robot/assets/templates/vfw_pg_streams_enable.template - -*** Keywords *** -Connect To Packet Generator - [Documentation] Enables packet generator for the passed stream on the passed host - [Arguments] ${host} ${alias}=pgn - ${map}= Create Dictionary host=${host} port=${GLOBAL_PACKET_GENERATOR_PORT} path=${PGN_PATH} - ${url}= Template String ${PGN_URL_TEMPLATE} ${map} - ${auth}= Create List ${GLOBAL_PACKET_GENERATOR_USERNAME} ${GLOBAL_PACKET_GENERATOR_PASSWORD} - ${session}= Create Session ${alias} ${url} auth=${auth} - [Return] ${session} - -Enable Stream - [Documentation] Enable a single stream on the passed packet generator host IP - [Arguments] ${host} ${stream}=udp1 ${alias}=pgn - Connect To Packet Generator ${host} alias=${alias} - ${headers}= Create Headers - ${data_path}= Catenate ${PGN_PATH}/pg-streams - ${map}= Create Dictionary stream=${stream} - ${streams}= Fill JSON Template File ${PGN_ENABLE_STREAM_TEMPLATE} ${map} - ${streams}= evaluate json.dumps(${streams}) json - ${map}= Create Dictionary pgstreams=${streams} - ${data}= Fill JSON Template File ${PGN_ENABLE_STREAMS_TEMPLATE} ${map} - ${resp}= Put Request ${alias} ${data_path} data=${data} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp} - -Enable Streams - [Documentation] Enable <stream_count> number of streams on the passed packet generator host IP - [Arguments] ${host} ${stream_count}=5 ${alias}=pgn ${prefix}=fw_udp - Connect To Packet Generator ${host} alias=${alias} - ${headers}= Create Headers - ${data_path}= Catenate ${PGN_PATH}/pg-streams - ${streams}= Set Variable - ${comma}= Set Variable - ${stream_count}= Evaluate ${stream_count}+1 - :for ${i} in Range 1 ${stream_count} - \ ${name}= Catenate ${prefix}${i} - \ ${map}= Create Dictionary stream=${name} - \ ${one}= Fill JSON Template File ${PGN_ENABLE_STREAM_TEMPLATE} ${map} - \ ${one}= evaluate json.dumps(${one}) json - \ ${streams}= Set Variable ${streams}${comma}${one} - \ ${comma}= Set Variable , - ${map}= Create Dictionary pgstreams=${streams} - ${data}= Fill JSON Template File ${PGN_ENABLE_STREAMS_TEMPLATE} ${map} - ${resp}= Put Request ${alias} ${data_path} data=${data} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp} - -Disable All Streams - [Documentation] Disable all streams on the passed packet generator host IP - [Arguments] ${host} ${stream}=udp1 ${alias}=pgn - Connect To Packet Generator ${host} alias=${alias} - ${headers}= Create Headers - ${data_path}= Catenate ${PGN_PATH}/pg-streams - ${data}= Catenate {"pg-streams":{"pg-stream": []}} - ${resp}= Put Request ${alias} ${data_path} data=${data} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp} - - Disable Stream - [Documentation] Disables packet generator for the passed stream - [Arguments] ${host} ${stream}=udp1 ${alias}=pgn - ${session}= Connect To Packet Generator ${host} alias=${alias} - ${headers}= Create Headers - ${data_path}= Catenate ${PGN_PATH}/pg-streams/pg-stream/${stream} - ${resp}= Delete Request ${alias} ${data_path} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp} - -Get List Of Enabled Streams - [Documentation] Get a list of streams on the passed packet generator host IP - [Arguments] ${host} ${alias}=pgn - ${session}= Connect To Packet Generator ${host} alias=${alias} - ${headers}= Create Headers - ${data_path}= Catenate / - ${resp}= Get Request ${alias} ${PGN_PATH} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp.json()} - - -Create Headers - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - [Return] ${headers}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/policy_check_vfw.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/policy_check_vfw.robot deleted file mode 100644 index 22340729c7..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/policy_check_vfw.robot +++ /dev/null @@ -1,96 +0,0 @@ -*** Settings *** -Documentation Testing openstack. -Library OperatingSystem -Library Process -Library SSHLibrary -Library RequestsLibrary -Library JSONUtils -Library OpenstackLibrary -Library HEATUtils -Library Collections -LIbrary String -Resource ../../resources/openstack/keystone_interface.robot -Resource ../../resources/openstack/nova_interface.robot -Resource ../../resources/openstack/heat_interface.robot -Resource ../../resources/ssh/files.robot -Resource ../../resources/ssh/processes.robot -Resource packet_generator_interface.robot -Resource darkstat_interface.robot -Resource validate_common.robot -Resource ../../resources/test_templates/vnf_orchestration_test_template.robot - - -*** Variables *** - -*** Keywords *** -Policy Check Firewall Stack - [Documentation] Executes the vFW policy closed loop test. - [Arguments] ${stack_name} ${policy_rate} - Run Openstack Auth Request auth - ${stack_info}= Wait for Stack to Be Deployed auth ${stack_name} - ${stack_id}= Get From Dictionary ${stack_info} id - ${server_list}= Get Openstack Servers auth - Log ${server_list} - ${vpg_unprotected_ip}= Get From Dictionary ${stack_info} vpg_private_ip_0 - ${vsn_protected_ip}= Get From Dictionary ${stack_info} vsn_private_ip_0 - ${vpg_public_ip}= Get Server Ip ${server_list} ${stack_info} vpg_name_0 network_name=public - ${vsn_public_ip}= Get Server Ip ${server_list} ${stack_info} vsn_name_0 network_name=public - ${upper_bound}= Evaluate ${policy_rate}*2 - Wait Until Keyword Succeeds 300s 1s Run VFW Policy Check ${vpg_public_ip} ${policy_rate} ${upper_bound} 1 - -Run VFW Policy Check - [Documentation] Push traffic above upper bound, wait for policy to fix it, push traffic to lower bound, wait for policy to fix it, - [Arguments] ${vpg_public_ip} ${policy_rate} ${upper_bound} ${lower_bound} - # Force traffic above threshold - Check For Policy Enforcement ${vpg_public_ip} ${policy_rate} ${upper_bound} - # Force traffic below threshold - Check For Policy Enforcement ${vpg_public_ip} ${policy_rate} ${lower_bound} - - -Check For Policy Enforcement - [Documentation] Push traffic above upper bound, wait for policy to fix it, push traffic to lower bound, wait for policy to fix it, - [Arguments] ${vpg_public_ip} ${policy_rate} ${forced_rate} - Enable Streams ${vpg_public_ip} ${forced_rate} - Wait Until Keyword Succeeds 20s 5s Test For Expected Rate ${vpg_public_ip} ${forced_rate} - Wait Until Keyword Succeeds 280s 5s Test For Expected Rate ${vpg_public_ip} ${policy_rate} - -Test For Expected Rate - [Documentation] Ge the number of pg-streams from the PGN, and test to see if it is what we expect. - [Arguments] ${vpg_public_ip} ${number_of_streams} - ${list}= Get List Of Enabled Streams ${vpg_public_ip} - ${list}= Evaluate ${list['sample-plugin']}['pg-streams']['pg-stream'] - Length Should Be ${list} ${number_of_streams} - - - -Policy Check vLB Stack - [Documentation] Executes the vLB policy closed loop test - [Arguments] ${stack_name} ${policy_rate} - Run Openstack Auth Request auth - ${stack_info}= Wait for Stack to Be Deployed auth ${stack_name} - ${stack_id}= Get From Dictionary ${stack_info} id - ${server_list}= Get Openstack Servers auth - ${vlb_public_ip}= Get Server Ip ${server_list} ${stack_info} vlb_name_0 network_name=public - ${upper_bound}= Evaluate ${policy_rate}*2 - Start DNS Traffic ${vlb_public_ip} ${upper_bound} - - # Now wiat for the dnsscaling stack to be deployed - ${prefix}= Get DNSScaling Prefix - ${dnsscaling}= Replace String Using Regexp ${stack_name} ^Vfmodule_ ${prefix} - ${dnsscaling_info}= Wait for Stack to Be Deployed auth ${dnsscaling} - VLB Closed Loop Hack Update ${dnsscaling} - # TO DO: Log into vLB and cehck that traffic is flowing to the new DNS - [Return] ${dnsscaling} - -Get DNSScaling Prefix - ${mapping}= Get From Dictionary ${GLOBAL_SERVICE_TEMPLATE_MAPPING} vLB - :for ${dict} in @{mapping} - \ Return From Keyword If '${dict['isBase']}' == 'false' ${dict['prefix']} - [Return] None - - -Start DNS Traffic - [Documentation] Run nslookups at rate per second. Run for 10 minutes or until it is called by the terminate process - [Arguments] ${vlb_public_ip} ${rate} - ${pid}= Start Process ./dnstraffic.sh ${vlb_public_ip} ${rate} ${GLOBAL_DNS_TRAFFIC_DURATION} - [Return] ${pid}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_common.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_common.robot deleted file mode 100644 index 24f9fe3310..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_common.robot +++ /dev/null @@ -1,47 +0,0 @@ -*** Settings *** -Documentation Testing openstack. -Library OperatingSystem -Library SSHLibrary -Library RequestsLibrary -Library JSONUtils -Library OpenstackLibrary -Library HEATUtils -Library Collections -Resource ../../resources/openstack/keystone_interface.robot -Resource ../../resources/openstack/nova_interface.robot -Resource ../../resources/openstack/heat_interface.robot -Resource ../../resources/ssh/files.robot -Resource ../../resources/ssh/processes.robot -Resource packet_generator_interface.robot - - -*** Variables *** - -*** Keywords *** -Wait For Server - [Documentation] Attempts to login to the passed server info and verify (??). Uses server info to get public ip and locate corresponding provate key file - [Arguments] ${server_ip} ${timeout}=300s - ${file}= Catenate ${GLOBAL_VM_PRIVATE_KEY} - Wait Until Keyword Succeeds ${timeout} 5 sec Open Connection And Log In ${server_ip} root ${file} - ${lines}= Grep Local File "Accepted publickey" /var/log/auth.log - Log ${lines} - Should Not Be Empty ${lines} - -Get Server Ip - [Arguments] ${server_list} ${stack_info} ${key_name} ${network_name}=public - ${server_name}= Get From Dictionary ${stack_info} ${key_name} - ${server}= Get From Dictionary ${server_list} ${server_name} - Log Entering Get Openstack Server Ip - ${ip}= Get Openstack Server Ip ${server} network_name=${network_name} - Log Returned Get Openstack Server Ip - [Return] ${ip} - -Find And Reboot The Server - [Documentation] Code to reboot the server by teh heat server name parameter value - [Arguments] ${stack_info} ${server_list} ${server_name_parameter} - ${server_name}= Get From Dictionary ${stack_info} ${server_name_parameter} - ${vfw_server}= Get From Dictionary ${server_list} ${server_name} - ${vfw_server_id}= Get From Dictionary ${vfw_server} id - Reboot Server auth ${vfw_server_id} - - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_dns_scaling.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_dns_scaling.robot deleted file mode 100644 index b455659146..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_dns_scaling.robot +++ /dev/null @@ -1,41 +0,0 @@ -*** Settings *** -Documentation Testing openstack. -Library OperatingSystem -Library SSHLibrary -Library RequestsLibrary -Library JSONUtils -Library OpenstackLibrary -Library HEATUtils -Library Collections -Resource ../../resources/openstack/keystone_interface.robot -Resource ../../resources/openstack/nova_interface.robot -Resource ../../resources/openstack/heat_interface.robot -Resource ../../resources/ssh/files.robot -Resource ../../resources/ssh/processes.robot -Resource packet_generator_interface.robot -Resource validate_common.robot - - -*** Variables *** - -*** Keywords *** -Validate Dns Scaling Stack - [Documentation] Wait for the DNS scaling stack to be instantiated - [Arguments] ${STACK_NAME} - Run Openstack Auth Request auth - ${stack_info}= Wait for Stack to Be Deployed auth ${STACK_NAME} - ${stack_id}= Get From Dictionary ${stack_info} id - ${server_list}= Get Openstack Servers auth - Log ${server_list} - ${vdns_public_ip}= Get Server Ip ${server_list} ${stack_info} vdns_name_0 network_name=public - Wait For Server ${vdns_public_ip} - Log Accessed all servers - #Wait for vDNS ${vdns_public_ip} - Log All server processes up - -Wait For vDNS - [Documentation] Wait for the DNSServer to be running on the scaling DNS. - ... Disabled. Potential for robot to hang due to network reconfigurations at startup. - [Arguments] ${ip} - Wait for Process on Host java DNSServer ${ip} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_vfw.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_vfw.robot deleted file mode 100644 index b0d591fbe7..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_vfw.robot +++ /dev/null @@ -1,77 +0,0 @@ -*** Settings *** -Documentation Testing openstack. -Library OperatingSystem -Library SSHLibrary -Library RequestsLibrary -Library JSONUtils -Library OpenstackLibrary -Library HEATUtils -Library Collections -Resource ../../resources/openstack/keystone_interface.robot -Resource ../../resources/openstack/nova_interface.robot -Resource ../../resources/openstack/heat_interface.robot -Resource ../../resources/ssh/files.robot -Resource ../../resources/ssh/processes.robot -Resource ../appc_interface.robot -Resource packet_generator_interface.robot -Resource validate_common.robot - - -*** Variables *** - -*** Keywords *** -Validate Firewall Stack - [Documentation] Identifies and validates the firewall servers in the VFW Stack - [Arguments] ${STACK_NAME} - Run Openstack Auth Request auth - ${stack_info}= Wait for Stack to Be Deployed auth ${STACK_NAME} - ${stack_id}= Get From Dictionary ${stack_info} id - ${server_list}= Get Openstack Servers auth - - ${vpg_unprotected_ip}= Get From Dictionary ${stack_info} vpg_private_ip_0 - ${vsn_protected_ip}= Get From Dictionary ${stack_info} vsn_private_ip_0 - ${vpg_name_0}= Get From Dictionary ${stack_info} vpg_name_0 - ${vfw_public_ip}= Get Server Ip ${server_list} ${stack_info} vfw_name_0 network_name=public - ${vpg_public_ip}= Get Server Ip ${server_list} ${stack_info} vpg_name_0 network_name=public - ${vsn_public_ip}= Get Server Ip ${server_list} ${stack_info} vsn_name_0 network_name=public - - Wait For Server ${vfw_public_ip} - Wait For Server ${vpg_public_ip} - Wait For Server ${vsn_public_ip} - Log Accessed all servers - Wait For Firewall ${vfw_public_ip} - Wait For Packet Generator ${vpg_public_ip} - Wait For Packet Sink ${vsn_public_ip} - Log All server processes up - ${vpg_oam_ip}= Get From Dictionary ${stack_info} vpg_private_ip_1 - ${appc}= Create Mount Point In APPC ${vpg_name_0} ${vpg_oam_ip} - Wait For Packets ${vpg_public_ip} ${vpg_unprotected_ip} ${vsn_protected_ip} ${vsn_public_ip} - -Wait For Packets - [Documentation] Final vfw validation that packets are flowing from the pgn VM to the snk VM - [Arguments] ${vpg_public_ip} ${vpg_unprotected_ip} ${vsn_protected_ip} ${vsn_public_ip} - ${resp}= Enable Stream ${vpg_public_ip} - Should Be Equal As Strings ${resp.status_code} 200 - ${syslog_message}= Catenate UDP: short packet: From ${vpg_unprotected_ip}:.* to ${vsn_protected_ip}:.* - Tail File on Host Until ${vsn_public_ip} UDP: /var/log/syslog ${syslog_message} timeout=120s - Disable All Streams ${vpg_public_ip} - - -Wait For Firewall - [Documentation] Wait for the defined firewall processes to come up - [Arguments] ${ip} - Wait for Process on Host ./vpp_measurement_reporter ${ip} - Wait for Process on Host vpp -c /etc/vpp/startup.conf ${ip} - -Wait For Packet Generator - [Documentation] Wait for the defined packet generator processes to come up - [Arguments] ${ip} - Wait for Process on Host vpp -c /etc/vpp/startup.conf ${ip} - Wait Until Keyword Succeeds 180s 5s Tail File on Host Until ${ip} Honeycomb /var/log/honeycomb/honeycomb.log - Honeycomb initialized options=-c +0 timeout=120s - Run Keyword And Ignore Error Wait for Process on Host run_traffic_fw_demo.sh ${ip} timeout=60s - Pkill Process On Host "/bin/bash ./run_traffic_fw_demo.sh" ${ip} - -Wait For Packet Sink - [Documentation] Wait for the defined packet sink processes to come up - [Arguments] ${ip} - Log noting to check on ${ip} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_vlb.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_vlb.robot deleted file mode 100644 index bab15648f0..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_vlb.robot +++ /dev/null @@ -1,40 +0,0 @@ -*** Settings *** -Documentation Testing openstack. -Library String -Library DNSUtils -Library Collections -Library SSHLibrary -Resource validate_common.robot - - -*** Variables *** - -*** Keywords *** -Validate vLB Stack - [Documentation] Identifies the LB and DNS servers in the vLB stack - [Arguments] ${stack_name} - Run Openstack Auth Request auth - ${stack_info}= Wait for Stack to Be Deployed auth ${stack_name} - ${stack_id}= Get From Dictionary ${stack_info} id - ${server_list}= Get Openstack Servers auth - Log Returned from Get Openstack Servers - ${vlb_public_ip}= Get Server Ip ${server_list} ${stack_info} vlb_name_0 network_name=public - Log Waiting for ${vlb_public_ip} to reconfigure - Sleep 180s - # Server validations diabled due to issues with load balancer network reconfiguration - # at startup hanging the robot scripts - Wait For vLB ${vlb_public_ip} - Log All server processes up - -Wait For vLB - [Documentation] Wait for the VLB to be functioning as a DNS - [Arguments] ${ip} - Wait Until Keyword Succeeds 300s 10s DNSTest ${ip} - Log Succeeded - -DNSTest - [Documentation] Wait for the defined VLoadBalancer to process nslookup - [Arguments] ${ip} - Log Looking up ${ip} - #${returned_ip}= Dns Request host1.dnsdemo.openecomp.org ${ip} - #Should Contain '${returned_ip}' . diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_vvg.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_vvg.robot deleted file mode 100644 index 05b1e8a53d..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/stack_validation/validate_vvg.robot +++ /dev/null @@ -1,16 +0,0 @@ -*** Settings *** -Documentation Testing openstack. -Library String -Library DNSUtils -Library Collections -Resource validate_common.robot - - -*** Variables *** - -*** Keywords *** -Validate vVG Stack - [Documentation] Validation of vVG stack (TBD) - [Arguments] ${stack_name} - Log All server processes up - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/test_templates/closedloop_test_template.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/test_templates/closedloop_test_template.robot deleted file mode 100644 index e5a5ca92f6..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/test_templates/closedloop_test_template.robot +++ /dev/null @@ -1,202 +0,0 @@ -*** Settings *** -Documentation Policy Closed Loop Test cases - -Resource ../policy_interface.robot -Resource ../stack_validation/policy_check_vfw.robot -Resource vnf_orchestration_test_template.robot -Library String -Library HttpLibrary.HTTP -LIbrary Process - -*** Variables *** -${RESOURCE_PATH_CREATE} /PyPDPServer/createPolicy -${RESOURCE_PATH_CREATE_PUSH} /PyPDPServer/pushPolicy -${RESOURCE_PATH_CREATE_DELETE} /PyPDPServer/deletePolicy -${RESOURCE_PATH_GET_CONFIG} /PyPDPServer/getConfig -${CREATE_CONFIG_TEMPLATE} robot/assets/templates/policy/closedloop_configpolicy.template -${CREATE_OPS_TEMPLATE} robot/assets/templates/policy/closedloop_opspolicy.template -${PUSH_POLICY_TEMPLATE} robot/assets/templates/policy/closedloop_pushpolicy.template -${DEL_POLICY_TEMPLATE} robot/assets/templates/policy/closedloop_deletepolicy.template -${GECONFIG_VFW_TEMPLATE} robot/assets/templates/policy/closedloop_getconfigpolicy.template - -# 'Normal' number of pg streams that will be set when policy is triggered -${VFWPOLICYRATE} 5 - -# Max nslookup requests per second before triggering event. -${VLBPOLICYRATE} 20 - -${CONFIG_POLICY_NAME} vFirewall -${CONFIG_POLICY_TYPE} Unknown -${OPS_POLICY_NAME} -${OPS_POLICY_TYPE} BRMS_PARAM - -# VFW low threshold -${Expected_Severity_1} MAJOR -${Expected_Threshold_1} 300 -${Expected_Direction_1} LESS_OR_EQUAL - -# VFW high threshold -${Expected_Severity_2} CRITICAL -${Expected_Threshold_2} 700 -${Expected_Direction_2} GREATER_OR_EQUAL - -# VDNS High threshold -${Expected_Severity_3} MAJOR -${Expected_Threshold_3} 200 -${Expected_Direction_3} GREATER_OR_EQUAL - -#********** Test Case Variables ************ -${DNSSCALINGSTACK} - -*** Keywords *** -VFW Policy - Log Suite name ${SUITE NAME} ${TEST NAME} ${PREV TEST NAME} - Initialize VFW Policy - ${stackname}= Orchestrate VNF vFW closedloop - Policy Check Firewall Stack ${stackname} ${VFWPOLICYRATE} - - -VDNS Policy - Initialize VDNS Policy - ${stackname}= Orchestrate VNF vDNS closedloop - ${dnsscaling}= Policy Check vLB Stack ${stackname} ${VLBPOLICYRATE} - Set Test Variable ${DNSSCALINGSTACK} ${dnsscaling} - -Initialize VFW Policy -# Create Config Policy -# Push Config Policy ${CONFIG_POLICY_NAME} ${CONFIG_POLICY_TYPE} -# Create Ops Policy -# Push Ops Policy ${OPS_POLICY_NAME} ${OPS_POLICY_TYPE} - Get Configs VFW Policy - -Initialize VDNS Policy - Get Configs VDNS Policy - -Get Configs VFW Policy - [Documentation] Get Config Policy for VFW - ${getconfigpolicy}= Catenate .*${CONFIG_POLICY_NAME}* - ${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy} - ${output} = Fill JSON Template File ${GECONFIG_VFW_TEMPLATE} ${configpolicy_name} - ${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output} - Should Be Equal As Strings ${get_resp.status_code} 200 - - ${json}= Parse Json ${get_resp.content} - ${config}= Parse Json ${json[0]["config"]} - - # Extract object1 from Array - ${severity}= Get Variable Value ${config["content"]["thresholds"][0]["severity"]} - Should Be Equal ${severity} ${Expected_Severity_1} - ${Thresold_Value}= Get Variable Value ${config["content"]["thresholds"][0]["thresholdValue"]} - Should Be Equal ${Thresold_Value} ${Expected_Threshold_1} - ${direction}= Get Variable Value ${config["content"]["thresholds"][0]["direction"]} - Should Be Equal ${direction} ${Expected_Direction_1} - - # Extract object2 from Array - ${severity_1}= Get Variable Value ${config["content"]["thresholds"][1]["severity"]} - Should Be Equal ${severity_1} ${Expected_Severity_2} - ${Thresold_Value_1}= Get Variable Value ${config["content"]["thresholds"][1]["thresholdValue"]} - Should Be Equal ${Thresold_Value_1} ${Expected_Threshold_2} - ${direction_1}= Get Variable Value ${config["content"]["thresholds"][1]["direction"]} - Should Be Equal ${direction_1} ${Expected_Direction_2} - -Get Configs VDNS Policy - [Documentation] Get Config Policy for VDNS - ${getconfigpolicy}= Catenate .*vLoadBalancer* - ${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy} - ${output} = Fill JSON Template File ${GECONFIG_VFW_TEMPLATE} ${configpolicy_name} - ${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output} - Should Be Equal As Strings ${get_resp.status_code} 200 - ${json}= Parse Json ${get_resp.content} - ${config}= Parse Json ${json[0]["config"]} - - # Extract object1 from Array - ${severity}= Get Variable Value ${config["content"]["thresholds"][0]["severity"]} - Should Be Equal ${severity} ${Expected_Severity_3} - ${Thresold_Value}= Get Variable Value ${config["content"]["thresholds"][0]["thresholdValue"]} - Should Be Equal ${Thresold_Value} ${Expected_Threshold_3} - ${direction}= Get Variable Value ${config["content"]["thresholds"][0]["direction"]} - Should Be Equal ${direction} ${Expected_Direction_3} - -Teardown Closed Loop - [Documentation] Tear down a closed loop test case - Terminate All Processes - Teardown VNF - Log Teardown complete - -Create Config Policy - [Documentation] Create Config Policy - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname} - ${CONFIG_POLICY_NAME}= Set Test Variable ${policyname1} - ${configpolicy}= Create Dictionary policy_name=${CONFIG_POLICY_NAME} - ${output} = Fill JSON Template File ${CREATE_CONFIG_TEMPLATE} ${configpolicy} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - - Create Policy Name - [Documentation] Generate Policy Name - [Arguments] ${prefix}=ETE_ - ${random}= Generate Random String 15 [LOWER][NUMBERS] - ${policyname}= Catenate ${prefix}${random} - [Return] ${policyname} - -Create Ops Policy - [Documentation] Create Opertional Policy - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname} - ${OPS_POLICY_NAME}= Set Test Variable ${policyname1} - ${dict}= Create Dictionary policy_name=${OPS_POLICY_NAME} - #${NEWPOLICY1}= Create Dictionary policy_name=com.${OPS_POLICY_NAME} - ${output} = Fill JSON Template File ${CREATE_OPS_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Log ${put_resp} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Push Ops Policy - [Documentation] Push Ops Policy - [Arguments] ${policyname} ${policytype} - ${dict}= Create Dictionary policy_name=${policyname} policy_type=${policytype} - ${output} = Fill JSON Template ${PUSH_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE_PUSH} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Push Config Policy - [Documentation] Push Config Policy - [Arguments] ${policyname} ${policytype} - ${dict}= Create Dictionary policy_name=${policyname} policy_type=${policytype} - ${output} = Fill JSON Template ${PUSH_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE_PUSH} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - - -Delete Config Policy - [Documentation] Delete Config Policy - [Arguments] ${policy_name} - ${policyname3}= Catenate com.Config_BRMS_Param_${policyname}.1.xml - ${dict}= Create Dictionary policy_name=${policyname3} - ${output} = Fill JSON Template ${DEL_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Delete Ops Policy - [Documentation] Delete Ops Policy - [Arguments] ${policy_name} - ${policyname3}= Catenate com.Config_MS_com.vFirewall.1.xml - ${dict}= Create Dictionary policy_name=${policyname3} - ${output} = Fill JSON Template ${DEL_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Orchestrate VNF vFW closedloop - [Documentation] VNF Orchestration for vFW - Log VNF Orchestration flow TEST NAME=${TEST NAME} - Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone - ${stack_name} ${service}= Orchestrate VNF ETE_CLP vFW vFW ${TENANT_NAME} - [Return] ${stack_name} - - Orchestrate VNF vDNS closedloop - [Documentation] VNF Orchestration for vLB - Log VNF Orchestration flow TEST NAME=${TEST NAME} - Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone - ${stack_name} ${service}= Orchestrate VNF ETE_CLP vLB vLB ${TENANT_NAME} - [Return] ${stack_name} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/test_templates/model_test_template.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/test_templates/model_test_template.robot deleted file mode 100644 index add942db76..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/test_templates/model_test_template.robot +++ /dev/null @@ -1,57 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with ASDC. It handles low level stuff like managing the http request library and DCAE required fields -Library OperatingSystem -Library ArchiveLibrary -Library Collections -Resource ../asdc_interface.robot - -Variables ../../assets/service_mappings.py - -*** Variables *** -${ASDC_BASE_PATH} /sdc1 -${ASDC_DESIGNER_PATH} /proxy-designer1#/dashboard -${ASDC_ASSETS_DIRECTORY} robot/assets/asdc -${VFW_DIRECTORY} base_vfw -${VLB_DIRECTORY} base_vlb -${VVG_DIRECTORY} base_vvg -${SCALING_DIRECTORY} dns_scaling -${ASDC_ZIP_DIRECTORY} ${ASDC_ASSETS_DIRECTORY}/temp - -#***************** Test Case Variables ********************* -${CATALOG_RESOURCE_IDS} -${CATALOG_SERVICE_ID} - -*** Keywords *** - -Model Distribution For Directory - [Arguments] ${service} ${catalog_service_name}= - ${directory_list}= Get From Dictionary ${GLOBAL_SERVICE_FOLDER_MAPPING} ${service} - ${ziplist}= Create List - :for ${directory} in @{directory_list} - \ ${zip}= Catenate ${ASDC_ZIP_DIRECTORY}/${directory}.zip - \ ${folder}= Catenate ${ASDC_ASSETS_DIRECTORY}/${directory} - \ OperatingSystem.Create Directory ${ASDC_ASSETS_DIRECTORY}/temp - \ Create Zip From Files In Directory ${folder} ${zip} - \ Append To List ${ziplist} ${zip} - ${catalog_service_name} ${catalog_resource_name} ${vf_modules} ${catalog_resource_ids} ${catalog_service_id} Distribute Model From ASDC ${ziplist} ${catalog_service_name} - Set Test Variable ${CATALOG_RESOURCE_IDS} ${catalog_resource_ids} - Set Test Variable ${CATALOG_SERVICE_ID} ${catalog_service_id} - [Return] ${catalog_service_name} ${catalog_resource_name} ${vf_modules} - - - - -Teardown Model Distribution - [Documentation] Clean up at the end of the test - Log ${CATALOG_SERVICE_ID} ${CATALOG_RESOURCE_IDS} - Teardown Models ${CATALOG_SERVICE_ID} ${CATALOG_RESOURCE_IDS} - -Teardown Models - [Documentation] Clean up at the end of the test - [Arguments] ${catalog_service_id} ${catalog_resource_ids} - Return From Keyword If '${catalog_service_id}' == '' - :for ${catalog_resource_id} in @{catalog_resource_ids} - \ ${resourece_json}= Mark ASDC Catalog Resource Inactive ${catalog_resource_id} - ${service_json}= Mark ASDC Catalog Service Inactive ${catalog_service_id} - ${services_json}= Delete Inactive ASDC Catalog Services - ${resources_json}= Delete Inactive ASDC Catalog Resources diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/test_templates/vnf_orchestration_test_template.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/test_templates/vnf_orchestration_test_template.robot deleted file mode 100644 index df1f123ce5..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/test_templates/vnf_orchestration_test_template.robot +++ /dev/null @@ -1,160 +0,0 @@ -*** Settings *** -Documentation This test template encapsulates the VNF Orchestration use case. - -Resource ../vid/create_service_instance.robot -Resource ../vid/vid_interface.robot -Resource ../aai/service_instance.robot -Resource ../vid/create_vid_vnf.robot -Resource ../vid/teardown_vid.robot -Resource ../sdngc_interface.robot -Resource model_test_template.robot - -Resource ../aai/create_customer.robot -Resource ../aai/create_tenant.robot -Resource ../aai/create_service.robot -Resource ../openstack/neutron_interface.robot -Resource ../heatbridge.robot - - -Library OpenstackLibrary -Library ExtendedSelenium2Library -Library UUID -Library Collections - - - -*** Variables *** - -#**************** TEST CASE VARIABLES ************************** -${TENANT_NAME} -${TENANT_ID} -${REGIONS} -${CUSTOMER_NAME} -${STACK_NAME} -${SERVICE} -${VVG_SERVER_ID} -${SERVICE_INSTANCE_ID} - -*** Keywords *** - -Orchestrate VNF - [Documentation] Use openECOMP to Orchestrate a service. - [Arguments] ${customer_name} ${service} ${product_family} ${tenant} - ${lcp_region}= Get Openstack Region - ${uuid}= Generate UUID - Set Test Variable ${CUSTOMER_NAME} ${customer_name}_${uuid} - Set Test Variable ${SERVICE} ${service} - ${vnf_name}= Catenate Vnf_Ete_Name${uuid} - ${service_name}= Catenate Service_Ete_Name${uuid} - ${service_type}= Set Variable ${service} - ${vf_module_name}= Catenate Vfmodule_Ete_Name${uuid} - ${service_model_type} ${vnf_type} ${vf_modules} = Model Distribution For Directory ${service} - Run Keyword If '${service}' == 'vVG' Create VVG Server ${uuid} - Create Customer For VNF ${CUSTOMER_NAME} ${CUSTOMER_NAME} INFRA ${service_type} ${GLOBAL_AAI_CLOUD_OWNER} - Setup Browser - Login To VID GUI - ${service_instance_id}= Create VID Service Instance ${customer_name} ${service_model_type} ${service} ${service_name} - Set Test Variable ${SERVICE_INSTANCE_ID} ${service_instance_id} - Validate Service Instance ${service_instance_id} ${service} ${customer_name} - Create VID VNF ${service_instance_id} ${vnf_name} ${product_family} ${lcp_region} ${tenant} ${vnf_type} - ${vf_module_type} ${closedloop_vf_module}= Preload Vnf ${service_instance_id} ${vnf_name} ${vnf_type} ${vf_module_name} ${vf_modules} ${service} ${uuid} - ${vf_module_id}= Create VID VNF module ${service_instance_id} ${vf_module_name} ${lcp_region} ${tenant} ${vf_module_type} - ${generic_vnf}= Validate Generic VNF ${vnf_name} ${vnf_type} ${service_instance_id} - VLB Closed Loop Hack ${service} ${generic_vnf} ${closedloop_vf_module} - Set Test Variable ${STACK_NAME} ${vf_module_name} - Execute Heatbridge ${vf_module_name} ${service_instance_id} ${service} - Validate VF Module ${vf_module_name} ${service} - [Return] ${vf_module_name} ${service} - - -Create Customer For VNF - [Documentation] VNF Orchestration Test setup.... - ... Create Tenant if not exists, Create Customer, Create Service and related relationships - [Arguments] ${customer_name} ${customer_id} ${customer_type} ${service_type} ${cloud_owner} - ${cloud_region_id}= Get Openstack Region - ${resp}= Create Customer ${customer_name} ${customer_id} ${customer_type} ${service_type} ${cloud_owner} ${cloud_region_id} ${TENANT_ID} - Should Be Equal As Strings ${resp} 201 - Create Service If Not Exists ${service_type} - -Setup Orchestrate VNF - [Documentation] Called before each test case to ensure tenant and region data - ... required by the Orchstrate VNF exists in A&AI - [Arguments] ${cloud_owner} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} - Initialize Tenant From Openstack - Initialize Regions From Openstack - :FOR ${region} IN @{REGIONS} - \ Inventory Tenant If Not Exists ${cloud_owner} ${region} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} ${TENANT_ID} ${TENANT_NAME} - Log Orchestrate VNF setup complete - -Initialize Tenant From Openstack - [Documentation] Initialize the tenant test variables - Run Openstack Auth Request auth - ${tenants}= Get Current Openstack Tenant auth - ${tenant_name}= Evaluate $tenants.get("name") - ${tenant_id}= Evaluate $tenants.get("id") - Set Test Variable ${TENANT_NAME} ${tenant_name} - Set Test Variable ${TENANT_ID} ${tenant_id} - -Initialize Regions From Openstack - [Documentation] Initialize the regions test variable - Run Openstack Auth Request auth - ${regs}= Get Openstack Regions auth - Set Test Variable ${REGIONS} ${regs} - -Create VVG Server - [Documentation] For the VolumeGroup test case, create a server to attach the volume group to be orchestrated. - [Arguments] ${uuid} - Run Openstack Auth Request auth - ${vvg_server_name}= Catenate vVG_${uuid} - ${server}= Add Server For Image Name auth ${vvg_server_name} ${GLOBAL_VVGSERVER_IMAGE} ${GLOBAL_VVGSERVER_FLAVOR} - ${server}= Get From Dictionary ${server} server - ${server_id}= Get From Dictionary ${server} id - Set Test Variable ${VVG_SERVER_ID} ${server_id} - ${vvg_params}= Get VVG Preload Parameters - Set To Dictionary ${vvg_params} nova_instance ${server_id} - Wait for Server to Be Active auth ${server_id} - -Get VVG Preload Parameters - [Documentation] Get preload parameters for the VVG test case so we can include - ... the nova_instance id of the attached server - ${test_dict}= Get From Dictionary ${GLOBAL_PRELOAD_PARAMETERS} Vnf-Orchestration - ${vvg_params} Get From Dictionary ${test_dict} vvg_preload.template - [Return] ${vvg_params} - -Teardown VNF - [Documentation] Called at the end of a test case to tear down the VNF created by Orchestrate VNF - ${lcp_region}= Get Openstack Region - Teardown VVG Server - Run Keyword If '${TEST STATUS}' == 'PASS' Teardown VLB Closed Loop Hack - Run Keyword If '${TEST STATUS}' == 'PASS' Teardown VID ${SERVICE_INSTANCE_ID} ${lcp_region} ${TENANT_ID} - Run Keyword If '${TEST STATUS}' == 'PASS' Teardown Model Distribution - Run Keyword If '${TEST STATUS}' == 'PASS' Clean A&AI Inventory - Close All Browsers - Log Teardown VNF implemented for successful tests only - -Teardown VVG Server - [Documentation] Teardown the server created as a place to mount the Volume Group. - Return From Keyword if '${VVG_SERVER_ID}' == '' - Delete Server auth ${VVG_SERVER_ID} - Wait for Server To Be Deleted auth ${VVG_SERVER_ID} - ${vvg_params}= Get VVG Preload Parameters - Remove from Dictionary ${vvg_params} nova_instance - Log Teardown VVG Server Completed - -Teardown Stack - [Documentation] OBSOLETE - Called at the end of a test case to tear down the Stack created by Orchestrate VNF - [Arguments] ${stack} - Run Openstack Auth Request auth - ${stack_info}= Get Stack Details auth ${stack} - Log ${stack_info} - ${stack_id}= Get From Dictionary ${stack_info} id - ${key_pair_status} ${keypair_name}= Run Keyword And Ignore Error Get From Dictionary ${stack_info} key_name - Delete Openstack Stack auth ${stack} ${stack_id} - Log Deleted ${stack} ${stack_id} - Run Keyword If '${key_pair_status}' == 'PASS' Delete Openstack Keypair auth ${keypair_name} - Teardown VLB Closed Loop Hack - -Clean A&AI Inventory - [Documentation] Clean up Tenant in A&AI, Create Customer, Create Service and related relationships - Delete Customer ${CUSTOMER_NAME} - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/create_service_instance.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/create_service_instance.robot deleted file mode 100644 index 204b7d678c..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/create_service_instance.robot +++ /dev/null @@ -1,60 +0,0 @@ -*** Settings *** -Documentation Creates VID Service Instance -... -... Creates VID Service Instance - -Library ExtendedSelenium2Library -Library UUID -Library String -Library DateTime - -Resource ../mso_interface.robot -Resource vid_interface.robot - -*** Keywords *** -Create VID Service Instance - [Documentation] Creates a service instance using VID - [Arguments] ${customer_name} ${service_model_type} ${service_type} ${service_name} - Go To VID HOME - Wait Until Keyword Succeeds 300s 1s Wait For Model ${service_model_type} - Press Key xpath=//tr[td/span/text() = '${service_model_type}']/td/button[text() = 'Deploy' and not(@disabled)] \\13 - ${uuid}= Generate UUID - Wait Until Page Contains Element xpath=//input[@parameter-name='Instance Name'] 120s - Wait Until Element Is Visible xpath=//input[@parameter-name='Instance Name'] 120s - Xpath Should Match X Times //input[@parameter-name='Instance Name'] 1 - Input Text When Enabled //input[@parameter-name='Instance Name'] ${service_name} - Select From List When Enabled //select[@prompt='Select Subscriber Name'] ${customer_name} - Select From List WHen Enabled //select[@prompt='Select Service Type'] ${service_type} - Click On Button When Enabled //div[@class = 'buttonRow']/button[text() = 'Confirm'] - Wait Until Element Contains xpath=//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] requestId timeout=120s - ${response text}= Get Text xpath=//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] - Click On Button When Enabled //div[@class = 'buttonRow']/button[text() = 'Close'] - ${request_id}= Parse Request Id ${response text} - ${service_instance_id}= Parse Instance Id ${response text} - Poll MSO Get Request ${GLOBAL_MSO_STATUS_PATH}${request_id} COMPLETE - [return] ${service_instance_id} - -Wait For Model - [Documentation] Distributed model may not yet be available. Kepp trying until it shows up. - [Arguments] ${service_model_type} - Click Element partial link=Browse SDC Service - Page Should Contain Element xpath=//div/h1[text() = 'Browse SDC Service Models'] - Wait Until Page Contains Element xpath=//button[text() = 'Deploy'] 240s - Input Text When Enabled //input[@ng-model='searchString'] ${service_model_type} - Wait Until Element Is Visible xpath=//tr[td/span/text() = '${service_model_type}']/td/button[contains(text(),'Deploy')] 10s - -Delete Service Instance By GUI - [Arguments] ${service_instance_id} ${customer_name} - Click On Element When Visible xpath=//a/span[@class='glyphicon glyphicon-remove'] - Click On Button When Visible xpath=//div[@class='buttonRow']/button[@ngx-enabled='true'] - Wait Until Element Contains xpath=//div[@ng-controller='deletionDialogController']//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] requestId timeout=120s - ${response text}= Get Text xpath=//div[@ng-controller='deletionDialogController']//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] - ${request_id}= Parse Request Id ${response text} - Poll MSO Get Request ${GLOBAL_MSO_STATUS_PATH}${request_id} COMPLETE - - -Search Service Instance - [Arguments] ${service_instance_id} ${customer_name} - Click Link xpath=//div[@heading = 'Search for Existing Service Instances']/a - Input Text When Enabled //input[@name='selectedServiceInstance'] ${service_instance_id} - Click On Button When Enabled //button[text() = 'Submit'] diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/create_vid_vnf.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/create_vid_vnf.robot deleted file mode 100644 index 7417772f39..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/create_vid_vnf.robot +++ /dev/null @@ -1,122 +0,0 @@ -*** Settings *** -Documentation Creates VID VNF Instance - -Library ExtendedSelenium2Library 60 -Library UUID -Library String -Library DateTime -Library RequestsLibrary - -Resource ../mso_interface.robot -Resource vid_interface.robot - -*** Keywords *** - -Create VID VNF - [Documentation] Creates a VNF instance using VID for passed instance id with the passed service instance name - [Arguments] ${service_instance_id} ${service_instance_name} ${product_family} ${lcp_region} ${tenant} ${vnf_type} - Go To VID HOME - Click Link xpath=//div[@heading = 'Search for Existing Service Instances']/a - Wait Until Page Contains Please search by timeout=60s - #Wait Until Page Contains Element xpath=//div[@class='statusLine aaiHidden'] timeout=60s - #Wait Until Element Is Not Visible xpath=//div[@class='statusLine aaiHidden'] timeout=60s - - # If we don't wait for this control to be enabled, the submit results in a 'not found' pop-up (UnexpectedAlertPresentException) - Input Text When Enabled //input[@name='selectedServiceInstance'] ${service_instance_id} - Click Button button=Submit - Wait Until Page Contains Element link=View/Edit timeout=60s - Click Element xpath=//a[contains(text(), 'View/Edit')] - Wait Until Page Contains View/Edit Service Instance timeout=60s - #Wait Until Page Contains Element xpath=//div[@class='statusLine aaiVisible'] timeout=120s - #Wait Until Element Is Not Visible xpath=//div[@class='statusLine aaiVisible'] timeout=60s - Click Element button=Add VNF - - # This is where firefox breaks. Th elink never becomes visible when run with the script. - Click Element link=${vnf_type} - Wait Until Page Contains Element xpath=//input[@parameter-id='instanceName'] 20s - Wait Until Element Is Enabled xpath=//input[@parameter-id='instanceName'] 20s - - ## Without this sleep, the input text below gets immediately wiped out. - ## Wait Until Angular Ready just sleeps for its timeout value - Sleep 10s - Input Text xpath=//input[@parameter-id='instanceName'] ${service_instance_name} - Select From List By Label xpath=//select[@parameter-id='productFamily'] ${product_family} - Select From List By Label xpath=//select[@parameter-id='lcpRegion'] ${lcp_region} - Select From List By Label xpath=//select[@parameter-id='tenant'] ${tenant} - Click Element button=Confirm - Wait Until Element Contains xpath=//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] Status: OK (200) timeout=120 - ${response text}= Get Text xpath=//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] - Should Not Contain ${response text} FAILED - Click Element button=Close - ${instance_id}= Parse Instance Id ${response text} - Wait Until Page Contains ${service_instance_name} 60s - [Return] ${instance_id} - -Delete VID VNF - [Arguments] ${service_instance_id} ${lcp_region} ${tenant} ${vnf_instance_id} - Go To VID HOME - Click Link xpath=//div[@heading = 'Search for Existing Service Instances']/a - Wait Until Page Contains Please search by timeout=60s - Wait Until Page Contains Element xpath=//div[@class='statusLine aaiHidden'] timeout=60s - Wait Until Element Is Not Visible xpath=//div[@class='statusLine aaiHidden'] timeout=60s - - # If we don't wait for this control to be enabled, the submit results in a 'not found' pop-up (UnexpectedAlertPresentException) - Input Text When Enabled //input[@name='selectedServiceInstance'] ${service_instance_id} - Click Button button=Submit - Wait Until Page Contains Element link=View/Edit timeout=60s - Click Element link=View/Edit - Wait Until Page Contains View/Edit Service Instance timeout=60s - Wait Until Page Contains Element xpath=//div[@class='statusLine'] timeout=120s - Wait Until Element Is Not Visible xpath=//div[@class='statusLine aaiHidden'] timeout=60s - - - - Click On Element When Visible xpath=//li/div[contains(.,'${vnf_instance_id}')]/a/span[@class='glyphicon glyphicon-remove'] timeout=120s - Select From List By Label xpath=//select[@parameter-id='lcpRegion'] ${lcp_region} - Select From List By Label xpath=//select[@parameter-id='tenant'] ${tenant} - Click Element xpath=//div[@class='buttonRow']/button[@ngx-enabled='true'] - #//*[@id="mContent"]/div/div/div/div/table/tbody/tr/td/div/div[2]/div/div[1]/div[5]/button[1] - - ${response text}= Get Text xpath=//div[@ng-controller='deletionDialogController']//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] - ${request_id}= Parse Request Id ${response text} - Poll MSO Get Request ${GLOBAL_MSO_STATUS_PATH}${request_id} COMPLETE - -Create VID VNF module - [Arguments] ${service_instance_id} ${vf_module_name} ${lcp_region} ${TENANT} ${VNF_TYPE} - Go To VID HOME - Click Link xpath=//div[@heading = 'Search for Existing Service Instances']/a - Wait Until Page Contains Please search by timeout=60s - Wait Until Page Contains Element xpath=//div[@class='statusLine aaiHidden'] timeout=60s - - # If we don't wait for this control to be enabled, the submit results in a 'not found' pop-up (UnexpectedAlertPresentException) - Input Text When Enabled //input[@name='selectedServiceInstance'] ${service_instance_id} - Click Button button=Submit - Wait Until Page Contains Element link=View/Edit timeout=60s - Click Element link=View/Edit - Wait Until Page Contains View/Edit Service Instance timeout=60s - Wait Until Page Contains Element xpath=//div[@class='statusLine'] timeout=120s - Wait Until Element Is Not Visible xpath=//div[@class='statusLine aaiHidden'] timeout=120s - Wait Until Element Is Visible button=Add VF-Module timeout=120s - Click Element button=Add VF-Module - - # This is where firefox breaks. Th elink never becomes visible when run with the script. - Click Element link=${vnf_type} - Wait Until Page Contains Element xpath=//input[@parameter-id='instanceName'] 20s - Wait Until Element Is Enabled xpath=//input[@parameter-id='instanceName'] 20s - - ## Without this sleep, the input text below gets immediately wiped out. - ## Wait Until Angular Ready just sleeps for its timeout value - Sleep 10s - Input Text xpath=//input[@parameter-id='instanceName'] ${vf_module_name} - Select From List By Label xpath=//select[@parameter-id='lcpRegion'] ${lcp_region} - Select From List By Label xpath=//select[@parameter-id='tenant'] ${tenant} - Click Element button=Confirm - Wait Until Element Contains xpath=//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] requestId timeout=120 - ${response text}= Get Text xpath=//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] - Click Element button=Close - ${instance_id}= Parse Instance Id ${response text} - - ${request_id}= Parse Request Id ${response text} - Poll MSO Get Request ${GLOBAL_MSO_STATUS_PATH}${request_id} COMPLETE - - [Return] ${instance_id}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/teardown_vid.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/teardown_vid.robot deleted file mode 100644 index 88408546d5..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/teardown_vid.robot +++ /dev/null @@ -1,91 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps -Library ExtendedSelenium2Library -Library Collections -Library String -Library StringTemplater -Library UUID -Resource vid_interface.robot -Resource create_vid_vnf.robot -Resource create_service_instance.robot - -*** Variables *** -${VID_ENV} /vid -${VID_SERVICE_MODELS_SEARCH_CUST} ${GLOBAL_VID_SERVER}${VID_ENV}/serviceModels.htm#/instances/subdetails?selectedSubscriber=\${customer_id} -${VID_SERVICE_MODELS_SEARCH_URL} ${GLOBAL_VID_SERVER}${VID_ENV}/serviceModels.htm#/instances/services -*** Keywords *** - -Teardown VID - [Documentation] Teardown the VID This assumes that the any runnign stacks have been torn down - [Arguments] ${service_instance_id} ${lcp_region} ${tenant} - Return From Keyword If len('${service_instance_id}') == 0 - # Keep going to the VID service instance until we get the pop-up alert that there is no service instance - Wait Until Keyword Succeeds 300s 1s Delete VID ${service_instance_id} ${lcp_region} ${tenant} - - -Delete VID - [Documentation] Teardown the next VID entity that has a Remove icon. - [Arguments] ${service_instance_id} ${lcp_region} ${tenant} - # For vLB closed loop, we may have 2 vf modules and the vDNS one needs to be removed first. - ${remove_order}= Create List vDNS_Ete Vfmodule_Ete - - # FAIL status is returned in ${vfmodule} because FAIL are ignored during teardown - ${status} ${vfmodule}= Run Keyword and Ignore Error Delete Next VID Entity ${service_instance_id} ${lcp_region} ${tenant} ${remove_order} - Return From Keyword If '${status}' == 'FAIL' - Return From Keyword If '${vfmodule}' == 'FAIL' - # After tearing down a VF module, execute the reverse HB for it to remove the references from A&AI - Run Keyword If 'Vfmodule_Ete' in '${vfmodule}' Execute Reverse Heatbridge - Fail Continue with Next Remove - -Delete Next VID Entity - [Documentation] Teardown the next VID entity that has a Remove icon. - [Arguments] ${service_instance_id} ${lcp_region} ${tenant} ${remove_order} - ${vfmodule}= Catenate - Go To ${VID_SERVICE_MODELS_SEARCH_URL} - Wait Until Page Contains Please search by timeout=60s - Wait Until Page Contains Element xpath=//div[@class='statusLine aaiHidden'] timeout=60s - Wait Until Element Is Not Visible xpath=//div[@class='statusLine aaiHidden'] timeout=60s - - # If we don't wait for this control to be enabled, the submit results in a 'not found' pop-up (UnexpectedAlertPresentException) - Input Text When Enabled //input[@name='selectedServiceInstance'] ${service_instance_id} - - # When Handle alert detects a pop-up. it will return FAIL and we are done - # Return from Keyword is required because FAIL is inored during teardown - ${status} ${value} Run Keyword And Ignore Error Handle Alert - Return From Keyword If '${status}' == 'FAIL' ${status} - ${status} ${value} Run Keyword And Ignore Error Wait Until Page Contains Element link=View/Edit timeout=60s - Return From Keyword If '${status}' == 'FAIL' ${status} - - - Click Element link=View/Edit - Wait Until Page Contains View/Edit Service Instance timeout=60s - Wait Until Element Is Visible xpath=//a/span[@class='glyphicon glyphicon-remove'] timeout=120s - - :for ${remove_first} in @{remove_order} - \ ${remove_xpath}= Set Variable //li/div[contains(.,'${remove_first}')]/a/span[@class='glyphicon glyphicon-remove'] - \ ${status} ${data}= Run Keyword And Ignore Error Page Should Contain Element xpath=${remove_xpath} - \ Exit For Loop If '${status}' == 'PASS' - \ ${remove_xpath}= Set Variable //li/div/a/span[@class='glyphicon glyphicon-remove'] - Click On Element When Visible xpath=${remove_xpath} - - ${status} ${value}= Run Keyword and Ignore Error Wait Until Page Contains Element xpath=//select[@parameter-id='lcpRegion'] - Run Keyword If '${status}'=='PASS' Select From List By Label xpath=//select[@parameter-id='lcpRegion'] ${lcp_region} - Run Keyword If '${status}'=='PASS' Select From List By Label xpath=//select[@parameter-id='tenant'] ${tenant} - ${status} ${vfmodule}= Run Keyword And Ignore Error Get Text xpath=//td[contains(text(), 'Vf Module Name')]/../td[2] - Click Element xpath=//div[@class='buttonRow']/button[@ngx-enabled='true'] - #//*[@id="mContent"]/div/div/div/div/table/tbody/tr/td/div/div[2]/div/div[1]/div[5]/button[1] - Wait Until Page Contains 100 % 300s - ${response text}= Get Text xpath=//div[@ng-controller='deletionDialogController']//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] - ${request_id}= Parse Request Id ${response text} - Click Element xpath=//div[@class='ng-scope']/div[@class = 'buttonRow']/button[text() = 'Close'] - Poll MSO Get Request ${GLOBAL_MSO_STATUS_PATH}${request_id} COMPLETE - [Return] ${vfmodule} - -Handle Alert - [Documentation] When service instance has been deleted, an alert will be triggered on the search to end the loop - ... The various Alert keywords did not prevent the alert exception on the Click ELement, hence this roundabout way of handling the alert - Run Keyword And Ignore Error Click Element button=Submit - ${status} ${t}= Run Keyword And Ignore Error Get Alert Message - Return From Keyword If '${status}' == 'FAIL' - Fail ${t} -
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/vid_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/vid_interface.robot deleted file mode 100644 index 78b81484c8..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/vid/vid_interface.robot +++ /dev/null @@ -1,101 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps -Library ExtendedSelenium2Library -Library Collections -Library String -Library RequestsLibrary -Library UUID -Resource ../global_properties.robot -Resource ../browser_setup.robot - -*** Variables *** -${VID_ENV} /vid -${VID_LOGIN_URL} ${GLOBAL_VID_SERVER}${VID_ENV}/login_external.htm -${VID_HEALTHCHECK_PATH} ${VID_ENV}/api/users -${VID_HOME_URL} ${GLOBAL_VID_SERVER}${VID_ENV}/vidhome.htm - -*** Keywords *** -Run VID Health Check - [Documentation] Logs in to VID GUI - ${resp}= Run VID Get Request ${VID_HEALTHCHECK_PATH} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be String ${resp.json()[0]['loginId']} - -Run VID Get Request - [Documentation] Runs an VID get request - [Arguments] ${data_path} - ${auth}= Create List ${GLOBAL_VID_HEALTH_USERNAME} ${GLOBAL_VID_HEALTH_PASSWORD} - Log Creating session ${GLOBAL_VID_SERVER} - ${session}= Create Session vid ${GLOBAL_VID_SERVER} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary username=${GLOBAL_VID_HEALTH_USERNAME} password=${GLOBAL_VID_HEALTH_PASSWORD} Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Get Request vid ${data_path} headers=${headers} - Log Received response from vid ${resp.text} - [Return] ${resp} - -Login To VID GUI - [Documentation] Logs in to VID GUI - # Setup Browser Now being managed by test case - ##Setup Browser - Go To ${VID_LOGIN_URL} - Maximize Browser Window - Set Selenium Speed ${GLOBAL_SELENIUM_DELAY} - Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} - Log Logging in to ${GLOBAL_VID_SERVER}${VID_ENV} - Handle Proxy Warning - Title Should Be VID Login - Input Text xpath=//input[@ng-model='loginId'] ${GLOBAL_VID_USERNAME} - Input Password xpath=//input[@ng-model='password'] ${GLOBAL_VID_PASSWORD} - Click Button xpath=//input[@id='loginBtn'] - Wait Until Page Contains Element xpath=//div[@class='applicationWindow'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - Log Logged in to ${GLOBAL_VID_SERVER}${VID_ENV} - -Go To VID HOME - [Documentation] Naviage to VID Home - Go To ${VID_HOME_URL} - Wait Until Page Contains Element xpath=//div[@class='applicationWindow'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - -Click On Button When Enabled - [Arguments] ${xpath} ${timeout}=60s - Wait Until Page Contains Element xpath=${xpath} ${timeout} - Wait Until Element Is Enabled xpath=${xpath} ${timeout} - Click Button xpath=${xpath} - -Click On Button When Visible - [Arguments] ${xpath} ${timeout}=60s - Wait Until Page Contains Element xpath=${xpath} ${timeout} - Wait Until Element Is Visible xpath=${xpath} ${timeout} - Click Button xpath=${xpath} - -Click On Element When Visible - [Arguments] ${xpath} ${timeout}=60s - Wait Until Page Contains Element xpath=${xpath} ${timeout} - Wait Until Element Is Visible xpath=${xpath} ${timeout} - Click Element xpath=${xpath} - -Select From List When Enabled - [Arguments] ${xpath} ${value} ${timeout}=60s - Wait Until Page Contains Element xpath=${xpath} ${timeout} - Wait Until Element Is Enabled xpath=${xpath} ${timeout} - Select From List xpath=${xpath} ${value} - -Input Text When Enabled - [Arguments] ${xpath} ${value} ${timeout}=60s - Wait Until Page Contains Element xpath=${xpath} ${timeout} - Wait Until Element Is Enabled xpath=${xpath} ${timeout} - Input Text xpath=${xpath} ${value} - -Parse Request Id - [Arguments] ${mso_response_text} - ${request_list}= Split String ${mso_response_text} 202)\n 1 - ${clean_string}= Replace String ${request_list[1]} \n ${empty} - ${json}= To Json ${clean_string} - ${request_id}= Catenate ${json['requestReferences']['requestId']} - [Return] ${request_id} - -Parse Instance Id - [Arguments] ${mso_response_text} - ${request_list}= Split String ${mso_response_text} 202)\n 1 - ${json}= To Json ${request_list[1]} - ${request_id}= Catenate ${json['requestReferences']['instanceId']} - [Return] ${request_id}
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/closed-loop.robot b/kubernetes/config/docker/init/src/config/robot/robot/testsuites/closed-loop.robot deleted file mode 100644 index e36be8945e..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/closed-loop.robot +++ /dev/null @@ -1,15 +0,0 @@ -*** Settings *** -Documentation Closed Loop Test cases - -Resource ../resources/test_templates/closedloop_test_template.robot - -Test Teardown Teardown Closed Loop - -*** Test Cases *** - -VFW Closed Loop Test - [TAGS] ete closedloop - VFW Policy -VDNS Closed Loop Test - [TAGS] ete closedloop - VDNS Policy
\ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/demo.robot b/kubernetes/config/docker/init/src/config/robot/robot/testsuites/demo.robot deleted file mode 100644 index f5788d506a..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/demo.robot +++ /dev/null @@ -1,43 +0,0 @@ -*** Settings *** -Documentation Executes the VNF Orchestration Test cases including setup and teardown -... -Library Collections -Resource ../resources/demo_preload.robot -*** Variables *** - -${VNF_NAME} DemoVNF -${MODULE_NAME} DemoModuleName - -*** Test Cases *** -Initialize Customer And Models - [Tags] InitDemo - Load Customer And Models Demonstration - -Initialize Customer - [Tags] InitCustomer - Load Customer Demonstration - -Initialize Models - [Tags] InitDistribution - Load Models Demonstration - -Preload VNF - [Tags] PreloadDemo - Preload User Model ${VNF_NAME} ${MODULE_NAME} - -Create APPC Mount Point - [Tags] APPCMountPointDemo - APPC Mount Point ${MODULE_NAME} - -Instantiate VFW - [Tags] instantiateVFW - Instantiate VNF vFW - -Delete Instantiated VNF - [Documentation] This test assumes all necessary variables are loaded via the variable file create in Save For Delete - ... The Teardown VNF needs to be in the teardown step of the test case... - [Tags] deleteVNF - Setup Browser - Login To VID GUI - [Teardown] Teardown VNF - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/health-check.robot b/kubernetes/config/docker/init/src/config/robot/robot/testsuites/health-check.robot deleted file mode 100644 index d27c38e555..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/health-check.robot +++ /dev/null @@ -1,57 +0,0 @@ -*** Settings *** -Documentation Testing ecomp components are available via calls. -... -... Testing ecomp components are available via calls. - -Resource ../resources/dcae_interface.robot -Resource ../resources/sdngc_interface.robot -Resource ../resources/aai/aai_interface.robot -Resource ../resources/vid/vid_interface.robot -Resource ../resources/policy_interface.robot -Resource ../resources/mso_interface.robot -Resource ../resources/asdc_interface.robot -Resource ../resources/appc_interface.robot -Resource ../resources/portal_interface.robot -Resource ../resources/mr_interface.robot -Resource ../resources/aaf_interface.robot - -*** Test Cases *** -Basic DCAE Health Check - [Tags] health - Run DCAE Health Check - -Basic SDNGC Health Check - [Tags] health - Run SDNGC Health Check - -Basic A&AI Health Check - [Tags] health - Run A&AI Health Check - -Basic Policy Health Check - [Tags] health - Run Policy Health Check - -Basic MSO Health Check - [Tags] health - Run MSO Health Check - -Basic ASDC Health Check - [Tags] health - Run ASDC Health Check - -Basic APPC Health Check - [Tags] health - Run APPC Health Check - -Basic Portal Health Check - [Tags] health - Run Portal Health Check - -Basic Message Router Health Check - [Tags] health - Run MR Health Check - -Basic VID Health Check - [Tags] health - Run VID Health Check diff --git a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/model-distribution.robot b/kubernetes/config/docker/init/src/config/robot/robot/testsuites/model-distribution.robot deleted file mode 100644 index f1ce407ce7..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/model-distribution.robot +++ /dev/null @@ -1,22 +0,0 @@ -*** Settings *** -Documentation Testing asdc. -Library OperatingSystem -Library RequestsLibrary -Library Collections -Library UUID -Library ExtendedSelenium2Library -Resource ../resources/test_templates/model_test_template.robot - -Test Template Model Distribution For Directory -Test Teardown Teardown Model Distribution - -*** Variables *** - -*** Test Cases *** -Distribute vLB Model vLB - [Tags] ete distribute -Distribute vFW Model vFW - [Tags] ete distribute -Distribute vVG Model vVG - [Tags] ete distribute - diff --git a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/update_onap_page.robot b/kubernetes/config/docker/init/src/config/robot/robot/testsuites/update_onap_page.robot deleted file mode 100644 index b0a7410f9d..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/update_onap_page.robot +++ /dev/null @@ -1,92 +0,0 @@ -*** Settings *** -Documentation Initializes ONAP Test Web Page and Password - -Library Collections -Library OperatingSystem -Library StringTemplater -Resource ../resources/openstack/keystone_interface.robot -Resource ../resources/openstack/nova_interface.robot - - -Test Timeout 1 minutes - -*** Variables *** -${URLS_HTML_TEMPLATE} robot/assets/templates/web/index.html.template - - -${WEB_USER} test -${WEB_PASSWORD} - -${URLS_HTML} html/index.html -${CREDENTIALS_FILE} /etc/lighttpd/authorization -#${CREDENTIALS_FILE} authorization - -*** Test Cases *** -Update ONAP Page - [Tags] UpdateWebPage - Run Keyword If '${WEB_PASSWORD}' == '' Fail "WEB Password must not be empty" - Run Openstack Auth Request auth - ${server_map}= Get Openstack Servers auth - ${oam_ip_map}= Create Dictionary - Set To Dictionary ${oam_ip_map} 10.0.0.1=onapdns - Set To Dictionary ${oam_ip_map} aai-service.onap-aai=aai - Set To Dictionary ${oam_ip_map} sdnhost.onap-appc=appc - Set To Dictionary ${oam_ip_map} 10.0.3.1=sdc - Set To Dictionary ${oam_ip_map} 10.0.4.1=dcae_controller - Set To Dictionary ${oam_ip_map} 10.0.4.105=dcae_cdap - Set To Dictionary ${oam_ip_map} 10.0.4.102=dcae_coll - Set To Dictionary ${oam_ip_map} mso.onap-mso=mso - Set To Dictionary ${oam_ip_map} drools.onap-policy=policy - Set To Dictionary ${oam_ip_map} sdnhost.onap-sdnc=sdnc - Set To Dictionary ${oam_ip_map} vid-server.onap-vid=vid - Set To Dictionary ${oam_ip_map} portalapps.onap-portal=portal - Set To Dictionary ${oam_ip_map} robot-openecompete.onap-robot=robot - Set To Dictionary ${oam_ip_map} dmaap.onap-message-router=message_router - - ${values}= Create Dictionary - ${keys}= Get Dictionary Keys ${oam_ip_map} - :for ${oam_ip} in @{keys} - \ ${value_name}= Get From Dictionary ${oam_ip_map} ${oam_ip} - \ Set Public Ip ${server_map} ${oam_ip} ${value_name} ${values} - Log ${values} - Run Keyword If '${WEB_PASSWORD}' != '' Create File ${CREDENTIALS_FILE} ${WEB_USER}:${WEB_PASSWORD} - Create File From Template ${URLS_HTML_TEMPLATE} ${URLS_HTML} ${values} - -*** Keywords *** -Create File From Template - [Arguments] ${template} ${file} ${values} - ${data} OperatingSystem.Get File ${template} - ${data}= Template String ${data} ${values} - Create File ${file} ${data} - -Set Public Ip - [Arguments] ${server_map} ${oam_ip} ${value_name} ${values} - ${status} ${public_ip}= Run Keyword And Ignore Error Get Public Ip ${server_map} ${oam_ip} - ${public_ip}= Set Variable If '${status}' == 'PASS' ${public_ip} ${oam_ip} - Set To Dictionary ${values} ${value_name} ${public_ip} - -Get Public Ip - [Arguments] ${server_map} ${oam_ip} - ${servers} Get Dictionary Values ${server_map} - :for ${server} in @{servers} - \ ${status} ${public_ip} Run Keyword And Ignore Error Search Addresses ${server} ${oam_ip} - \ Return From Keyword If '${status}' == 'PASS' ${public_ip} - Fail ${oam_ip} Server Not Found - -Search Addresses - [Arguments] ${server} ${oam_ip} - ${addresses} Get From Dictionary ${server} addresses - ${public_ips} Get From Dictionary ${addresses} public - ${public_ip}= Get V4 IP ${public_ips} - ${oam_ips} Get From Dictionary ${addresses} ${GLOBAL_VM_PROPERTIES['network']} - ${this_oam_ip}= Get V4 IP ${oam_ips} - Return From Keyword If '${this_oam_ip}' == '${oam_ip}' ${public_ip} - Fail ${oam_ip} Server Not Found - -Get V4 IP - [Arguments] ${ipmaps} - :for ${ipmap} in @{ipmaps} - \ ${ip} Get From Dictionary ${ipmap} addr - \ ${version} Get From Dictionary ${ipmap} version - \ Return from Keyword if '${version}' == '4' ${ip} - Fail No Version 4 IP diff --git a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/vnf-orchestration.robot b/kubernetes/config/docker/init/src/config/robot/robot/testsuites/vnf-orchestration.robot deleted file mode 100644 index 48f3964cf5..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/testsuites/vnf-orchestration.robot +++ /dev/null @@ -1,22 +0,0 @@ -*** Settings *** -Documentation Executes the VNF Orchestration Test cases including setup and teardown -... - -Resource ../resources/test_templates/vnf_orchestration_test_template.robot - -Test Setup Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone -Test Template Orchestrate VNF -Test Teardown Teardown VNF - -*** Test Cases *** CUSTOMER SERVICE PRODUCT_FAMILY TENANT -Instantiate Virtual Firewall ETE_Customer vFW vFW ${TENANT_NAME} - [Tags] ete instantiate -Instantiate Virtual DNS ETE_Customer vLB vLB ${TENANT_NAME} - [Tags] ete instantiate -Instantiate Virtual Volume Group ETE_Customer vVG vVG ${TENANT_NAME} - [Tags] ete instantiate - - - - - diff --git a/kubernetes/config/docker/init/src/config/sdnc/conf/aaiclient.properties b/kubernetes/config/docker/init/src/config/sdnc/conf/aaiclient.properties index cacba366fe..fbd74d5499 100755 --- a/kubernetes/config/docker/init/src/config/sdnc/conf/aaiclient.properties +++ b/kubernetes/config/docker/init/src/config/sdnc/conf/aaiclient.properties @@ -2,15 +2,15 @@ # ============LICENSE_START======================================================= # openECOMP : SDN-C # ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights +# Copyright (C) 2017 ONAP Intellectual Property. All rights # reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -30,215 +30,56 @@ org.openecomp.sdnc.sli.aai.ssl.trust=/opt/openecomp/sdnc/data/stores/truststore. org.openecomp.sdnc.sli.aai.ssl.trust.psswd=adminadmin org.openecomp.sdnc.sli.aai.host.certificate.ignore=true -org.openecomp.sdnc.sli.aai.client.name=SDNC -org.openecomp.sdnc.sli.aai.client.psswd=SDNC +org.openecomp.sdnc.sli.aai.client.name=ONAP +org.openecomp.sdnc.sli.aai.client.psswd=ONAP -org.openecomp.sdnc.sli.aai.application=openECOMP -#connection.timeout=1000 -#read.timeout=2000 +org.openecomp.sdnc.sli.aai.application=ONAP # # Configuration file for A&AI Client # org.openecomp.sdnc.sli.aai.uri=https://aai-service.onap-aai:8443 - +connection.timeout=60000 +read.timeout=60000 # query -org.openecomp.sdnc.sli.aai.path.query=/aai/v8/search/sdn-zone-query -org.openecomp.sdnc.sli.aai.query.nodes=/aai/v8/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name} -org.openecomp.sdnc.sli.aai.query.generic=/aai/v8/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3 +org.openecomp.sdnc.sli.aai.path.query=/aai/v11/search/sdn-zone-query +org.openecomp.sdnc.sli.aai.query.nodes=/aai/v11/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name} +org.openecomp.sdnc.sli.aai.query.generic=/aai/v11/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3 # named query org.openecomp.sdnc.sli.aai.query.named=/aai/search/named-query - #update -org.openecomp.sdnc.sli.aai.update=/aai/v8/actions/update - -# vce -org.openecomp.sdnc.sli.aai.path.vce =/aai/v8/network/vces/vce/ -org.openecomp.sdnc.sli.aai.path.vces=/aai/v8/network/vces/ - -# vpe -org.openecomp.sdnc.sli.aai.path.vpe =/aai/v8/network/vpes/vpe/ -org.openecomp.sdnc.sli.aai.path.vpes=/aai/v8/network/vpes/ - -# customer -org.openecomp.sdnc.sli.aai.path.customer=/aai/v8/business/customers/customer/{customer-id} - -# service subscription -org.openecomp.sdnc.sli.aai.path.service.subscription=/aai/v8/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type} - -# service instance -org.openecomp.sdnc.sli.aai.path.svcinst=/aai/v8/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances -org.openecomp.sdnc.sli.aai.path.svcinst.query=/aai/v8/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance -org.openecomp.sdnc.sli.aai.path.service.instance=/aai/v8/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id} - -# complex -org.openecomp.sdnc.sli.aai.path.complexes=/aai/v8/cloud-infrastructure/complexes -org.openecomp.sdnc.sli.aai.path.complex=/aai/v8/cloud-infrastructure/complexes/complex/{physical-location-id} - -# tenant -org.openecomp.sdnc.sli.aai.path.tenant=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id} -org.openecomp.sdnc.sli.aai.path.tenant.query=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant?tenant-name={tenant-name} - -# vservers -org.openecomp.sdnc.sli.aai.path.vservers=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/ -org.openecomp.sdnc.sli.aai.path.vserver=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id} - -# vpls-pe -org.openecomp.sdnc.sli.aai.path.vpls.pes=/aai/v8/network/vpls-pes/ -org.openecomp.sdnc.sli.aai.path.vpls.pe =/aai/v8/network/vpls-pes/vpls-pe/ +org.openecomp.sdnc.sli.aai.update=/aai/v11/actions/update -# ctag-pool -org.openecomp.sdnc.sli.aai.path.ctag.pools=/aai/v8/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools -org.openecomp.sdnc.sli.aai.path.ctag.pool=/aai/v8/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name} - -# -#-------------- 1510 ---------------------- -# - -# pservers -org.openecomp.sdnc.sli.aai.path.pservers=/aai/v8/cloud-infrastructure/pservers -org.openecomp.sdnc.sli.aai.path.pserver=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname} - -# generic-vnf -org.openecomp.sdnc.sli.aai.path.generic.vnfs=/aai/v8/network/generic-vnfs -org.openecomp.sdnc.sli.aai.path.generic.vnf=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id} - -# dvs-switch -org.openecomp.sdnc.sli.aai.path.dvsswitches=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches -org.openecomp.sdnc.sli.aai.path.dvsswitch=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name} - -# L3 Networks -org.openecomp.sdnc.sli.aai.path.l3networks=/aai/v8/network/l3-networks -org.openecomp.sdnc.sli.aai.path.l3network=/aai/v8/network/l3-networks/l3-network/{network-id} -org.openecomp.sdnc.sli.aai.path.l3network.query.name=/aai/v8/network/l3-networks/l3-network?network-name={network-name} +# UBB Notify +org.openecomp.sdnc.sli.aai.path.notify=/aai/v11/actions/notify +org.openecomp.sdnc.sli.aai.notify.selflink.fqdn=<%= @ubbUri %>/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id} +org.openecomp.sdnc.sli.aai.notify.selflink.avpn=<%= @ubbUri %>/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information # P-Interfaces -org.openecomp.sdnc.sli.aai.path.pserver.pinterfaces=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces -org.openecomp.sdnc.sli.aai.path.pserver.pinterface=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name} - -# Physical Link -org.openecomp.sdnc.sli.aai.path.physical.links=/aai/v8/network/physical-links -org.openecomp.sdnc.sli.aai.path.physical.link=/aai/v8/network/physical-links/physical-link/{link-name} - -# VPN Bindings -org.openecomp.sdnc.sli.aai.path.vpn.bindings=/aai/v8/network/vpn-bindings/ -org.openecomp.sdnc.sli.aai.path.vpn.binding=/aai/v8/network/vpn-bindings/vpn-binding/{vpn-id} - -# VNF IMAGES -org.openecomp.sdnc.sli.aai.path.vnf.images=/aai/v8/service-design-and-creation/vnf-images -org.openecomp.sdnc.sli.aai.path.vnf.image=/aai/v8/service-design-and-creation/vnf-images/vnf-image/{att-uuid} -org.openecomp.sdnc.sli.aai.path.vnf.image.query=/aai/v8/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor} - -# UBB Notify -org.openecomp.sdnc.sli.aai.path.notify=/aai/v8/actions/notify -org.openecomp.sdnc.sli.aai.notify.selflink.fqdn=https://aai-service.onap-aai:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id} -org.openecomp.sdnc.sli.aai.notify.selflink.avpn=https://aai-service.onap-aai:8543/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information +org.openecomp.sdnc.sli.aai.path.pserver.pinterfaces=/aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces +org.openecomp.sdnc.sli.aai.path.pserver.pinterface=/aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name} # Service -org.openecomp.sdnc.sli.aai.path.service=/aai/v8/service-design-and-creation/services/service/{service-id} -org.openecomp.sdnc.sli.aai.path.services=/aai/v8/service-design-and-creation/services - +org.openecomp.sdnc.sli.aai.path.service=/aai/v11/service-design-and-creation/services/service/{service-id} +org.openecomp.sdnc.sli.aai.path.services=/aai/v11/service-design-and-creation/services -# -#-------------- 1604 ---------------------- -# - -# VNFC -org.openecomp.sdnc.sli.aai.path.vnfc=/aai/v8/network/vnfcs/vnfc/{vnfc-name} - -# class-of-service -org.openecomp.sdnc.sli.aai.path.class.of.service=/aai/v8/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}/classes-of-service/class-of-service/{cos-id} - -# site-pair -org.openecomp.sdnc.sli.aai.path.site.pair=/aai/v8/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id} - -# routing-instance -org.openecomp.sdnc.sli.aai.path.routing.instance=/aai/v8/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id} +# service instance +org.openecomp.sdnc.sli.aai.path.svcinst=/aai/v11/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances +org.openecomp.sdnc.sli.aai.path.svcinst.query=/aai/v11/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance +org.openecomp.sdnc.sli.aai.path.service.instance=/aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id} # site-pair-set -org.openecomp.sdnc.sli.aai.path.site.pair.set=/aai/v8/network/site-pair-sets/site-pair-set/{site-pair-set-id} - -# license key resource -org.openecomp.sdnc.sli.aai.path.license.acquire=/aai/v8/actions/assignment/license-management/assignment-group-uuid/{assignment-group-uuid} -org.openecomp.sdnc.sli.aai.path.license=/aai/v8/license-management/license-key-resources/license-key-resource/{att-uuid} - -# logical-link -org.openecomp.sdnc.sli.aai.path.logical.link =/aai/v8/network/logical-links/logical-link/{link-name} - -# virtual-data-center -org.openecomp.sdnc.sli.aai.path.virtual.data.center=/aai/v8/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id} - -# wan-connector -org.openecomp.sdnc.sli.aai.path.wan.connector=/aai/v8/business/connectors/connector/{resource-instance-id} - -# l-interface -org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} -org.openecomp.sdnc.sli.aai.path.p.interface.l.interface=/aai/v8/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} - -# l-interface pnf -org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface.pnf=/aai/v8/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} -org.openecomp.sdnc.sli.aai.path.p.interface.l.interface.pnf=/aai/v8/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} - -# subinterface -org.openecomp.sdnc.sli.aai.path.pnf.lag.interface.subinterface=/aai/v8/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} -org.openecomp.sdnc.sli.aai.path.pnf.p.interface.l.interface=/aai/v8/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} - -# vlans -org.openecomp.sdnc.sli.aai.path.vlan=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -org.openecomp.sdnc.sli.aai.path.generic.vnf.vlan=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} - -# l3-interface-ipv4-address-list -org.openecomp.sdnc.sli.aai.path.l3.interface.ipv4.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -org.openecomp.sdnc.sli.aai.path.vlan.l3.interface.ipv4.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +org.openecomp.sdnc.sli.aai.path.site.pair.set=/aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id} -# l3-interface-ipv6-address-list -org.openecomp.sdnc.sli.aai.path.l3.interface.ipv6.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -org.openecomp.sdnc.sli.aai.path.vlan.l3.interface.ipv6.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +# VNF IMAGES QUERY +org.openecomp.sdnc.sli.aai.path.vnf.image.query=/aai/v11/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor} -# ipsec-configuration -org.openecomp.sdnc.sli.aai.path.ipsec.configuration=/aai/v8/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id} - -# vig server -org.openecomp.sdnc.sli.aai.path.vig.server=/aai/v8/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}/vig-servers/vig-server/{vig-address-type} - -# l3-network -org.openecomp.sdnc.sli.aai.path.l3.network=/aai/v8/network/l3-networks/l3-network/{network-id} - -# subnet -org.openecomp.sdnc.sli.aai.path.subnet=/aai/v8/network/l3-networks/l3-network/{network-id}/subnets/subnet/{subnet-id} - -# multicast-configuration -org.openecomp.sdnc.sli.aai.path.multicast.configuration=/aai/v8/network/multicast-configurations/multicast-configuration/{multicast-configuration-id} - -# org.openecomp.sdnc.sli.aai.path.l.interface.ipv4.address.list -org.openecomp.sdnc.sli.aai.path.l3-interface.ipv4.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - -# org.openecomp.sdnc.sli.aai.path.l.interface.vlan.ipv4.address.list -org.openecomp.sdnc.sli.aai.path.l3-interface.vlan.ipv4.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - -# org.openecomp.sdnc.sli.aai.path.l.interface.ipv6.address.list -org.openecomp.sdnc.sli.aai.path.l3-interface.ipv6.address.list=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - -# volume.group -org.openecomp.sdnc.sli.aai.path.volume.group=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/volume-groups/volume-group/{volume-group-id} - -#cloud region -org.openecomp.sdnc.sli.aai.path.cloud.region=/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id} - -# vf-module -org.openecomp.sdnc.sli.aai.path.vf.module=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/vf-modules/vf-module/{vf-module-id} - -# l-interface through generic-vnf -org.openecomp.sdnc.sli.aai.path.generic.vnf.linterface=/aai/v8/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name} - -# network-policy -org.openecomp.sdnc.sli.aai.path.network.policy=/aai/v8/network/network-policies/network-policy/{network-policy-id} - -# pnf -org.openecomp.sdnc.sli.aai.path.pnf=/aai/v8/network/pnfs/pnf/{pnf-name} +# vservers +org.openecomp.sdnc.sli.aai.path.vservers=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/ +org.openecomp.sdnc.sli.aai.path.vserver=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id} # # Formatting diff --git a/kubernetes/config/docker/init/src/config/sdnc/conf/admportal.log4js.json b/kubernetes/config/docker/init/src/config/sdnc/conf/admportal.log4js.json deleted file mode 100755 index 1dcb699e2d..0000000000 --- a/kubernetes/config/docker/init/src/config/sdnc/conf/admportal.log4js.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "appenders": [ - { - "category": "accesslog", - "type" : "dateFile", - "absolute": true, - "filename": "/opt/admportal/logs/accesslog.rp", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "usertrace", - "type" : "file", - "absolute" : true, - "filename" : "/opt/admportal/logs/usertrace.log" - }, - { - "category": "tracelog", - "type" : "dateFile", - "absolute": true, - "filename": "/opt/admportal/logs/tracelog.log", - "pattern": "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "eipam", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/eipam.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "instar", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/instar.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "app", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/app.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "csp", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/csp.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "db", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/db.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "admin", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/admin.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "resalloc", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/resalloc.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "logs", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/applogs.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "sla", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/sla.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "gamma", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/gamma.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "odl", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/odl.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "mobility", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/mobility.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "ucpe", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/ucpe.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - }, - { - "category" : "user", - "type" : "dateFile", - "absolute" : true, - "filename" : "/opt/admportal/logs/user.log", - "pattern" : "-yyyy-MM-dd", - "alwaysIncludePattern": true, - "backups" : 14 - } - ] -} diff --git a/kubernetes/config/docker/init/src/config/sdnc/conf/dblib.properties b/kubernetes/config/docker/init/src/config/sdnc/conf/dblib.properties deleted file mode 100755 index 0e79befdad..0000000000 --- a/kubernetes/config/docker/init/src/config/sdnc/conf/dblib.properties +++ /dev/null @@ -1,37 +0,0 @@ -### -# ============LICENSE_START======================================================= -# openECOMP : SDN-C -# ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights -# reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -### - -# dblib.properrties -org.openecomp.sdnc.sli.dbtype=jdbc - -org.openecomp.sdnc.sli.jdbc.hosts=sdnctldb01 -org.openecomp.sdnc.sli.jdbc.url=jdbc:mysql://dbhost:3306/sdnctl -org.openecomp.sdnc.sli.jdbc.database=sdnctl -org.openecomp.sdnc.sli.jdbc.user=sdnctl -org.openecomp.sdnc.sli.jdbc.password=gamma -org.openecomp.sdnc.sli.jdbc.connection.name=sdnctldb01 -org.openecomp.sdnc.sli.jdbc.connection.timeout=50 -org.openecomp.sdnc.sli.jdbc.request.timeout=100 -org.openecomp.sdnc.sli.jdbc.limit.init=10 -org.openecomp.sdnc.sli.jdbc.limit.min=10 -org.openecomp.sdnc.sli.jdbc.limit.max=20 -org.openecomp.dblib.connection.recovery=false - diff --git a/kubernetes/config/docker/init/src/config/sdnc/conf/mdsal-resource.properties b/kubernetes/config/docker/init/src/config/sdnc/conf/mdsal-resource.properties deleted file mode 100755 index e4a585ff12..0000000000 --- a/kubernetes/config/docker/init/src/config/sdnc/conf/mdsal-resource.properties +++ /dev/null @@ -1,27 +0,0 @@ -### -# ============LICENSE_START======================================================= -# openECOMP : SDN-C -# ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights -# reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -### - -org.openecomp.sdnc.sli.resource.mdsal.sdnc-user=admin -org.openecomp.sdnc.sli.resource.mdsal.sdnc-passwd=admin -org.openecomp.sdnc.sli.resource.mdsal.sdnc-host=localhost -org.openecomp.sdnc.sli.resource.mdsal.sdnc-protocol=http -org.openecomp.sdnc.sli.resource.mdsal.sdnc-port=8181 - diff --git a/kubernetes/config/docker/init/src/config/sdnc/conf/sql-resource.properties b/kubernetes/config/docker/init/src/config/sdnc/conf/sql-resource.properties deleted file mode 100755 index ac32f77345..0000000000 --- a/kubernetes/config/docker/init/src/config/sdnc/conf/sql-resource.properties +++ /dev/null @@ -1,23 +0,0 @@ -### -# ============LICENSE_START======================================================= -# openECOMP : SDN-C -# ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights -# reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -### - -org.openecomp.sdnc.resource.sql.cryptkey=QtfJMKggVk - diff --git a/kubernetes/config/docker/init/src/config/sdnc/conf/svclogic.properties b/kubernetes/config/docker/init/src/config/sdnc/conf/svclogic.properties deleted file mode 100755 index efc1cb341b..0000000000 --- a/kubernetes/config/docker/init/src/config/sdnc/conf/svclogic.properties +++ /dev/null @@ -1,29 +0,0 @@ -### -# ============LICENSE_START======================================================= -# openECOMP : SDN-C -# ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights -# reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -### - -org.openecomp.sdnc.sli.dbtype = dblib -#Note : the next 4 fields are only used if org.openecomp.sdnc.sli.dbtype = jdbc -org.openecomp.sdnc.sli.jdbc.url=jdbc:mysql://dbhost:3306/sdnctl -org.openecomp.sdnc.sli.jdbc.database=sdnctl -org.openecomp.sdnc.sli.jdbc.user=sdnctl -org.openecomp.sdnc.sli.jdbc.password=gamma - -org.xml.sax.driver=org.apache.xerces.parsers.SAXParser diff --git a/kubernetes/config/docker/init/src/config/sdnc/conf/svclogic.properties.sdnctldb01 b/kubernetes/config/docker/init/src/config/sdnc/conf/svclogic.properties.sdnctldb01 deleted file mode 100755 index efc1cb341b..0000000000 --- a/kubernetes/config/docker/init/src/config/sdnc/conf/svclogic.properties.sdnctldb01 +++ /dev/null @@ -1,29 +0,0 @@ -### -# ============LICENSE_START======================================================= -# openECOMP : SDN-C -# ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights -# reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -### - -org.openecomp.sdnc.sli.dbtype = dblib -#Note : the next 4 fields are only used if org.openecomp.sdnc.sli.dbtype = jdbc -org.openecomp.sdnc.sli.jdbc.url=jdbc:mysql://dbhost:3306/sdnctl -org.openecomp.sdnc.sli.jdbc.database=sdnctl -org.openecomp.sdnc.sli.jdbc.user=sdnctl -org.openecomp.sdnc.sli.jdbc.password=gamma - -org.xml.sax.driver=org.apache.xerces.parsers.SAXParser diff --git a/kubernetes/robot/templates/robot-deployment.yaml b/kubernetes/robot/templates/robot-deployment.yaml index a1b07dc410..56feb0c1be 100644 --- a/kubernetes/robot/templates/robot-deployment.yaml +++ b/kubernetes/robot/templates/robot-deployment.yaml @@ -20,12 +20,14 @@ spec: volumeMounts: - name: robot-eteshare mountPath: /share - - name: robot-assets - mountPath: /var/opt/OpenECOMP_ETE/robot/assets - - name: robot-resources - mountPath: /var/opt/OpenECOMP_ETE/robot/resources - - name: robot-testsuites - mountPath: /var/opt/OpenECOMP_ETE/robot/testsuites + - name: robot-resources-openstack-keystone-int + mountPath: /var/opt/OpenECOMP_ETE/robot/resources/openstack/keystone_interface.robot + - name: robot-resources-asdc-interface + mountPath: /var/opt/OpenECOMP_ETE/robot/resources/asdc_interface.robot + - name: robot-resources-policy-interface + mountPath: /var/opt/OpenECOMP_ETE/robot/resources/policy_interface.robot + - name: robot-resources-sdngc-interface + mountPath: /var/opt/OpenECOMP_ETE/robot/resources/sdngc_interface.robot - name: lighttpd-authorization mountPath: /etc/lighttpd/authorization ports: @@ -39,15 +41,18 @@ spec: - name: robot-eteshare hostPath: path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/eteshare - - name: robot-assets + - name: robot-resources-openstack-keystone-int hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/assets - - name: robot-resources + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/resources/openstack/keystone_interface.robot + - name: robot-resources-asdc-interface hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/resources - - name: robot-testsuites + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/resources/asdc_interface.robot + - name: robot-resources-policy-interface hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/testsuites + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/resources/policy_interface.robot + - name: robot-resources-sdngc-interface + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/resources/sdngc_interface.robot - name: lighttpd-authorization hostPath: path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/authorization diff --git a/kubernetes/sdnc/templates/sdnc-deployment.yaml b/kubernetes/sdnc/templates/sdnc-deployment.yaml index cb296da498..f4947924ba 100644 --- a/kubernetes/sdnc/templates/sdnc-deployment.yaml +++ b/kubernetes/sdnc/templates/sdnc-deployment.yaml @@ -51,8 +51,10 @@ spec: imagePullPolicy: {{ .Values.pullPolicy }} name: sdnc-controller-container volumeMounts: - - mountPath: /opt/openecomp/sdnc/data/properties - name: sdnc-conf + - mountPath: /opt/openecomp/sdnc/data/properties/aaiclient.properties + name: sdnc-aaiclient-properties + - mountPath: /opt/openecomp/sdnc/data/properties/admportal.json + name: sdnc-admportal-json ports: - containerPort: 8181 readinessProbe: @@ -61,8 +63,11 @@ spec: initialDelaySeconds: 5 periodSeconds: 10 volumes: - - name: sdnc-conf + - name: sdnc-aaiclient-properties hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/aaiclient.properties + - name: sdnc-admportal-json + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/admportal.json imagePullSecrets: - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/onap-blueprint.yaml b/onap-blueprint.yaml new file mode 100644 index 0000000000..50ac29b997 --- /dev/null +++ b/onap-blueprint.yaml @@ -0,0 +1,240 @@ +tosca_definitions_version: cloudify_dsl_1_3 + +description: > + Blueprint deploys all ONAP kubernetes resources defined in YAML files on existing kubernetes cluster + The following pre-setup steps are assumed, but not required: + - Create Cloudify Example Environment: https://github.com/cloudify-examples/cloudify-environment-setup. + - Create Kubernetes Cluster: https://github.com/cloudify-examples/simple-kubernetes-blueprint. + +imports: + - https://raw.githubusercontent.com/cloudify-cosmo/cloudify-manager/4.1/resources/rest-service/cloudify/types/types.yaml + # Plugin required: https://github.com/cloudify-incubator/cloudify-kubernetes-plugin/releases/download/1.2.0/cloudify_kubernetes_plugin-1.2.0-py27-none-linux_x86_64-centos-Core.wgn + - https://raw.githubusercontent.com/cloudify-incubator/cloudify-kubernetes-plugin/1.2.0/plugin.yaml + - cloudify/types/onap.yaml + +inputs: + kubernetes_configuration_file_content: + description: > + File content of kubernetes master YAML configuration + + apps: + description: > + List of ONAP apps names to be deployed. + Default empty array (deploy all available apps). + default: [] + + namespace_prefix: + type: string + description: > + Kubernetes namespace name prefix which will be uese for all ONAP apps + default: onap + + docker_registry: + type: string + default: regsecret + + docker_server: + type: string + default: nexus3.onap.org:10001 + + docker_username: + type: string + default: docker + + docker_password: + type: string + default: docker + + docker_email: + type: string + default: email@email.com + +dsl_definitions: + inputs: &app_inputs + namespace_prefix: { get_input: namespace_prefix } + docker_registry: { get_input: docker_registry } + docker_server: { get_input: docker_server } + docker_username: { get_input: docker_username } + docker_password: { get_input: docker_password } + docker_email: { get_input: docker_email } + +node_templates: + kubernetes_master: + type: cloudify.kubernetes.nodes.Master + properties: + configuration: + file_content: { get_input: kubernetes_configuration_file_content } + + init_pod: + type: cloudify.kubernetes.resources.Pod + properties: + definition: + file: + resource_path: kubernetes/config/pod-config-init.yaml + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + + mso_app: + type: cloudify.onap.kubernetes.App + properties: + name: mso + resources: + - kubernetes/mso/templates/mso-deployment.yaml + - kubernetes/mso/templates/db-deployment.yaml + services: kubernetes/mso/templates/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod + + message_router_app: + type: cloudify.onap.kubernetes.App + properties: + name: message-router + resources: + - kubernetes/message-router/templates/message-router-zookeeper.yaml + - kubernetes/message-router/templates/message-router-dmaap.yaml + - kubernetes/message-router/templates/message-router-kafka.yaml + services: kubernetes/message-router/templates/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod + + sdc_app: + type: cloudify.onap.kubernetes.App + properties: + name: sdc + resources: + - kubernetes/sdc/sdc-es.yaml + - kubernetes/sdc/sdc-fe.yaml + - kubernetes/sdc/sdc-kb.yaml + - kubernetes/sdc/sdc-cs.yaml + - kubernetes/sdc/sdc-be.yaml + services: kubernetes/sdc/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod + + aai_app: + type: cloudify.onap.kubernetes.App + properties: + name: aai + resources: + - kubernetes/aai/aai-deployment.yaml + - kubernetes/aai/modelloader-deployment.yaml + - kubernetes/aai/hbase-deployment.yaml + services: kubernetes/aai/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod + + robot_app: + type: cloudify.onap.kubernetes.App + properties: + name: robot + resources: + - kubernetes/robot/robot-deployment.yaml + services: kubernetes/robot/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod + + vid_app: + type: cloudify.onap.kubernetes.App + properties: + name: vid + resources: + - kubernetes/vid/vid-mariadb-deployment.yaml + - kubernetes/vid/vid-server-deployment.yaml + services: kubernetes/vid/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod + + sdnc_app: + type: cloudify.onap.kubernetes.App + properties: + name: sdnc + resources: + - kubernetes/sdnc/web-deployment.yaml + - kubernetes/sdnc/sdnc-deployment.yaml + - kubernetes/sdnc/dgbuilder-deployment.yaml + - kubernetes/sdnc/db-deployment.yaml + services: kubernetes/sdnc/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod + + portal_app: + type: cloudify.onap.kubernetes.App + properties: + name: portal + resources: + - kubernetes/portal/portal-widgets-deployment.yaml + - kubernetes/portal/portal-apps-deployment.yaml + - kubernetes/portal/portal-mariadb-deployment.yaml + - kubernetes/portal/portal-vnc-dep.yaml + services: kubernetes/portal/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod + + policy_app: + type: cloudify.onap.kubernetes.App + properties: + name: policy + resources: + - kubernetes/policy/dep-drools.yaml + - kubernetes/policy/dep-nexus.yaml + - kubernetes/policy/dep-brmsgw.yaml + - kubernetes/policy/dep-pdp.yaml + - kubernetes/policy/dep-pap.yaml + - kubernetes/policy/dep-maria.yaml + - kubernetes/policy/dep-pypdp.yaml + services: kubernetes/policy/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod + + appc_app: + type: cloudify.onap.kubernetes.App + properties: + name: appc + resources: + - kubernetes/appc/appc-deployment.yaml + - kubernetes/appc/dgbuilder-deployment.yaml + - kubernetes/appc/db-deployment.yaml + services: kubernetes/appc/all-services.yaml + inputs: *app_inputs + relationships: + - type: cloudify.kubernetes.relationships.managed_by_master + target: kubernetes_master + - type: cloudify.relationships.depends_on + target: init_pod |