openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
openStackPrivateSubnetId: "__oam_subnet_id__"
openStackPrivateNetCidr: "10.0.0.0/16"
openStackOamNetworkCidrPrefix: "10.0"
+ dcaeCollectorIp: "__k8s_1_vm_ip__"
+ vnfPubKey: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
so:
config:
openStackUserName: "${OS_USERNAME}"
__integration_override_yaml__: { get_param: integration_override_yaml }
__oam_network_id__: { get_resource: oam_network }
__oam_subnet_id__: { get_resource: oam_subnet }
+ __k8s_1_vm_ip__: { get_attr: [k8s_1_floating_ip, floating_ip_address] }
__k8s_vm_ips__: [
get_attr: [k8s_1_floating_ip, floating_ip_address],
get_attr: [k8s_2_floating_ip, floating_ip_address],
get_attr: [k8s_5_floating_ip, floating_ip_address],
get_attr: [k8s_6_floating_ip, floating_ip_address],
get_attr: [k8s_7_floating_ip, floating_ip_address],
+ get_attr: [k8s_8_floating_ip, floating_ip_address],
+ get_attr: [k8s_9_floating_ip, floating_ip_address],
]
k8s_1_private_port:
type: OS::Neutron::Port
template:
get_file: k8s_vm_entrypoint.sh
+ k8s_8_private_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: oam_network }
+ fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
+ security_groups:
+ - { get_resource: onap_sg }
+
+ k8s_8_floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network_id: { get_param: public_net_id }
+ port_id: { get_resource: k8s_8_private_port }
+
+ k8s_8_vm:
+ type: OS::Nova::Server
+ properties:
+ name: k8s_8
+ image: { get_param: ubuntu_1604_image }
+ flavor: { get_param: k8s_vm_flavor }
+ key_name: onap_key
+ networks:
+ - port: { get_resource: k8s_8_private_port }
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __docker_proxy__: { get_param: docker_proxy }
+ __apt_proxy__: { get_param: apt_proxy }
+ __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
+ template:
+ get_file: k8s_vm_entrypoint.sh
+
+ k8s_9_private_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: oam_network }
+ fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
+ security_groups:
+ - { get_resource: onap_sg }
+
+ k8s_9_floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network_id: { get_param: public_net_id }
+ port_id: { get_resource: k8s_9_private_port }
+
+ k8s_9_vm:
+ type: OS::Nova::Server
+ properties:
+ name: k8s_9
+ image: { get_param: ubuntu_1604_image }
+ flavor: { get_param: k8s_vm_flavor }
+ key_name: onap_key
+ networks:
+ - port: { get_resource: k8s_9_private_port }
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __docker_proxy__: { get_param: docker_proxy }
+ __apt_proxy__: { get_param: apt_proxy }
+ __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
+ template:
+ get_file: k8s_vm_entrypoint.sh
+
outputs:
rancher_vm_ip:
description: The IP address of the rancher instance
description: The IP address of the k8s_7 instance
value: { get_attr: [k8s_7_floating_ip, floating_ip_address] }
+ k8s_8_vm_ip:
+ description: The IP address of the k8s_8 instance
+ value: { get_attr: [k8s_8_floating_ip, floating_ip_address] }
+
+ k8s_9_vm_ip:
+ description: The IP address of the k8s_9 instance
+ value: { get_attr: [k8s_9_floating_ip, floating_ip_address] }
+
EOF
sed -i 's/\_\_oam_network_id__/__oam_network_id__/g' /opt/config/integration-override.yaml
sed -i 's/\_\_oam_subnet_id__/__oam_subnet_id__/g' /opt/config/integration-override.yaml
+sed -i 's/\_\_k8s_1_vm_ip__/__k8s_1_vm_ip__/g' /opt/config/integration-override.yaml
cp /opt/config/integration-override.yaml /root
echo `hostname -I` `hostname` >> /etc/hosts
# Install using OOM
export HOME=/root
+# update and initialize git
+apt-get -y install git
+git config --global user.email root@rancher
+git config --global user.name root@rancher
+git config --global log.decorate auto
+
# Clone OOM:
cd ~
git clone -b master http://gerrit.onap.org/r/oom
cd oom
git log -1
+git tag -a "deploy0" -m "initial deployment"
+git checkout -b workarounds
# Run ONAP:
cd ~/oom/kubernetes/
#!/bin/bash
-NUM_K8S_VMS=7
+if [ "$#" -ne 1 ]; then
+ echo This script generates the HEAT template for X number of k8s VMs
+ echo "$0 <num k8s vms>"
+ exit 1
+fi
+NUM_K8S_VMS=$1
+
if [ -z "$WORKSPACE" ]; then
export WORKSPACE=`git rev-parse --show-toplevel`
mkdir -p $WORKSPACE/externalapi-nbi
cd $WORKSPACE/externalapi-nbi
+# Create .env file to access env variables for docker-compose
+echo "NEXUS_DOCKER_REPO=${NEXUS_DOCKER_REPO}" > .env
+
# Fetch the latest docker-compose.yml
wget -O docker-compose.yml 'https://git.onap.org/externalapi/nbi/plain/docker-compose.yml?h=master'
Click Element xpath=//*[@data-element-id="TCA_1d13unw"]
Input Text xpath=(//input[@id='tname'])[2] text=TCA1
Select From List By Label xpath=//*[@id="tcaPol"] Policy2
- Select From List By Label xpath=//*[@id="eventName"] vCPEvGMUXPacketLoss
+ Select From List By Label xpath=//*[@id="eventName"] vLoadBalancer
### Cannot set all TCA box attributes due to element not interractable with Selenium
# Select From List By Label xpath=//*[@id="controlLoopSchemaType"] VNF
# Select From List By Index xpath=//*[@id="controlLoopSchemaType"] 1
--- /dev/null
+FROM opnfv/xtesting
+
+ARG OPENSTACK_TAG=stable/pike
+ARG OPNFV_TAG=master
+ARG ONAP_TAG=master
+
+ENV PYTHONPATH $PYTHONPATH:/src/testing-utils/eteutils
+
+COPY thirdparty-requirements.txt thirdparty-requirements.txt
+RUN apk --no-cache add --virtual .build-deps --update \
+ python-dev build-base linux-headers libffi-dev \
+ openssl-dev libjpeg-turbo-dev && \
+ git clone --depth 1 https://git.onap.org/testsuite -b $ONAP_TAG /var/opt/OpenECOMP_ETE && \
+ git clone --depth 1 https://git.onap.org/testsuite/properties -b $ONAP_TAG /share/config && \
+ git clone --depth 1 https://git.onap.org/testsuite/python-testing-utils -b $ONAP_TAG /src/testing-utils && \
+ pip install \
+ -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \
+ -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$OPNFV_TAG \
+ -rthirdparty-requirements.txt \
+ -e /src/testing-utils && \
+ rm -r thirdparty-requirements.txt /src/testing-utils/.git /share/config/.git \
+ /var/opt/OpenECOMP_ETE/.git && \
+ apk del .build-deps
+
+COPY testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml
+CMD ["run_tests", "-t", "all"]
--- /dev/null
+# Xtesting-onap-robot
+Reuse of the Xtesting framework to onboard ONAP robot tests
+It consists in 3 files:
+ * Dockerfile: create your dockerfile. For Beijing, it shall be generated manually. You can use a non official version [4]
+ * testcases.yaml: the list of the testcases based on robotframework tags as defined in ONAp repo [3]
+ * thirdparty-requirements.txt: dependencies needed by the Dockerfile
+
+## Configuration
+
+To launch Xtesting ONAP robot you need 2 files
+ * env
+ * onap.properties: list of ONAP endpoints (can be found on the robot VM). Depending from where you launch the tests,
+please check that the IP addresses are reachable.
+
+As Xtesting supports both Openstack and Kubernetes, the env files shall be set accordingly.
+
+env file
+```
+INSTALLER_TYPE=heat
+DEPLOY_SCENARIO=os-nosdn-nofeature-ha
+EXTERNAL_NETWORK=ext-network
+NODE_NAME=pod4-orange-heat1
+TEST_DB_URL=hhttp://testresults.opnfv.org/onap/api/v1/results
+BUILD_TAG=jenkins-functest-kolla-baremetal-daily-amsterdam-222
+```
+
+All the values of the env file are not mandatory.
+
+### INSTALLER_TYPE
+It indicates how you deploy your ONAP solution. The possible values are heat or oom.
+
+### DEPLOY_SCENARIO
+If you do not precise DEPLOY_SCENARIO, it will be set to os-nosdn-nofeature-nohai by default, which means
+Openstack / No Additional SDN controller / No Additional feature / no HA mode
+This parameter can be useful if you manage several infrastructure and want to filter the results.
+Other possible scenario:
+ * k8-nosdn-nofeature-ha (Kubernetes with no add-ons)
+ * os-odl-nofeature-ha (Openstack with Opendaylight SDN controller)
+
+### EXTERNAL_NETWORK (Openstack only)
+You must precise it if it is not the first network with router:external=True
+
+### KUBERNETES_PROVIDER (Kubernetes only)
+This parameter is set to local by default
+
+### KUBE_MASTER_URL (Kubernetes only)
+You must indicate your Kubernetes Master URL.
+
+### KUBE_MASTER_IP (Kubernetes only)
+You must indicate your Kubernetes Master IP.
+
+### NODE_NAME
+The NODE_NAME is the name of the infrastructure that you declared in the Test DB. If you do not want to report the
+results to the Test Database, you do not need to precise this parameter.
+
+### TEST_DB_URL
+This parameter corresponds to the Test Database FQDN.
+If you do not want to report the results to the Test Database, you do not need to precise this parameter.
+
+You can reference either your own local database or a public Database (You must be sure that your NODE_NAME has been declared on
+this database). If so, and if you precise the flag to report the results, the test results will be automatically pushed.
+
+### BUILD_TAG
+This parameter is used to retrieve the version (amsterdam in the example) for the publication in the test database.
+If you do not publish the results, you can omit it.
+It is based on an historical regex setup for OPNFV CI/CD chains.
+
+All the parameters are detailed in Functest user guide [1].
+
+## onap.properties
+
+This file includes all the ONAP end points. It is built at ONAP installation and can be found on the ONAP Robot VM.
+
+# Launch xtesting-onap-robot
+
+You can run the test with the following command:
+
+sudo docker run --env-file <your env> -v <your onap properties>:/share/config/integration_vm_properties.py colvert22/functest-onap:latest
+
+By default it will execute all the tests corresponding to the command bash -c 'run_tests -t all'
+
+If you want to execute only a subset of the tests you may precise the test cases using -t: bash -c 'run_tests -t robot_dcae'
+
+The possible test cases are indictaed in the testcases.yaml and are based on robotframework tags.
+
+If you want to push the results to the database, you can use the -r option: bash -c 'run_tests -t all -r'
+
+# References
+
+* [1] Functest User Guide: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/userguide/index.html
+* [2] Xtesting page: https://wiki.opnfv.org/display/functest/Xtesting
+* [3] Onap robot repo: https://git.onap.org/testsuite/
+* [4] https://hub.docker.com/r/colvert22/xtesting-onap-robot/
--- /dev/null
+---
+tiers:
+ -
+ name: onap
+ order: 1
+ ci_loop: '(daily)|(weekly)'
+ description: >-
+ Set of basic Functional tests to validate the ONAP installation.
+ testcases:
+ -
+ case_name: robot_healthcheck
+ project_name: functest
+ criteria: 100
+ blocking: true
+ description: >-
+ This test case verifies the basic ONAP API: appc, sdnc,so,
+ vid, ....based on the default robot tests
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'xtesting.core.robotframework'
+ class: 'RobotFramework'
+ args:
+ suites:
+ - /var/opt/OpenECOMP_ETE/robot/testsuites/health-check.robot
+ include:
+ - core
+ variablefile:
+ - '/share/config/integration_robot_properties.py'
+ - '/share/config/integration_vm_properties.py'
+ - '/share/config/integration_preload_parameters.py'
+
+ -
+ case_name: robot_api
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case verifies DCAE api
+ based on the default robot tests
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'xtesting.core.robotframework'
+ class: 'RobotFramework'
+ args:
+ suites:
+ - /var/opt/OpenECOMP_ETE/robot/testsuites/health-check.robot
+ include:
+ - api
+ variablefile:
+ - '/share/config/integration_robot_properties.py'
+ - '/share/config/integration_vm_properties.py'
+ - '/share/config/integration_preload_parameters.py'
+
+ -
+ case_name: robot_dcae
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case verifies DCAE api
+ based on the default robot tests
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'xtesting.core.robotframework'
+ class: 'RobotFramework'
+ args:
+ suites:
+ - /var/opt/OpenECOMP_ETE/robot/testsuites/health-check.robot
+ include:
+ - dcae
+ variablefile:
+ - '/share/config/integration_robot_properties.py'
+ - '/share/config/integration_vm_properties.py'
+ - '/share/config/integration_preload_parameters.py'
+ -
+ case_name: robot_multicloud
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case verifies the multicloud features of ONAP
+ based on the default robot tests
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'xtesting.core.robotframework'
+ class: 'RobotFramework'
+ args:
+ suites:
+ - /var/opt/OpenECOMP_ETE/robot/testsuites/health-check.robot
+ include:
+ - multicloud
+ variablefile:
+ - '/share/config/integration_robot_properties.py'
+ - '/share/config/integration_vm_properties.py'
+ - '/share/config/integration_preload_parameters.py'
+ -
+ case_name: robot_3rdparty
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case verifies the ONAP 3rd party API
+ especially the different drivers
+ based on the default robot tests
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'xtesting.core.robotframework'
+ class: 'RobotFramework'
+ args:
+ suites:
+ - /var/opt/OpenECOMP_ETE/robot/testsuites/health-check.robot
+ include:
+ - 3rdparty
+ variablefile:
+ - '/share/config/integration_robot_properties.py'
+ - '/share/config/integration_vm_properties.py'
+ - '/share/config/integration_preload_parameters.py'
--- /dev/null
+selenium<=3.0.0
+requests==2.11.1
+robotframework-selenium2library==1.8.0
+robotframework-databaselibrary==0.8.1
+robotframework-extendedselenium2library==0.9.1
+robotframework-requests==0.4.5
+robotframework-sshlibrary==2.1.2
+robotframework-sudslibrary==0.8
+robotframework-ftplibrary==1.3
+robotframework-rammbock==0.4.0.1
+deepdiff==2.5.1
+dnspython==1.15.0
+robotframework-httplibrary==0.4.2
+robotframework-archivelibrary==0.3.2
+PyYAML==3.12
onap/sdnc-image,1.3-STAGING-latest
onap/sdnc-ueb-listener-image,1.3-STAGING-latest
onap/search-data-service,1.2-STAGING-latest
+onap/sniroemulator,latest
onap/sparky-be,1.2-STAGING-latest
-onap/testsuite,1.2-STAGING-latest
+onap/testsuite,1.2.0
onap/usecase-ui,latest
onap/usecase-ui/usecase-ui-server,latest
onap/vfc/catalog,1.1.0-STAGING-latest
onap/vfc/ztevmanagerdriver,1.0.3-STAGING-latest
onap/vfc/ztevnfmdriver,1.1.0-STAGING-latest
onap/vid,1.2.1
-onap/vnfsdk/refrepo,1.1-STAGING-latest
-onap/vnfsdk/refrepo/postgres,latest
+onap/vnfsdk/refrepo,1.1.1
+onap/vnfsdk/refrepo/postgres,1.1.1
openecomp/mso,1.2.1
org.onap.ccsdk.storage.pgaas,pgaas,1.0.0
org.onap.ccsdk.utils,utils,1.0.0
org.onap.clamp.clds.clamp,clamp,2.0.0
-org.onap.cli,cli-framework,1.1.0
-org.onap.cli,cli-main,1.1.0
-org.onap.cli,cli-plugins-aai,1.1.0
-org.onap.cli,cli-plugins-msb,1.1.0
-org.onap.cli,cli-plugins-sample,1.1.0
-org.onap.cli,cli-plugins-sdc,1.1.0
-org.onap.cli,cli-plugins-so,1.1.0
-org.onap.cli,cli-sample-mock-generator,1.1.0
-org.onap.cli,cli-sample-yaml-generator,1.1.0
-org.onap.cli,cli-validation,1.1.0
-org.onap.cli,cli-zip,1.1.0
+org.onap.cli,cli-framework,2.0.0
+org.onap.cli,cli-main,2.0.0
+org.onap.cli,cli-plugins-aai,2.0.0
+org.onap.cli,cli-plugins-msb,2.0.0
+org.onap.cli,cli-plugins-sample,2.0.0
+org.onap.cli,cli-plugins-sdc,2.0.0
+org.onap.cli,cli-plugins-so,2.0.0
+org.onap.cli,cli-sample-mock-generator,2.0.0
+org.onap.cli,cli-sample-yaml-generator,2.0.0
+org.onap.cli,cli-validation,2.0.0
+org.onap.cli,cli-zip,2.0.0
org.onap.dcaegen2,dcaegen2,1.1.0
org.onap.dcaegen2.analytics.tca,dcae-analytics,2.2.0
org.onap.dcaegen2.analytics.tca,dcae-analytics-aai,2.2.0
org.onap.vfc.nfvo.resmanagement,vfc-nfvo-resmanagement-deployment,1.0.0
org.onap.vfc.nfvo.wfengine,activiti-extension,1.0.0
org.onap.vfc.nfvo.wfengine,workflow-engine-mgr-service,1.0.0
-org.onap.vnfsdk.refrepo,vnf-sdk-marketplace,1.1.0
-org.onap.vnfsdk.refrepo,vnf-sdk-marketplace-core-parent,1.1.0
-org.onap.vnfsdk.refrepo,vnf-sdk-marketplace-deployment,1.1.0
-org.onap.vnfsdk.refrepo,vnfmarket,1.1.0
-org.onap.vnfsdk.refrepo,vnfmarket-deployment,1.1.0
+org.onap.vnfsdk.refrepo,vnf-sdk-marketplace,1.1.2
+org.onap.vnfsdk.refrepo,vnf-sdk-marketplace-core-parent,1.1.1
+org.onap.vnfsdk.refrepo,vnf-sdk-marketplace-deployment,1.1.2
+org.onap.vnfsdk.refrepo,vnfmarket,1.1.1
+org.onap.vnfsdk.refrepo,vnfmarket-deployment,1.1.2
org.onap.vnfsdk.validation,csarvalidation-deployment,1.1.1
org.onap.vnfsdk.validation,validation,1.1.2
org.onap.vnfsdk.validation,validation-csar,1.1.2
for line in $(tail -n +2 $MANIFEST); do
image=$(echo $line | cut -d , -f 1)
tag=$(echo $line | cut -s -d , -f 2)
- perl -p -i -e "s|image: $image(:.*$\|$)|image: $image:$tag|g" $(find ./ -name values.yaml)
+ perl -p -i -e "s|$image(:.*$\|$)|$image:$tag|g" $(find ./ -name values.yaml)
done