--- /dev/null
+*** Comments ***
+# Copyright ETSI Contributors and Others.
+#
+# 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.
+
+
+*** Settings ***
+Documentation Library providing keywords for building, validating and uploading tar.gz NS and VNF package files with OSM client.
+Library String
+Library OperatingSystem
+
+
+*** Variables ***
+${SUCCESS_RETURN_CODE} 0
+
+
+*** Keywords ***
+Upload Package
+ [Documentation] Onboards ("creates") a NF Package into OSM.
+ ... - Parameters:
+ ... - pkg: Name (and location) of the NF Package
+ [Arguments] ${pkg}
+ # Proceeds with the onboarding with the appropriate arguments
+ ${rc} ${stdout}= Run And Return Rc And Output tar -czf ${pkg}.tar.gz -C ${pkg} .
+ Log ${rc},${stdout}
+ ${rc} ${stdout}= Run And Return Rc And Output osm upload-package ${pkg}.tar.gz
+ Log ${rc},${stdout}
+ Should Be Equal As Integers ${rc} ${SUCCESS_RETURN_CODE}
+ RETURN ${stdout}
+
+Delete Package
+ [Documentation] Delete a tar.gz package passed as argument from the filesystem.
+ [Arguments] ${pkg}
+ # Proceeds with the onboarding with the appropriate arguments
+ ${rc} ${stdout}= Run And Return Rc And Output rm ${pkg}.tar.gz
+ Log ${rc},${stdout}
+
+Package Build
+ [Documentation] Build the package NS, VNF given the package_folder
+ [Arguments] ${pkg_folder} ${skip_charm_build}=${EMPTY}
+ ${skip_charm}= Set Variable If "${skip_charm_build}" != "${EMPTY}" "--skip-charm-build" ${EMPTY}
+ ${rc} ${stdout}= Run And Return Rc And Output osm package-build ${pkg_folder} ${skip_charm}
+ Should Be Equal As Integers ${rc} ${SUCCESS_RETURN_CODE}
+ Should Contain ${stdout} Package created
+ ${package}= Get Line ${stdout} -1
+ RETURN ${package}
+
+Package Validate
+ [Documentation] Validate descriptors given a base directory
+ [Arguments] ${pkg_folder}
+ ${rc} ${stdout}= Run And Return Rc And Output osm package-validate ${pkg_folder} | awk -F\| '$2 !~ /-/ && $4 ~ /OK|ERROR/ {print $4}'
+ Should Be Equal As Integers ${rc} ${SUCCESS_RETURN_CODE}
+ Should Contain ${stdout} 'OK'
+ ${package}= Get Line ${stdout} -1
+ RETURN ${package}