Skip to content
Snippets Groups Projects
Commit f3ec8f4c authored by yadavmr's avatar yadavmr Committed by madavi
Browse files

Robot Test: Included Test are

Feature 1415 RBAC visibility of packeges and instances
Feature 7921 MongoDb File system
Feature 8047 osmclient package creation and validation
Manual VNF/VDU scaling using osmclient
Feature 7326 Disable port security for ns at network level

Change-Id: I1e936595a4af9e6c707f22c2719438310e646b35
Signed-off-by: default avataryadavmr <my00514913@techmahindra.com>
parent d7b6ab0f
No related branches found
No related tags found
No related merge requests found
Showing
with 872 additions and 11 deletions
#
# Copyright 2020 Tech Mahindra Limited
#
# 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.
#
# Author: Mrityunjay Yadav <MY00514913@TechMahindra.com>, Jayant Madavi
#
DESCRIPTORS_TOPDIR ?= ../..
include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
all: $(BUILD_DIR)/$(PKG_NAME)
descriptor-packages/nsd/no_port_security_ns/src/icons/osm.png

54.6 KiB

##
# Copyright 2020 Tech Mahindra Limited
#
# 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.
#
# Author: Mrityunjay Yadav <MY00514913@TechMahindra.com>, Jayant Madavi
##
nsd:nsd-catalog:
nsd:
- id: no_port_security-ns
name: no_port_security-ns
short-name: no_port_security-ns
description: Simple NS with a single VNF and a single VL
version: '1.0'
logo: osm.png
constituent-vnfd:
- vnfd-id-ref: hackfest_basic-vnf
member-vnf-index: '1'
vld:
- id: noPortSecurity
name: noPortSecurity
short-name: noPortSecurity
type: ELAN
vnfd-connection-point-ref:
- vnfd-id-ref: hackfest_basic-vnf
member-vnf-index-ref: '1'
vnfd-connection-point-ref: vnf-cp0
......@@ -36,8 +36,8 @@ Create NST
[Arguments] ${nst_pkg}
${rc} ${stdout}= Run and Return RC and Output osm nst-create ${nst_pkg}
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
[Return] ${stdout}
......@@ -46,8 +46,8 @@ Delete NST
[Arguments] ${nst}
${rc} ${stdout}= Run and Return RC and Output osm nst-delete ${nst}
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
[Return] ${stdout}
......@@ -66,8 +66,8 @@ Create Network Slice With Config
[Arguments] ${nsi_name} ${nst_name} ${vim} ${config}
${rc} ${stdout}= Run and Return RC and Output osm nsi-create --nsi_name ${nsi_name} --nst_name ${nst_name} --vim_account ${vim} --config ${config}
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
Append To List ${nsi_list} ${nsi_name}
......@@ -75,8 +75,8 @@ Create Network Slice Without Config
[Arguments] ${nsi_name} ${nst_name} ${vim}
${rc} ${stdout}= Run and Return RC and Output osm nsi-create --nsi_name ${nsi_name} --nst_name ${nst_name} --vim_account ${vim}
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
Append To List ${nsi_list} ${nsi_name}
......@@ -84,8 +84,8 @@ Check For Network Slice Instance For Failure
[Arguments] ${nsi_name}
${rc} ${stdout}= Run and Return RC and Output osm nsi-list --filter name="${nsi_name}"
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
Should Not Contain ${stdout} failed
......@@ -93,8 +93,8 @@ Check For Network Slice Instance To Configured
[Arguments] ${nsi_name}
${rc} ${stdout}= Run and Return RC and Output osm nsi-list --filter name="${nsi_name}"
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
Should Contain Any ${stdout} configured failed
......@@ -103,8 +103,8 @@ Delete Network Slice Instance
[Arguments] ${nsi}
${rc} ${stdout}= Run and Return RC and Output osm nsi-delete ${nsi}
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For NSI Instance To Be Delete ${nsi}
......@@ -113,6 +113,6 @@ Check For NSI Instance To Be Delete
[Arguments] ${nsi}
${rc} ${stdout}= Run and Return RC and Output osm nsi-list
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
Should Not Contain ${stdout} ${nsi}
......@@ -40,6 +40,23 @@ Get NS List
Should Be Equal As Integers ${rc} ${success_return_code}
Get NS Instance ID
[Arguments] ${ns_name}
${rc} ${stdout}= Run and Return RC and Output osm ns-list --filter name="${ns_name}" | awk 'NR==4{print $4}'
log ${stdout}
[Return] ${stdout}
Verify All JUJU Applications Status
[Arguments] ${ns} ${api_ip} ${api_port} ${username} ${password} ${api_cert_path}
${juju_model}= Get NS Instance ID ${ns}
Import Library robot_juju.JujuLibrary ${api_ip} ${api_port} ${juju_model} ${username} ${password} ${api_cert_path}
Assert status of applications is ${status_active}
Launch Network Services and Return
[Arguments] ${vim_name} ${ns_config}=''
[Documentation] Get Configuration parameter to create Newtork service
......@@ -144,3 +161,33 @@ Force Delete NS
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
WAIT UNTIL KEYWORD SUCCEEDS ${ns_delete_max_wait_time} ${ns_delete_pol_time} Check For NS Instance To Be Delete ${ns}
Perform VNF Scale-in Operation
[Arguments] ${ns} ${vnf_member} ${scaling_group}
${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal
${scaled_vnf}= Get Scaled Vnf ${nsr}
log to console Scaled VNF befor scale-in operation is ${scaled_vnf}
${rc} ${stdout}= Run and Return RC and Output osm vnf-scale --scale-in --scaling-group ${scaling_group} ${ns} ${vnf_member}
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Sleep 1m Waiting for scale-in operation to complete
${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal
${scaled_vnf}= Get Scaled Vnf ${nsr}
log to console Scaled VNF after scale-in operation is ${scaled_vnf}
Perform VNF Scale-out Operation
[Arguments] ${ns} ${vnf_member} ${scaling_group}
${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal
${scaled_vnf}= Get Scaled Vnf ${nsr}
log to console Scaled VNF befor scale-out operation is ${scaled_vnf}
${rc} ${stdout}= Run and Return RC and Output osm vnf-scale --scale-out --scaling-group ${scaling_group} ${ns} ${vnf_member}
Should Be Equal As Integers ${rc} ${success_return_code}
log ${stdout}
Sleep 1m Waiting for scale-out operation to complete
${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal
${scaled_vnf}= Get Scaled Vnf ${nsr}
log to console Scaled VNF befor scale-out operation is ${scaled_vnf}
# 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.
##
## Change log:
# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019
##
*** Keywords ***
Create OSM NS Package
[Arguments] ${pkg_name}
${ns_pkg}= Catenate SEPARATOR=_ ${pkg_name} ns
${ns_yaml}= Catenate SEPARATOR=_ ${pkg_name} nsd
${ns_yaml}= Catenate SEPARATOR=. ${ns_yaml} yaml
${nsd_path}= Join Path ${ns_pkg} ${ns_yaml}
${rc} ${stdout}= Run and Return RC and Output osm package-create ns ${pkg_name}
Should Be Equal As Integers ${rc} ${success_return_code}
File Should Exist ${nsd_path}
log ${stdout}
Create OSM VNF Package
[Arguments] ${pkg_name}
${vnf_pkg}= Catenate SEPARATOR=_ ${pkg_name} vnf
${vnf_yaml}= Catenate SEPARATOR=_ ${pkg_name} vnfd
${vnf_yaml}= Catenate SEPARATOR=. ${vnf_yaml} yaml
${vnfd_path}= Join Path ${vnf_pkg} ${vnf_yaml}
${rc} ${stdout}= Run and Return RC and Output osm package-create vnf ${pkg_name}
Should Be Equal As Integers ${rc} ${success_return_code}
File Should Exist ${vnfd_path}
log ${stdout}
Validate OSM NS Package
[Arguments] ${pkg_name}
${ns_pkg}= Catenate SEPARATOR=_ ${pkg_name} ns
${rc} ${stdout}= Run and Return RC and Output osm package-validate ${ns_pkg}
Should Be Equal As Integers ${rc} ${success_return_code}
Verify Package Validation Result ${ns_pkg}
log ${stdout}
Validate OSM VNF Package
[Arguments] ${pkg_name}
${vnf_pkg}= Catenate SEPARATOR=_ ${pkg_name} vnf
${rc} ${stdout}= Run and Return RC and Output osm package-validate ${vnf_pkg}
Should Be Equal As Integers ${rc} ${success_return_code}
Verify Package Validation Result ${vnf_pkg}
log ${stdout}
Verify Package Validation Result
[Arguments] ${pkg}
${rc} ${stdout}= Run and Return RC and Output osm package-validate ${pkg} | awk 'NR==6{print $6}'
Should Be Equal As Integers ${rc} ${success_return_code}
Should Not Contain ${stdout} ERROR
log ${stdout}
Build OSM VNF Package
[Arguments] ${pkg_name}
${vnf_pkg}= Catenate SEPARATOR=_ ${pkg_name} vnf
${vnf_pkg_tar}= Catenate SEPARATOR=. ${vnf_pkg} tar gz
${rc} ${stdout}= Run and Return RC and Output osm package-build ${vnf_pkg}
Should Be Equal As Integers ${rc} ${success_return_code}
File Should Exist ${vnf_pkg_tar}
log ${stdout}
Build OSM NS Package
[Arguments] ${pkg_name}
${ns_pkg}= Catenate SEPARATOR=_ ${pkg_name} ns
${ns_pkg_tar}= Catenate SEPARATOR=. ${ns_pkg} tar gz
${rc} ${stdout}= Run and Return RC and Output osm package-build ${ns_pkg}
Should Be Equal As Integers ${rc} ${success_return_code}
File Should Exist ${ns_pkg_tar}
log ${stdout}
......@@ -63,8 +63,9 @@ Get Vim List
Delete Vim Account
[Documentation] delete vim account details
[Arguments] ${vim_name}=${vim-name}
${rc} ${stdout}= Run and Return RC and Output osm vim-delete ${vim-name}
${rc} ${stdout}= Run and Return RC and Output osm vim-delete ${vim_name}
log ${stdout}
Should Be Equal As Integers ${rc} ${success_return_code}
......
......@@ -19,11 +19,18 @@
##
## Change log:
# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code.
##
# Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com
##̥
import random
from haikunator import Haikunator
import yaml
from os.path import basename
import hashlib
from robot.api import logger
from robot.api.deco import keyword
def generate_name():
......@@ -35,3 +42,26 @@ def generate_name():
def get_random_item_from_list(l):
assert isinstance(l, list), "List should be provided"
return random.choice(l)
def get_scaled_vnf(nsr):
nsr = yaml.load(nsr)
if 'scaling-group' in nsr['_admin']:
return nsr['_admin']['scaling-group'][0]['nb-scale-op']
else:
return 0
@keyword('Get File Name From Path')
def get_filename(path):
filename = basename(path)
return filename, filename.split('.')[0]
@keyword('Generate MD5')
def generate_md5(fpath):
hash_md5 = hashlib.md5()
with open(fpath, "rb") as f:
for chunk in iter(lambda: f.read(1024), b""):
hash_md5.update(chunk)
return hash_md5.hexdigest()
# -*- coding: utf-8 -*-
##
# Copyright 2020 Tech Mahindra Limited
#
# 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.
# Author: Mrityunjay Yadav < MY00514913@techmahindra.com >, Jayant Madavi
##
# VNFD Details
vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_basic_vnf"
vnfdPckg = '/build/hackfest_basic_vnf.tar.gz'
# NSD Details
nsdPckgPath = "/descriptor-packages/nsd/no_port_security_ns"
nsdPckg = '/build/no_port_security_ns.tar.gz'
##
# Copyright 2019 Tech Mahindra Limited
#
# 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.
##
## Change log:
# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019
##
*** Settings ***
Documentation Test RBAC for platform - Visibility of packages and instances test
Library OperatingSystem
Library String
Library Collections
Resource ../../lib/cli/rbac_lib.robot
Resource ../../lib/cli/vnfd_lib.robot
Resource ../../lib/cli/nsd_lib.robot
Resource ../../lib/cli/ns_lib.robot
Resource ../../lib/cli/vim_account_lib.robot
Library ../../lib/custom_lib.py
Suite Setup Prerequisite For Test
Suite Teardown Run Keyword And Ignore Error Test Cleanup
*** Variables ***
${success_return_code} 0
@{vim}
@{vnfd_ids}
${nsd_id}
@{nsd_ids}
@{ns_ids}
${vnfdPckg} hackfest_basic_vnf.tar.gz
${nsdPckg} hackfest_basic_ns.tar.gz
${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_vnf.tar.gz
${nsdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_ns.tar.gz
# Test data for Users Operations test
${user_id} ${EMPTY}
# Test data for Project Operations test
${project_id} ${EMPTY}
*** Test Cases ***
Create VIM Account For New User
[Documentation] Test to create VIM account for newly created user
[Tags] rabc rabc_vim comprehensive nbi
Wait Until Keyword Succeeds 2x 30sec VIM Setup To Launch Network Services
Create VNF Descriptor For New User
[Documentation] Test to create vnfd for new user
[Tags] rabc rabc_vnfd comprehensive nbi
${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/rbac/' ${vnfdftpPath}
${vnfd_id}= Create VNFD '${CURDIR}${/}../../resource/cli/rbac${/}${vnfdPckg}'
Append To List ${vnfd_ids} ${vnfd_id}
Create NS Descriptor For New User
[Documentation] Test to create nsd for new user
[Tags] rabc rabc_nsd comprehensive nbi
${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/rbac/' ${nsdftpPath}
${nsd_id}= Create VNFD '${CURDIR}${/}../../resource/cli/rbac${/}${nsdPckg}'
Append To List ${nsd_ids} ${nsd_id}
Instanciate Network Service For New User
[Documentation] Launch network services for new user
[Tags] rabc rabc_ns comprehensive nbi
:FOR ${vim_name} IN @{vim}
\ Launch Network Services and Return ${vim_name}
Delete NS Instance Test
[Tags] rabc rabc_ns comprehensive nbi
:FOR ${ns} IN @{ns_ids}
\ Delete NS ${ns}
Delete NS Descriptor Test
[Tags] rabc rabc_nsd comprehensive nbi
:FOR ${nsd} IN @{nsd_ids}
\ Delete NSD ${nsd}
Delete VNF Descriptor Test
[Tags] rabc rabc_vnfd comprehensive nbi
:FOR ${vnfd_id} IN @{vnfd_ids}
\ Delete VNFD ${vnfd_id}
*** Keywords ***
Prerequisite For Test
${user-name}= Generate Random String 8 [NUMBERS]
${user-name}= Catenate SEPARATOR= user_ ${user-name}
set global variable ${user-name}
${user-password}= Generate Random String 8 [NUMBERS]
set global variable ${user-password}
${user_id}= Create User ${user-name} ${user-password}
${project-name}= Generate Random String 8 [NUMBERS]
${project-name}= Catenate SEPARATOR= project_ ${project-name}
set global variable ${project-name}
${project_id}= Create Project ${project-name}
&{update_field1}= Create Dictionary --add-project-role=admin,project_user
&{update_field2}= Create Dictionary --add-project-role=${project-name},account_manager
@{update_user}= Create List ${update_field1} ${update_field2}
Update User And Verify Info ${user-name} @{update_user}
Login With User And Perform Operation ${user-name} ${user-password} ${project-name}
Test Cleanup
[Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim
# :FOR ${vim_id} IN @{vim}
# \ Delete Vim Account ${vim_id}
Logout and Login With Admin
Delete User ${user-name}
Delete Project ${project-name}
##
# Copyright 2019 Tech Mahindra Limited
#
# 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.
##
## Change log:
# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019
##
*** Settings ***
Library OperatingSystem
Library String
Library Collections
Resource ../../lib/cli/vnfd_lib.robot
Resource ../../lib/cli/nsd_lib.robot
Resource ../../lib/cli/ns_lib.robot
Resource ../../lib/cli/vim_account_lib.robot
Library ../../lib/custom_lib.py
Suite Setup Prerequisite For Test
Suite Teardown Run Keyword And Ignore Error Test Cleanup
*** Variables ***
${success_return_code} 0
@{vim}
@{vnfd_ids}
${nsd_id}
@{nsd_ids}
@{ns_ids}
${vnfdPckg} hackfest_basic_vnf.tar.gz
${nsdPckg} hackfest_basic_ns.tar.gz
${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_vnf.tar.gz
${nsdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_ns.tar.gz
*** Test Cases ***
Create VNF Descriptor Test
[Tags] comprehensive feature7921
${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/' ${vnfdftpPath}
${vnfd_id}= Create VNFD '${CURDIR}${/}../../resource${/}${vnfdPckg}'
Append To List ${vnfd_ids} ${vnfd_id}
Create NS Descriptor Test
[Tags] comprehensive feature7921
${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/' ${nsdftpPath}
${nsd_id}= Create VNFD '${CURDIR}${/}../../resource${/}${nsdPckg}'
Append To List ${nsd_ids} ${nsd_id}
Instanciate Network Service Test
[Tags] comprehensive feature7921
[Setup] Wait Until Keyword Succeeds 2x 30sec VIM Setup To Launch Network Services
:FOR ${vim_name} IN @{vim}
\ Launch Network Services and Return ${vim_name}
Delete NS Instance Test
[Tags] comprehensive feature7921
:FOR ${ns} IN @{ns_ids}
\ Delete NS ${ns}
Delete NS Descriptor Test
[Tags] comprehensive feature7921
:FOR ${nsd} IN @{nsd_ids}
\ Delete NSD ${nsd}
Delete VNF Descriptor Test
[Tags] comprehensive feature7921
:FOR ${vnfd_id} IN @{vnfd_ids}
\ Delete VNFD ${vnfd_id}
*** Keywords ***
Prerequisite For Test
[Documentation] Update docker service to use mongodb as file system
Update NBI Service
Update LCM Service
Update NBI Service
${rc} ${stdout}= Run and Return RC and Output docker service update osm_nbi --force --env-add OSMNBI_STORAGE_DRIVER=mongo --env-add OSMNBI_STORAGE_PATH=/app/storage --env-add OSMNBI_STORAGE_COLLECTION=files --env-add OSMNBI_STORAGE_URI=mongodb://mongo:27017
Should Be Equal As Integers ${rc} ${success_return_code}
Sleep 30s Wait for NBI service to be update
Update LCM Service
${rc} ${stdout}= Run and Return RC and Output docker service update osm_lcm --force --env-add OSMLCM_STORAGE_DRIVER=mongo --env-add OSMLCM_STORAGE_PATH=/app/storage --env-add OSMLCM_STORAGE_COLLECTION=files --env-add OSMLCM_STORAGE_URI=mongodb://mongo:27017
Should Be Equal As Integers ${rc} ${success_return_code}
Sleep 30s Wait for LCM service to be update
Test Cleanup
# :FOR ${vim_id} IN @{vim}
# \ Delete Vim Account ${vim_id}
${rc} ${stdout}= Run and Return RC and Output docker service rollback osm_nbi
Should Be Equal As Integers ${rc} ${success_return_code}
${rc} ${stdout}= Run and Return RC and Output docker service rollback osm_lcm
Should Be Equal As Integers ${rc} ${success_return_code}
##
# Copyright 2019 Tech Mahindra Limited
#
# 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.
##
## Change log:
# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019
##
*** Settings ***
Documentation Test Suite to test OSMClient Package Createtion and Validation Tool
Library OperatingSystem
Library String
Library Collections
Resource ../../lib/cli/osm_package_tools_lib.robot
Suite Setup Prerequisite For Test
Suite Teardown Test Cleanup
*** Variables ***
${success_return_code} 0
${base_dir} ${EXECDIR}
${pkg_dir} ${CURDIR}${/}../../resource/cli/packages
${ns_pkg} vEPC
${vnf_pkg} vEPC
*** Test Cases ***
Test OSM NS Package Create
[Tags] comprehensive feature8047
Create OSM NS Package ${ns_pkg}
Test OSM VNF Package Create
[Tags] comprehensive feature8047
Create OSM VNF Package ${vnf_pkg}
Test OSM NS Package Validate
[Tags] comprehensive feature8047
Validate OSM NS Package ${ns_pkg}
Test OSM VNF Package Validate
[Tags] comprehensive feature8047
Validate OSM VNF Package ${vnf_pkg}
Test OSM VNF Package Build
[Tags] comprehensive feature8047
Build OSM VNF Package ${vnf_pkg}
Test OSM NS Package Build
[Tags] comprehensive feature8047
Build OSM NS Package ${ns_pkg}
*** Keywords ***
Prerequisite For Test
Create Directory ${pkg_dir}
${rc} ${stdout}= Run and Return RC and Output cd ${pkg_dir}
Should Be Equal As Integers ${rc} ${success_return_code}
Test Cleanup
${rc} ${stdout}= Run and Return RC and Output cd ${base_dir}
Should Be Equal As Integers ${rc} ${success_return_code}
Remove Directory ${pkg_dir} recursive=${TRUE}
\ No newline at end of file
##
# Copyright 2019 Tech Mahindra Limited
#
# 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.
##
## Change log:
# 1. Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 27-Nov-19
##
*** Settings ***
Documentation Test Suite to test manual scale-in/out cirros VNF and NS using osm-client
Library OperatingSystem
Library String
Library Collections
Resource ../../lib/cli/vnfd_lib.robot
Resource ../../lib/cli/nsd_lib.robot
Resource ../../lib/cli/ns_lib.robot
Resource ../../lib/cli/vim_account_lib.robot
Library ../../lib/custom_lib.py
Suite Teardown Run Keyword And Ignore Error Test Cleanup
*** Variables ***
# VNFD Details
@{vnfd_ids}
${vnfdPckgPath} /descriptor-packages/vnfd/cirros_vnf
${vnfdPckg} /build/cirros_vnf.tar.gz
# NSD Details
@{nsd_ids}
${nsdPckgPath} /descriptor-packages/nsd/cirros_ns
${nsdPckg} /build/cirros_ns.tar.gz
${scaling_group} scaling_cirros_vnf
${vnf_member_index} 1
@{ns_ids}
*** Test Cases ***
Create VNF Descriptor Test
[Documentation] Build and onboard cirros VNF package with scaling parameter
[Tags] comprehensive manual_scaling
Build VNF Descriptor ${vnfdPckgPath}
${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}'
Append To List ${vnfd_ids} ${vnfd_id}
Create NS Descriptor Test
[Documentation] Build and onboard cirros NS package with scaling parameter
[Tags] comprehensive manual_scaling
Build NS Descriptor ${nsdPckgPath}
${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}'
Append To List ${nsd_ids} ${nsd_id}
Network Service Instance Test
[Documentation] Launch cirros ns with scaling parameter
[Tags] comprehensive manual_scaling
:FOR ${vim_name} IN @{vim}
\ Launch Network Services and Return ${vim_name}
Perform VNF/VDU Scaling-out Operation Over Launched NS Test
[Documentation] scale-out cirros ns
[Tags] comprehensive manual_scaling
:FOR ${ns} IN @{ns_ids}
\ Perform VNF Scale-out Operation ${ns} ${vnf_member_index} ${scaling_group}
Perform VNF/VDU Scaling-in Operation Over Launched NS Test
[Documentation] scale-in cirros ns
[Tags] comprehensive manual_scaling
:FOR ${ns} IN @{ns_ids}
\ Perform VNF Scale-in Operation ${ns} ${vnf_member_index} ${scaling_group}
Delete NS Instance Test
[Tags] comprehensive manual_scaling
:FOR ${ns} IN @{ns_ids}
\ Delete NS ${ns}
Delete NS Descriptor Test
[Tags] comprehensive manual_scaling
:FOR ${nsd} IN @{nsd_ids}
\ Delete NSD ${nsd}
Delete VNF Descriptor Test
[Tags] comprehensive manual_scaling
:FOR ${vnfd} IN @{vnfd_ids}
\ Delete VNFD ${vnfd}
*** Keywords ***
Test Cleanup
[Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim
:FOR ${ns} IN @{ns_ids}
\ Delete NS ${ns}
:FOR ${nsd} IN @{nsd_ids}
\ Delete NSD ${nsd}
:FOR ${vnfd} IN @{vnfd_ids}
\ Delete VNFD ${vnfd}
# :FOR ${vim_id} IN @{vim}
# \ Delete Vim Account ${vim_id}
# -*- coding: utf-8 -*-
##
# Copyright 2020 Tech Mahindra Limited
#
# 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.
#
# Author: Mrityunjay Yadav <MY00514913@techmahindra.com>, Jayant Madavi
##
*** Settings ***
Documentation Test Suite to test disable network port security NS
Library OperatingSystem
Library String
Library Collections
Resource ../../lib/cli/vnfd_lib.robot
Resource ../../lib/cli/nsd_lib.robot
Resource ../../lib/cli/ns_lib.robot
Resource ../../lib/cli/vim_account_lib.robot
Library ../../lib/custom_lib.py
Variables ../../resource/cli/disable_port_security_ns_data.py
Suite Teardown Run Keyword And Ignore Error Test Cleanup
*** Variables ***
@{vnfd_ids}
${nsd_id}
@{nsd_ids}
@{ns_ids}
*** Test Cases ***
Create VNF Descriptor
[Tags] disable_port_security comprehensive
Build VNF Descriptor ${vnfdPckgPath}
${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}'
Append To List ${vnfd_ids} ${vnfd_id}
Create NS Descriptor
[Tags] disable_port_security comprehensive
Build NS Descriptor ${nsdPckgPath}
${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}'
Append To List ${nsd_ids} ${nsd_id}
Network Service Instance Test
[Documentation] Launch and terminate network services
[Tags] disable_port_security comprehensive
:FOR ${vim_name} IN @{vim}
\ Launch Network Services and Return ${vim_name}
Verify Port Security
[Tags] disable_port_security comprehensive
:FOR ${ns} IN @{ns_ids}
\ Check For Network Port Security ${ns}
Delete NS Instance Test
[Tags] disable_port_security comprehensive
:FOR ${ns} IN @{ns_ids}
\ Delete NS ${ns}
Delete NS Descriptor Test
[Tags] disable_port_security comprehensive
:FOR ${nsd} IN @{nsd_ids}
\ Delete NSD ${nsd}
Delete VNF Descriptor Test
[Tags] disable_port_security comprehensive
:FOR ${vnfd_id} IN @{vnfd_ids}
\ Delete VNFD ${vnfd_id}
*** Keywords ***
Check For Network Port Security
[Arguments] ${ns_name}
${rc} ${network_id}= Run and Return RC and Output openstack network list | grep ${ns_name} | awk '{print $2}'
Log ${network_id}
${rc} ${stdout}= Run and Return RC and Output openstack network show ${network_id} -f json | jq '.port_security_enabled'
Log ${stdout}
Should Be Equal As Strings ${stdout} true
Test Cleanup
[Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim
:FOR ${ns} IN @{ns_ids}
\ Delete NS ${ns}
:FOR ${nsd} IN @{nsd_ids}
\ Delete NSD ${nsd}
:FOR ${vnfd} IN @{vnfd_ids}
\ Delete VNFD ${vnfd}
# :FOR ${vim_id} IN @{vim}
# \ Delete Vim Account ${vim_id}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment