From: Morgan Richomme Date: Fri, 2 Apr 2021 12:32:56 +0000 (+0000) Subject: Merge "Update docker-compose for Macroflow with HEAT and small refactoring" X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=4ea948c920a059a27bef6d7ec98e684840e3cf04;hp=cfa8b96c1b28a7dc4f846bb74dc68d036ec431cb;p=integration%2Fcsit.git Merge "Update docker-compose for Macroflow with HEAT and small refactoring" --- diff --git a/plans/optf-has/has/setup.sh b/plans/optf-has/has/setup.sh deleted file mode 100755 index db3ec7c7..00000000 --- a/plans/optf-has/has/setup.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# -echo "# aaf-sms setup.sh script"; -source ${WORKSPACE}/scripts/optf-has/has/setup-sms.sh - -# -# add here eventual scripts needed for music -# -echo "# music scripts calling"; -source ${WORKSPACE}/scripts/optf-has/has/music_script.sh - - -# -echo "# simulator scripts calling"; -source ${WORKSPACE}/scripts/optf-has/has/simulator_script.sh - -# add here eventual scripts needed for optf/has -# -echo "# optf/has scripts calling"; -source ${WORKSPACE}/scripts/optf-has/has/has_script.sh - -# -# add here below the start of all docker containers needed for optf/has CSIT testing -# -echo "# optf/has scripts docker containers spinoff"; - -# -# add here all the configuration steps eventually needed to be carried out for optf/has CSIT testing -# -echo "# optf/has configuration step"; - - -# -# add here all ROBOT_VARIABLES settings -# -echo "# optf/has robot variables settings"; -echo "conductor ip = ${COND_IP}" -echo "music ip = ${TOMCAT_IP}" - -ROBOT_VARIABLES="-v MUSIC_HOSTNAME:http://${TOMCAT_IP} -v MUSIC_PORT:8080 -v COND_HOSTNAME:http://${COND_IP} -v COND_PORT:8091" - -echo ${ROBOT_VARIABLES} - - - diff --git a/plans/optf-has/has/teardown.sh b/plans/optf-has/has/teardown.sh deleted file mode 100755 index 0b2b6299..00000000 --- a/plans/optf-has/has/teardown.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# - - -# -# add here below the killing of all docker containers used for optf/has CSIT testing -# - -# -# optf/has scripts docker containers killing"; -# -echo "# optf/has has scripts calling"; -source ${WORKSPACE}/scripts/optf-has/has/has_teardown_script.sh - -echo "# optf/has simulator scripts calling"; -source ${WORKSPACE}/scripts/optf-has/has/simulator_teardown_script.sh - -echo "# optf/has music scripts calling"; -source ${WORKSPACE}/scripts/optf-has/has/music_teardown_script.sh - -echo "# aaf-sms teardown.sh script"; -kill-instance.sh sms -kill-instance.sh vault - diff --git a/plans/optf-has/has/testplan.txt b/plans/optf-has/has/testplan.txt deleted file mode 100644 index bf922705..00000000 --- a/plans/optf-has/has/testplan.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -optf-has/has diff --git a/plans/optf-osdf/osdf/setup.sh b/plans/optf-osdf/osdf/setup.sh deleted file mode 100755 index 42e9aecf..00000000 --- a/plans/optf-osdf/osdf/setup.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# -# ------------------------------------------------------------------------- -# Copyright (c) 2018 AT&T Intellectual Property -# -# 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. -# -# ------------------------------------------------------------------------- -# - -# -echo "# aaf-sms setup.sh script"; -source ${WORKSPACE}/scripts/optf-osdf/osdf/setup-sms.sh - -echo "# simulator scripts calling"; -source ${WORKSPACE}/scripts/optf-osdf/osdf/simulator_script.sh - -# add here eventual scripts needed for optf/osdf -# -echo "# optf/osdf scripts calling"; -source ${WORKSPACE}/scripts/optf-osdf/osdf/osdf_script.sh - -# -# add here below the start of all docker containers needed for optf/osdf CSIT testing -# -echo "# optf/osdf scripts docker containers spinoff"; - -# -# add here all the configuration steps eventually needed to be carried out for optf/osdf CSIT testing -# -echo "# optf/osdf configuration step"; - - -# -# add here all ROBOT_VARIABLES settings -# -echo "# optf/osdf robot variables settings"; -echo "osdf ip = ${OSDF_IP}" - -ROBOT_VARIABLES="-v OSDF_HOSTNAME:http://${OSDF_IP} -v OSDF_PORT:8699" - -echo ${ROBOT_VARIABLES} - - - diff --git a/plans/optf-osdf/osdf/teardown.sh b/plans/optf-osdf/osdf/teardown.sh deleted file mode 100755 index 3457295d..00000000 --- a/plans/optf-osdf/osdf/teardown.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -# -# ------------------------------------------------------------------------- -# Copyright (c) 2018 AT&T Intellectual Property -# -# 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. -# -# ------------------------------------------------------------------------- -# - - -# -# add here below the killing of all docker containers used for optf/osdf CSIT testing -# - -# -# optf/osdf scripts docker containers killing"; -# - -kill-instance.sh optf-osdf -kill-instance.sh osdf_sim - -echo "# aaf-sms teardown.sh script"; -kill-instance.sh sms -kill-instance.sh vault - diff --git a/plans/optf-osdf/osdf/testplan.txt b/plans/optf-osdf/osdf/testplan.txt deleted file mode 100644 index 87a2d545..00000000 --- a/plans/optf-osdf/osdf/testplan.txt +++ /dev/null @@ -1,22 +0,0 @@ -# -# ------------------------------------------------------------------------- -# Copyright (c) 2015-2017 AT&T Intellectual Property -# -# 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. -# -# ------------------------------------------------------------------------- -# - -# Test suites are relative paths under [integration.git]/test/csit/tests/. -# Place the suites in run order. -optf-osdf/osdf diff --git a/scripts/integration/nfsimulator/netconf-server/docker-compose.yml b/scripts/integration/nfsimulator/netconf-server/docker-compose.yml index b8d4e5a6..c1c7333a 100644 --- a/scripts/integration/nfsimulator/netconf-server/docker-compose.yml +++ b/scripts/integration/nfsimulator/netconf-server/docker-compose.yml @@ -40,4 +40,4 @@ services: networks: netconfnetwork: - driver: bridge \ No newline at end of file + driver: bridge diff --git a/scripts/optf-has/has/has-properties/AAF_RootCA.cer b/scripts/optf-has/has/has-properties/AAF_RootCA.cer deleted file mode 100644 index e9a50d7e..00000000 --- a/scripts/optf-has/has/has-properties/AAF_RootCA.cer +++ /dev/null @@ -1,31 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFPjCCAyagAwIBAgIJAJ6u7cCnzrWdMA0GCSqGSIb3DQEBCwUAMCwxDjAMBgNV -BAsMBU9TQUFGMQ0wCwYDVQQKDARPTkFQMQswCQYDVQQGEwJVUzAeFw0xODA0MDUx -NDE1MjhaFw0zODAzMzExNDE1MjhaMCwxDjAMBgNVBAsMBU9TQUFGMQ0wCwYDVQQK -DARPTkFQMQswCQYDVQQGEwJVUzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC -ggIBAMA5pkgRs7NhGG4ew5JouhyYakgYUyFaG121+/h8qbSdt0hVQv56+EA41Yq7 -XGie7RYDQK9NmAFF3gruE+6X7wvJiChp+Cyd7sFMnb65uWhxEdxWTM2BJFrgfzUn -H8ZCxgaCo3XH4PzlKRy2LQQJEJECwl/RZmRCXijMt5e9h8XoZY/fKkKcZZUsWNCM -pTo266wjvA9MXLmdgReRj0+vrCjrNqy+htwJDztoiHWiYPqT6o8EvGcgjNqjlZx7 -NUNf8MfLDByqKF6+wRbHv1GKjn3/Vijd45Fv8riyRYROiFanvbV6jIfBkv8PZbXg -2VDWsYsgp8NAvMxK+iV8cO+Ck3lBI2GOPZbCEqpPVTYbLUz6sczAlCXwQoPzDIZY -wYa3eR/gYLY1gP2iEVHORag3bLPap9ZX5E8DZkzTNTjovvLk8KaCmfcaUMJsBtDd -ApcUitz10cnRyZc1sX3gE1f3DpzQM6t9C5sOVyRhDcSrKqqwb9m0Ss04XAS9FsqM -P3UWYQyqDXSxlUAYaX892u8mV1hxnt2gjb22RloXMM6TovM3sSrJS0wH+l1nznd6 -aFXftS/G4ZVIVZ/LfT1is4StoyPWZCwwwly1z8qJQ/zhip5NgZTxQw4mi7ww35DY -PdAQOCoajfSvFjqslQ/cPRi/MRCu079heVb5fQnnzVtnpFQRAgMBAAGjYzBhMB0G -A1UdDgQWBBRTVTPyS+vQUbHBeJrBKDF77+rtSTAfBgNVHSMEGDAWgBRTVTPyS+vQ -UbHBeJrBKDF77+rtSTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAN -BgkqhkiG9w0BAQsFAAOCAgEAPx/IaK94n02wPxpnYTy+LVLIxwdq/kawNd6IbiMz -L87zmNMDmHcGbfoRCj8OkhuggX9Lx1/CkhpXimuYsZOFQi5blr/u+v4mIbsgbmi9 -7j+cUHDP0zLycvSvxKHty51LwmaX9a4wkJl5zBU4O1sd/H9tWcEmwJ39ltKoBKBx -c94Zc3iMm5ytRWGj+0rKzLDAXEWpoZ5bE5PLJauA6UDCxDLfs3FwhbS7uDggxYvf -jySF5FCNET94oJ+m8s7VeHvoa8iPGKvXrIqdd7XDHnqJJlVKr7m9S0fMbyEB8ci2 -RtOXDt93ifY1uhoEtEykn4dqBSp8ezvNMnwoXdYPDvTd9uCAFeWFLVreBAWxd25h -PsBTkZA5hpa/rA+mKv6Af4VBViYr8cz4dZCsFChuioVebe9ighrfjB//qKepFjPF -CyjzKN1u0JKm/2x/ORqxkTONG8p3uDwoIOyimUcTtTMv42bfYD88RKakqSFXE9G+ -Z0LlaKABqfjK49o/tsAp+c5LoNlYllKhnetO3QAdraHwdmC36BhoghzR1jpX751A -cZn2VH3Q4XKyp01cJNCJIrua+A+bx6zh3RyW6zIIkbRCbET+UD+4mr8WIcSE3mtR -ZVlnhUDO4z9//WKMVzwS9Rh8/kuszrGFI1KQozXCHLrce3YP6RYZfOed79LXaRwX -dYY= ------END CERTIFICATE----- diff --git a/scripts/optf-has/has/has-properties/conductor.conf.onap b/scripts/optf-has/has/has-properties/conductor.conf.onap deleted file mode 100644 index b8b0a0ad..00000000 --- a/scripts/optf-has/has/has-properties/conductor.conf.onap +++ /dev/null @@ -1,635 +0,0 @@ -[DEFAULT] - -# -# From conductor -# - -# Configuration file for WSGI definition of API. (string value) -api_paste_config = /usr/local/etc/conductor/api_paste.ini - -# Music keyspace for content (string value) -#keyspace = conductor - -# Delay time (Seconds) for MUSIC requests. Set it to 2 seconds by default. -# (integer value) -#delay_time = 2 - -# (boolean value) -#HPA_enabled = true - -# -# From oslo.log -# - -# If set to true, the logging level will be set to DEBUG instead of the default -# INFO level. (boolean value) -# Note: This option can be changed without restarting. -debug = true - -# The name of a logging configuration file. This file is appended to any -# existing logging configuration files. For details about logging configuration -# files, see the Python logging module documentation. Note that when logging -# configuration files are used then all logging configuration is set in the -# configuration file and other logging configuration options are ignored (for -# example, logging_context_format_string). (string value) -# Note: This option can be changed without restarting. -# Deprecated group/name - [DEFAULT]/log_config -log_config_append = /usr/local/bin/log.conf - -# Defines the format string for %%(asctime)s in log records. Default: -# %(default)s . This option is ignored if log_config_append is set. (string -# value) -#log_date_format = %Y-%m-%d %H:%M:%S - -# (Optional) Name of log file to send logging output to. If no default is set, -# logging will go to stderr as defined by use_stderr. This option is ignored if -# log_config_append is set. (string value) -# Deprecated group/name - [DEFAULT]/logfile -#log_file = application.log - -# (Optional) The base directory used for relative log_file paths. This option -# is ignored if log_config_append is set. (string value) -# Deprecated group/name - [DEFAULT]/logdir -log_dir = /var/log - -# Uses logging handler designed to watch file system. When log file is moved or -# removed this handler will open a new log file with specified path -# instantaneously. It makes sense only if log_file option is specified and -# Linux platform is used. This option is ignored if log_config_append is set. -# (boolean value) -#watch_log_file = false - -# Use syslog for logging. Existing syslog format is DEPRECATED and will be -# changed later to honor RFC5424. This option is ignored if log_config_append -# is set. (boolean value) -#use_syslog = false - -# Enable journald for logging. If running in a systemd environment you may wish -# to enable journal support. Doing so will use the journal native protocol -# which includes structured metadata in addition to log messages.This option is -# ignored if log_config_append is set. (boolean value) -#use_journal = false - -# Syslog facility to receive log lines. This option is ignored if -# log_config_append is set. (string value) -#syslog_log_facility = LOG_USER - -# Use JSON formatting for logging. This option is ignored if log_config_append -# is set. (boolean value) -#use_json = false - -# Log output to standard error. This option is ignored if log_config_append is -# set. (boolean value) -#use_stderr = false - -# Format string to use for log messages with context. (string value) -#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s - -# Format string to use for log messages when context is undefined. (string -# value) -#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s - -# Additional data to append to log message when logging level for the message -# is DEBUG. (string value) -#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d - -# Prefix each line of exception output with this format. (string value) -#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s - -# Defines the format string for %(user_identity)s that is used in -# logging_context_format_string. (string value) -#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s - -# List of package logging levels in logger=LEVEL pairs. This option is ignored -# if log_config_append is set. (list value) -#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO - -# Enables or disables publication of error events. (boolean value) -#publish_errors = false - -# The format for an instance that is passed with the log message. (string -# value) -#instance_format = "[instance: %(uuid)s] " - -# The format for an instance UUID that is passed with the log message. (string -# value) -#instance_uuid_format = "[instance: %(uuid)s] " - -# Interval, number of seconds, of log rate limiting. (integer value) -#rate_limit_interval = 0 - -# Maximum number of logged messages per rate_limit_interval. (integer value) -#rate_limit_burst = 0 - -# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG -# or empty string. Logs with level greater or equal to rate_limit_except_level -# are not filtered. An empty string means that all levels are filtered. (string -# value) -#rate_limit_except_level = CRITICAL - -# Enables or disables fatal status of deprecations. (boolean value) -#fatal_deprecations = false - - -[auth] -# appkey = h@ss3crtky400fdntc#001 -appkey = - -[aaf_api] - -# -# From conductor -# - -# is_aaf_enabled. (boolean value) -#is_aaf_enabled = true - -# aaf_cache_expiry_hrs. (integer value) -#aaf_cache_expiry_hrs = 3 - -# aaf_url. (string value) -aaf_url = http://localhost:8100/authz/perms/user/ - -# aaf_cert_file. (string value) -#aaf_cert_file = - -# aaf_cert_key_file. (string value) -#aaf_cert_key_file = - -# aaf_ca_bundle_file. (string value) -#aaf_ca_bundle_file = -aaf_ca_bundle_file = /usr/local/bin/AAF_RootCA.cer - -# aaf_retries. (integer value) -#aaf_retries = 3 - -# aaf_timeout. (integer value) -#aaf_timeout = 100 - -# aaf_user_roles. (list value) -#aaf_permissions = {"type": "org.onap.oof.access","instance": "*","action": "*"} - - -[aaf_sms] - -# -# From conductor -# - -# Is Secret Management service enabled (boolean value) -#is_enabled = true - -# Base URL for SMS, up to and not including the version, and without a trailing -# slash. (string value) -aaf_sms_url = http://aaf-sms.onap:10443 - -# Timeout for SMS API Call (integer value) -#aaf_sms_timeout = 30 - -# Path to the cacert that will be used to verify If this is None, verify will -# be False and the server certis not verified by the client. (string value) -#aaf_ca_certs = AAF_RootCA.cer -aaf_ca_certs = /usr/local/bin/AAF_RootCA.cer - -# Domain Name for HAS (string value) -#secret_domain = has - - -[aai] - -# -# From conductor -# - -# Interval with which to refresh the local cache, in minutes. (integer value) -#cache_refresh_interval = 1440 -cache_refresh_interval = 1 - -# Interval with which to refresh the local complex cache, in minutes. (integer -# value) -#complex_cache_refresh_interval = 1440 -complex_cache_refresh_interval = 60 - -# Data Store table prefix. (string value) -#table_prefix = aai - -# Base URL for A&AI, up to and not including the version, and without a -# trailing slash. (string value) -#server_url = https://controller:8443/aai -server_url = http://localhost:8081/aai/ - -# Timeout for A&AI Rest Call (string value) -#aai_rest_timeout = 30 - -# Number of retry for A&AI Rest Call (string value) -#aai_retries = 3 - -# The version of A&AI in v# format. (string value) -server_url_version = v14 - -# SSL/TLS certificate file in pem format. This certificate must be registered -# with the A&AI endpoint. (string value) -#certificate_file = certificate.pem -certificate_file = - -# Private Certificate Key file in pem format. (string value) -#certificate_key_file = certificate_key.pem -certificate_key_file = - -# Certificate Authority Bundle file in pem format. Must contain the appropriate -# trust chain for the Certificate file. (string value) -#certificate_authority_bundle_file = certificate_authority_bundle.pem -certificate_authority_bundle_file = /usr/local/bin/AAF_RootCA.cer - -[api] - -# -# From conductor -# - -# Toggle Pecan Debug Middleware. (boolean value) -#pecan_debug = false - -# Default maximum number of items returned by API request. (integer value) -# Minimum value: 1 -#default_api_return_limit = 100 - - -[conductor_api] - -# -# From conductor -# - -# Base URL for plans. (string value) -#server_url = - -# auth toggling. (boolean value) -basic_auth_secure = false - - -[controller] - -# -# From conductor -# - -# Timeout for planning requests. Default value is 10. (integer value) -# Minimum value: 1 -#timeout = 10 - -# Maximum number of result sets to return. Default value is 1. (integer value) -# Minimum value: 1 -#limit = 1 - -# Number of workers for controller service. Default value is 1. (integer value) -# Minimum value: 1 -#workers = 1 - -# Set to True when controller will run in active-active mode. When set to -# False, controller will flush any abandoned messages at startup. The -# controller always restarts abandoned template translations at startup. -# (boolean value) -#concurrent = false -concurrent = true - -# Time between checking for new plans. Default value is 1. (integer value) -# Minimum value: 1 -#polling_interval = 1 -opt_schema_file = /opt/has/conductor/etc/conductor/opt_schema.json - -# (integer value) -# Minimum value: 1 -#max_translation_counter = 1 - - -[data] - -# -# From conductor -# - -# Number of workers for data service. Default value is 1. (integer value) -# Minimum value: 1 -#workers = 1 - -# Set to True when data will run in active-active mode. When set to False, data -# will flush any abandoned messages at startup. (boolean value) -#concurrent = false -concurrent = true - -# Default value is -8000, which is the diameter of the earth. The distance -# cannot larger than this value (floating point value) -#existing_placement_cost = -8000.0 - -# (floating point value) -#cloud_candidate_cost = 2.0 - -# (floating point value) -#service_candidate_cost = 1.0 - - -[inventory_provider] - -# -# From conductor -# - -# Extensions list to use (list value) -extensions = aai,generator - - -[messaging_server] - -# -# From conductor -# - -# Music keyspace for messages (string value) -#keyspace = conductor_rpc - -# Wait interval while checking for a message response. Default value is 1 -# second. (integer value) -# Minimum value: 1 -#check_interval = 1 - -# Overall message response timeout. Default value is 120 seconds. (integer -# value) -# Minimum value: 1 -#response_timeout = 120 - -# Timeout for detecting a VM is down, and other VMs can pick the plan up. -# Default value is 5 minutes. (integer value) (integer value) -# Minimum value: 1 -#timeout = 300 - -# Number of workers for messaging service. Default value is 1. (integer value) -# Minimum value: 1 -#workers = 1 - -# Time between checking for new messages. Default value is 1. (integer value) -# Minimum value: 1 -#polling_interval = 1 - -# Log debug messages. Default value is False. (boolean value) -#debug = false - - -[multicloud] - -# -# From conductor -# - -# Base URL for Multicloud without a trailing slash. (string value) -server_url = http://msb.onap.org:8082/api/multicloud - -# Timeout for Multicloud Rest Call (string value) -#multicloud_rest_timeout = 30 - -# Number of retry for Multicloud Rest Call (string value) -#multicloud_retries = 3 - -# The version of Multicloud API. (string value) -#server_url_version = v0 - -# Certificate Authority Bundle file in pem format. Must contain the appropriate -# trust chain for the Certificate file. (string value) -#certificate_authority_bundle_file = certificate_authority_bundle.pem -certificate_authority_bundle_file = /usr/local/bin/AAF_RootCA.cer - -# Enabling HTTPs mode (boolean value) -# enable_https_mode = -enable_https_mode = True -[music_api] - -# -# From conductor -# - -# Base URL for Music REST API without a trailing slash. (string value) -server_url = http://localhost:8080/MUSIC/rest/v2 -version = v2 - -# DEPRECATED: List of hostnames (round-robin access) (list value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Use server_url instead -#hostnames = - -# DEPRECATED: Port (integer value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Use server_url instead -#port = - -# DEPRECATED: Path (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Use server_url instead -#path = - -# Socket connection timeout (floating point value) -#connect_timeout = 3.05 - -# Socket read timeout (floating point value) -#read_timeout = 12.05 - -# Lock timeout (integer value) -#lock_timeout = 10 - -# Replication factor (integer value) -#replication_factor = 1 - -# Use mock API (boolean value) -#mock = false - -# (string value) -#music_topology = SimpleStrategy - -# Name of the first data center (string value) -#first_datacenter_name = - -# Number of replicas in first data center (integer value) -#first_datacenter_replicas = - -# Name of the second data center (string value) -#second_datacenter_name = - -# Number of replicas in second data center (integer value) -#second_datacenter_replicas = - -# Name of the third data center (string value) -#third_datacenter_name = - -# Number of replicas in third data center (integer value) -#third_datacenter_replicas = - -# new or old version (boolean value) -#music_new_version = -music_new_version = True - -# for version (string value) -#music_version = -music_version = "3.0.21" - -[prometheus] - -# -# From conductor -# - -# Prometheus Metrics Endpoint (list value) -#metrics_port = 8000,8001,8002,8003,8004 - - -[reservation] - -# -# From conductor -# - -# Number of workers for reservation service. Default value is 1. (integer -# value) -# Minimum value: 1 -#workers = 1 - -# Number of times reservation/release should be attempted. (integer value) -#reserve_retries = 1 - -# Timeout for detecting a VM is down, and other VMs can pick the plan up and -# resereve. Default value is 600 seconds. (integer value) (integer value) -# Minimum value: 1 -#timeout = 600 - -# Set to True when reservation will run in active-active mode. When set to -# False, reservation will restart any orphaned reserving requests at startup. -# (boolean value) -#concurrent = false -concurrent = true - -# (integer value) -# Minimum value: 1 -#max_reservation_counter = 1 - - -[sdnc] - -# -# From conductor -# - -# Interval with which to refresh the local cache, in minutes. (integer value) -#cache_refresh_interval = 1440 - -# Data Store table prefix. (string value) -#table_prefix = sdnc - -# Base URL for SDN-C, up to and including the version. (string value) -#server_url = https://controller:8443/restconf/ -server_url = http://localhost:8083/restconf/ - -# Timeout for SDNC Rest Call (string value) -#sdnc_rest_timeout = 30 - -# Retry Numbers for SDNC Rest Call (string value) -#sdnc_retries = 3 - - -[service_controller] - -# -# From conductor -# - -# Extensions list to use (list value) -#extensions = sdnc - - -[solver] - -# -# From conductor -# - -# Number of workers for solver service. Default value is 1. (integer value) -# Minimum value: 1 -#workers = 1 - -# The timeout value for solver service. Default value is 480 seconds. (integer -# value) -# Minimum value: 1 -#solver_timeout = 480 - -# Set to True when solver will run in active-active mode. When set to False, -# solver will restart any orphaned solving requests at startup. (boolean value) -#concurrent = false -concurrent = true - -# Timeout for detecting a VM is down, and other VMs can pick the plan up. This -# value should be larger than solver_timeoutDefault value is 10 minutes. -# (integer value) (integer value) -# Minimum value: 1 -#timeout = 600 - -# (integer value) -# Minimum value: 1 -#max_solver_counter = 1 - - -[vim_controller] - -# -# From conductor -# - -# Extensions list to use (list value) -#extensions = multicloud - - -[sdc] - -# -# From conductor -# - - -# Data Store table prefix. (string value) -#table_prefix = sdc - -# Base URL for SDC, up to and not including the version, and without a -# trailing slash. (string value) -#server_url = https://controller:8443/sdc -server_url = http://localhost:9595/sdc - -# Timeout for SDC Rest Call (string value) -#sdc_rest_timeout = 30 - -# Number of retry for SDC Rest Call (string value) -#sdc_retries = 3 - -# The version of A&AI in v# format. (string value) -server_url_version = v1 - -# SSL/TLS certificate file in pem format. This certificate must be registered -# with the SDC endpoint. (string value) -#certificate_file = certificate.pem -certificate_file = - -# Private Certificate Key file in pem format. (string value) -#certificate_key_file = certificate_key.pem -certificate_key_file = - -# Certificate Authority Bundle file in pem format. Must contain the appropriate -# trust chain for the Certificate file. (string value) -#certificate_authority_bundle_file = certificate_authority_bundle.pem -certificate_authority_bundle_file = /usr/local/bin/AAF_RootCA.cer - -# Username for SDC. (string value) -#username = - -# Password for SDC. (string value) -#password = - -temp_path = "/tmp/nsttemplates" - diff --git a/scripts/optf-has/has/has-properties/has.json b/scripts/optf-has/has/has-properties/has.json deleted file mode 100644 index 4f487712..00000000 --- a/scripts/optf-has/has/has-properties/has.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "domain": { - "name": "has", - "secrets": [ - { - "name": "aai", - "values": { - "username": "oof@oof.onap.org", - "password": "demo123456!" - } - }, - { - "name": "conductor_api", - "values": { - "username": "admin1", - "password": "plan.15" - } - }, - { - "name": "sdnc", - "values": { - "username": "admin", - "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" - } - }, - { - "name": "music_api", - "values": { - "aafuser": "conductor", - "aafpass": "c0nduct0r", - "aafns": "conductor" - } - }, - { - "name": "aaf_api", - "values": { - "username": "aaf_admin@people.osaaf.org", - "password": "demo123456!", - "aaf_conductor_user": "oof@oof.onap.org" - } - } - ] - } -} diff --git a/scripts/optf-has/has/has-properties/log.conf.onap b/scripts/optf-has/has/has-properties/log.conf.onap deleted file mode 100644 index 41d66444..00000000 --- a/scripts/optf-has/has/has-properties/log.conf.onap +++ /dev/null @@ -1,65 +0,0 @@ -[loggers] -keys=root - -[handlers] -keys=trfhand,consoleHandler,audithand,metrichand,errhand,debughand - -[logger_root] -level=NOTSET -handlers=trfhand,consoleHandler,audithand,metrichand,errhand,debughand - -[handler_consoleHandler] -class=StreamHandler -level=NOTSET -formatter=generic -args=(sys.stdout,) - -[handler_trfhand] -class=handlers.TimedRotatingFileHandler -level=NOTSET -formatter=generic -args=('application.log','midnight', 1, 10) - -[handler_audithand] -class=handlers.TimedRotatingFileHandler -level=INFO -formatter=audit -args=('audit.log', 'midnight', 1, 10) - -[handler_metrichand] -class=handlers.TimedRotatingFileHandler -level=INFO -formatter=metric -args=('metric.log','midnight', 1, 10) - -[handler_errhand] -class=handlers.TimedRotatingFileHandler -level=ERROR -formatter=error -args=('error.log','midnight', 1, 10) - -[handler_debughand] -class=handlers.TimedRotatingFileHandler -level=DEBUG -formatter=generic -args=('debug.log','midnight', 1, 10) - -[formatters] -keys=generic,audit,metric,error - -[formatter_audit] -format=%(asctime)s|%(asctime)s|00000000-0000-0000-0000-000000000000||%(thread)d||Conductor|N/A|COMPLETE|200|sucessful||%(levelname)s|||0|%(module)s|||||||||%(name)s : [-] %(message)s -datefmt= - -[formatter_metric] -format=%(asctime)s|%(asctime)s|00000000-0000-0000-0000-000000000000||%(thread)d||Conductor|N/A|N/A|N/A|COMPLETE|200|sucessful||%(levelname)s|||0|%(module)s||||||||||%(name)s : [-] %(message)s -datefmt= - -[formatter_error] -format=%(asctime)s|00000000-0000-0000-0000-000000000000|%(thread)d|Conductor|N/A|N/A|N/A|ERROR|500|N/A|%(name)s : [-] %(message)s -datefmt= - -[formatter_generic] -format=%(asctime)s||%(thread)d|%(levelname)s|%(module)s|%(name)s: [-] %(message)s -datefmt= - diff --git a/scripts/optf-has/has/has_proxy_settings.sh b/scripts/optf-has/has/has_proxy_settings.sh deleted file mode 100755 index 48096103..00000000 --- a/scripts/optf-has/has/has_proxy_settings.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# -# put into this file local proxy settings in case they are needed on your local environment -echo "### This is ${WORKSPACE}/scripts/optf-has/has/has_proxy_settings.sh" - -echo "optf/has proxy settings" -if [ "$#" -eq "1" ]; then - echo "$1" - cd $1 - pwd -else - exit 1 -fi - -# don't remove following lines: commands can be attached here - - diff --git a/scripts/optf-has/has/has_script.sh b/scripts/optf-has/has/has_script.sh deleted file mode 100755 index b845dda5..00000000 --- a/scripts/optf-has/has/has_script.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# -echo "### This is ${WORKSPACE}/scripts/optf-has/has/has_script.sh" -# -# add here whatever commands is needed to prepare the optf/has CSIT testing -# - -# assume the base is /tmp dir -DIR=/tmp - -# the directory of the script -echo ${DIR} -cd ${DIR} - -# create directory for volume and copy configuration file -# run docker containers -COND_CONF=/tmp/conductor/properties/conductor.conf -LOG_CONF=/tmp/conductor/properties/log.conf -IMAGE_NAME=nexus3.onap.org:10001/onap/optf-has -IMAGE_VER=2.1.3-SNAPSHOT-latest -BUNDLE=/tmp/conductor/properties/AAF_RootCA.cer - -mkdir -p /tmp/conductor/properties -mkdir -p /tmp/sms/properties -mkdir -p /tmp/conductor/logs -cp ${WORKSPACE}/scripts/optf-has/has/has-properties/conductor.conf.onap /tmp/conductor/properties/conductor.conf -cp ${WORKSPACE}/scripts/optf-has/has/has-properties/log.conf.onap /tmp/conductor/properties/log.conf -cp ${WORKSPACE}/scripts/optf-has/has/has-properties/AAF_RootCA.cer /tmp/conductor/properties/AAF_RootCA.cer -cp ${WORKSPACE}/scripts/optf-has/has/has-properties/has.json /tmp/sms/properties/has.json -#chmod -R 777 /tmp/conductor/properties - -MUSIC_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-tomcat` -echo "MUSIC_IP=${MUSIC_IP}" -SMS_IP=`get-instance-ip.sh sms` -echo "SMS_IP=${SMS_IP}" - -# change MUSIC reference to the local instance -sed -i -e "s%localhost:8080/MUSIC%${MUSIC_IP}:8080/MUSIC%g" /tmp/conductor/properties/conductor.conf - -AAISIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' aaisim` -echo "AAISIM_IP=${AAISIM_IP}" - -# change AAI reference to the local instance -sed -i -e "s%localhost:8081/%${AAISIM_IP}:8081/%g" /tmp/conductor/properties/conductor.conf - -SDCSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' sdcsim` -echo "SDCSIM_IP=${SDCSIM_IP}" - -# change SDC reference to the local instance -sed -i -e "s%localhost:9595/%${SDCSIM_IP}:9595/%g" /tmp/conductor/properties/conductor.conf - - -MULTICLOUDSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' multicloudsim` -echo "MULTICLOUDSIM_IP=${MULTICLOUDSIM_IP}" - -# change MULTICLOUD reference to the local instance -sed -i -e "s%msb.onap.org:8082/%${MULTICLOUDSIM_IP}:8082/%g" /tmp/conductor/properties/conductor.conf - -AAFSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' aafsim` -echo "AAFSIM_IP=${AAFSIM_IP}" - -# change AAF reference to the local instance -sed -i -e "s%localhost:8100/%${AAFSIM_IP}:8100/%g" /tmp/conductor/properties/conductor.conf - -#SMS -sed -i -e "s%aaf-sms.onap:10443%${SMS_IP}:10443%g" /tmp/conductor/properties/conductor.conf -#Preload secrets -docker exec --user root -i sms /bin/sh -c "mkdir -p /preload/config" -docker cp /tmp/sms/properties/has.json sms:/preload/config/has.json -docker exec --user root -i sms /bin/sh -c "/sms/bin/preload -cacert /sms/certs/aaf_root_ca.cer -jsondir /preload/config -serviceport 10443 -serviceurl http://localhost" -docker logs vault - -#onboard conductor into music -echo "Query MUSIC to check for reachability. Query Version" -curl -vvvvv --noproxy "*" --request GET http://${MUSIC_IP}:8080/MUSIC/rest/v2/version -H "Content-Type: application/json" - -echo "Onboard conductor into music" -curl -vvvvv --noproxy "*" --request POST http://${MUSIC_IP}:8080/MUSIC/rest/v2/admin/onboardAppWithMusic -H "Content-Type: application/json" -H "Authorization: Basic Y29uZHVjdG9yOmMwbmR1Y3Qwcg==" --data @${WORKSPACE}/tests/optf-has/has/data/onboard.json - -docker run -d --name cond-cont --user root -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf -v ${BUNDLE}:/usr/local/bin/AAF_RootCA.cer ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-controller --config-file=/usr/local/bin/conductor.conf -sleep 15 -docker run -d --name cond-api --user root -p "8091:8091" -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf -v ${BUNDLE}:/usr/local/bin/AAF_RootCA.cer ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-api --port=8091 -- --config-file=/usr/local/bin/conductor.conf -sleep 15 -docker run -d --name cond-solv --user root -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf -v ${BUNDLE}:/usr/local/bin/AAF_RootCA.cer ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-solver --config-file=/usr/local/bin/conductor.conf -sleep 15 -docker run -d --name cond-resv --user root -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf -v ${BUNDLE}:/usr/local/bin/AAF_RootCA.cer ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-reservation --config-file=/usr/local/bin/conductor.conf -sleep 5 -docker run -d --name cond-data --user root -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf -v ${BUNDLE}:/usr/local/bin/AAF_RootCA.cer ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-data --config-file=/usr/local/bin/conductor.conf -sleep 15 - -COND_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' cond-api` -${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${COND_IP} 8091 - -echo "inspect docker things for tracing purpose" -docker inspect cond-data -docker inspect cond-cont -docker inspect cond-api -docker inspect cond-solv -docker inspect cond-resv - -echo "dump music content just after conductor is started" -docker exec music-db /usr/bin/nodetool status -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' diff --git a/scripts/optf-has/has/has_teardown_script.sh b/scripts/optf-has/has/has_teardown_script.sh deleted file mode 100755 index bef28b43..00000000 --- a/scripts/optf-has/has/has_teardown_script.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# -echo "print meaningful data before scratching everything" -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM conductor.plans' - -echo "optf/has scripts docker containers killing"; -docker stop cond-api -docker stop cond-solv -docker stop cond-cont -docker stop cond-data -docker stop cond-resv - -docker rm cond-api -docker rm cond-solv -docker rm cond-cont -docker rm cond-data -docker rm cond-resv - diff --git a/scripts/optf-has/has/music-properties/log4j.properties b/scripts/optf-has/has/music-properties/log4j.properties deleted file mode 100644 index 1312e9bb..00000000 --- a/scripts/optf-has/has/music-properties/log4j.properties +++ /dev/null @@ -1,3 +0,0 @@ -# No longer needed, please see the logback properties - - diff --git a/scripts/optf-has/has/music-properties/music.properties b/scripts/optf-has/has/music-properties/music.properties deleted file mode 100644 index 02fb52df..00000000 --- a/scripts/optf-has/has/music-properties/music.properties +++ /dev/null @@ -1,17 +0,0 @@ -my.public.ip=localhost -all.public.ips=localhost -my.id=0 -all.ids=0 -####################################### -# Optional current values are defaults -####################################### -zookeeper.host=music-zk -cassandra.host=music-db -#music.ip=localhost -#debug=true -#music.rest.ip=localhost -#lock.lease.period=6000 -cassandra.user=nelson24 -cassandra.password=winman123 - - diff --git a/scripts/optf-has/has/music_script.sh b/scripts/optf-has/has/music_script.sh deleted file mode 100755 index 4257dad7..00000000 --- a/scripts/optf-has/has/music_script.sh +++ /dev/null @@ -1,173 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# -echo "### This is ${WORKSPACE}/scripts/optf-has/has/music_script.sh" -# -# add here whatever commands is needed to prepare the music setup for optf-has CSIT testing -# - -# -# add here all the configuration steps eventually needed to be carried out for music CSIT testing -# -echo "########## music configuration step ##########"; -CASS_IMG=nexus3.onap.org:10001/onap/music/cassandra_3_11:3.0.23 -CASS_IMG_JOB=nexus3.onap.org:10001/onap/music/cassandra_job:3.0.23 -TOMCAT_IMG=nexus3.onap.org:10001/library/tomcat:8.5 -ZK_IMG=nexus3.onap.org:10001/library/zookeeper:3.4 -BUSYBOX_IMG=nexus3.onap.org:10001/library/busybox:latest -MUSIC_IMG=nexus3.onap.org:10001/onap/music/music:3.0.23 -TT=10 -WORK_DIR=/tmp/music -CASS_USERNAME=nelson24 -CASS_PASSWORD=winman123 -MUSIC_SOURCE_PROPERTIES=${WORKSPACE}/scripts/optf-has/has/music-properties -MUSIC_PROPERTIES=/tmp/music/properties -MUSIC_LOGS=/tmp/music/logs -CQL_FILES=${WORKSPACE}/scripts/music/cql -MUSIC_TRIGGER_DIR=/tmp/triggers -TRIGGER_JAR=musictrigger-0.1.0.jar -TRIGGER_JAR_URL=https://nexus.onap.org/service/local/repositories/autorelease-72298/content/org/onap/music/musictrigger/0.1.0/musictrigger-0.1.0.jar - -mkdir -p ${MUSIC_PROPERTIES} -mkdir -p ${MUSIC_LOGS} -mkdir -p ${MUSIC_LOGS}/MUSIC -mkdir -p /tmp/triggers - -# Get Trigger -echo "########## Get Trigger Jar ##########" -curl -o $MUSIC_TRIGGER_DIR/$TRIGGER_JAR $TRIGGER_JAR_URL - -cp ${MUSIC_SOURCE_PROPERTIES}/* ${WORK_DIR}/properties - -# Create Volume for mapping war file and tomcat -echo "########## create music-vol ##########" -docker volume create --name music-vol; - -# Create a network for all the containers to run in. -echo "########## create music-net ##########" -docker network create music-net; - -# Start Cassandra -echo "########## Start Cassandra (music-db) ##########" -docker run -d --name music-db --network music-net -p "7000:7000" -p "7001:7001" -p "7199:7199" -p "9042:9042" -p "9160:9160" \ --v $MUSIC_TRIGGER_DIR/$TRIGGER_JAR:/etc/cassandra/triggers/$TRIGGER_JAR \ -${CASS_IMG}; - -# See if cassandra is up. -echo "########## Running Test to see if Cassandra is up ##########" -CASSA_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-db` -echo "CASSANDRA_IP=${CASSA_IP}" -${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${CASSA_IP} 9042 - -# Sleep 60 seconds to ensure Cassandra is up and running. -sleep 60; - -# Check to see if Keyspaces are there. -docker exec music-db cqlsh -u cassandra -p cassandra -e "DESCRIBE keyspaces;" - -# Load data into Cassandra via Cassandra Job -echo "########## Running Cassandra Job (music-job) to load cql files ##########" -docker run -d --name music-job --network music-net \ --v $CQL_FILES/admin.cql:/cql/admin.cql \ --v $CQL_FILES/admin_pw.cql:/cql/admin_pw.cql \ --v $CQL_FILES/extra:/cql/extra \ --e PORT=9042 \ --e CASS_HOSTNAME=music-db \ --e USERNAME=$CASS_USERNAME \ --e PASSWORD=$CASS_PASSWORD \ -$CASS_IMG_JOB - -sleep 70; - -# Logs -echo "########## Cassandra Job logs ##########" -docker logs music-job -# Check to see if Keyspaces are there. -# "############## Check if new username and password work ##########" -docker exec music-db cqlsh -u $CASS_USERNAME -p $CASS_PASSWORD -e "DESCRIBE keyspaces;" -# Check to see if Keyspaces are there. -# "############## Check if original username and password work ##########" -docker exec music-db cqlsh -u cassandra -p cassandra -e "DESCRIBE keyspaces;" -# Check to see if Keyspaces are there. -# "############## Check if new cassandra username and password work ##########" -docker exec music-db cqlsh -u cassandra -p SomeLongRandomStringNoonewillthinkof -e "DESCRIBE keyspaces;" - - -# Start Music war -echo "########## Start music-war ##########" -docker run -d --name music-war -v music-vol:/app ${MUSIC_IMG}; - -# Start Zookeeper -echo "########## Start zookeeper (music-zk) ##########" -docker run -d --name music-zk --network music-net -p "2181:2181" -p "2888:2888" -p "3888:3888" ${ZK_IMG}; - -ZOO_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-zk` -echo "ZOOKEEPER_IP=${ZOO_IP}" - -# Delay between Cassandra/Zookeeper and Tomcat -sleep 120; - -# Start Up tomcat - Needs to have properties,logs dir and war file volume mapped. -echo "########## Start Tomcat (music-tomcat) ##########" -docker run -d --name music-tomcat --network music-net -p "8080:8080" -v music-vol:/usr/local/tomcat/webapps -v ${WORK_DIR}/properties:/opt/app/music/etc:ro -v ${WORK_DIR}/logs:/opt/app/music/logs ${TOMCAT_IMG}; - -# Connect tomcat to host bridge network so that its port can be seen. -echo "########## Create Bridge for Tomcat ##########" -docker network connect bridge music-tomcat; - -TOMCAT_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-tomcat` -echo "TOMCAT_IP=${TOMCAT_IP}" - -${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${TOMCAT_IP} 8080 - -sleep 20; -echo "########## TOMCAT Logs ##########" -docker logs music-tomcat -# Needed only if we need to look at localhost logs. -echo "########## MUSIC localhost Log ##########" -docker exec music-tomcat /bin/bash -c "cat /usr/local/tomcat/logs/localhost*" - -echo "########## MUSIC Log ##########" -ls -al $MUSIC_LOGS/MUSIC -docker exec music-tomcat /bin/bash -c "cat /opt/app/music/logs/MUSIC/music.log" -#echo "########## MUSIC error log ##########" -#docker exec music-tomcat /bin/bash -c "cat /opt/app/music/logs/MUSIC/error.log" - -echo "########## inspect docker things for tracing purpose ##########" -docker inspect music-db -docker inspect music-zk -docker inspect music-tomcat -docker inspect music-war -docker volume inspect music-vol -docker network inspect music-net - -echo "########## dump music content just after music is started ##########" -docker exec music-db /usr/bin/nodetool status -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'DESCRIBE keyspace admin' -docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' - - -# -# add here all ROBOT_VARIABLES settings -# -echo "########## music robot variables settings ##########"; -ROBOT_VARIABLES="-v MUSIC_HOSTNAME:http://${TOMCAT_IP} -v MUSIC_PORT:8080 -v COND_HOSTNAME:http://localhost -v COND_PORT:8091" - -echo ${ROBOT_VARIABLES} - - - diff --git a/scripts/optf-has/has/music_teardown_script.sh b/scripts/optf-has/has/music_teardown_script.sh deleted file mode 100755 index 2e7d707b..00000000 --- a/scripts/optf-has/has/music_teardown_script.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# - - -# -# add here below the killing of all docker containers used for music CSIT testing -# -echo "dump music.log files" -ls -alF /tmp/music -ls -alFR /tmp/music -ls -alF /tmp/music/properties -cat /tmp/music/properties/music.properties -echo "===== MUSIC log ==================" -docker exec music-tomcat /bin/bash -c "cat /opt/app/music/logs/MUSIC/music.log" -#cat /tmp/music/logs/MUSIC/music.log -echo "===== MUSIC error log ==================" -docker exec music-tomcat /bin/bash -c "cat /opt/app/music/logs/MUSIC/error.log" -#cat /tmp/music/logs/MUSIC/error.log - -echo "##########################################################"; -echo "#"; -echo "# music scripts docker containers killing"; -echo "#"; -echo "##########################################################"; -docker stop music-tomcat -docker stop music-war -docker stop music-zk -docker stop music-job -docker stop music-db - -docker rm music-zk -docker rm music-tomcat -docker rm music-war -docker rm music-job -docker rm music-db - -docker network rm music-net; -sleep 5; - -docker volume rm music-vol - -#rm -Rf /tmp/music - - - - - diff --git a/scripts/optf-has/has/setup-sms.sh b/scripts/optf-has/has/setup-sms.sh deleted file mode 100755 index e6a4b227..00000000 --- a/scripts/optf-has/has/setup-sms.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash -# -# Copyright 2018 Intel Corporation -# -# 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. -# - -# Not sure why this is needed. -source ${SCRIPTS}/common_functions.sh - -CONFIG_FILE=$(pwd)/config/smsconfig.json - -mkdir -p $(pwd)/config - -docker login -u docker -p docker nexus3.onap.org:10001 -docker pull nexus3.onap.org:10001/onap/aaf/sms -docker pull docker.io/vault:1.3.3 - -# -# Running vault in dev server mode here for CSIT -# In HELM it runs in production mode -# -docker run -e "VAULT_DEV_ROOT_TOKEN_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \ - -e SKIP_SETCAP=true \ - --name vault -d -p 8200:8200 vault:1.3.3 - -SMSDB_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' vault) -cat << EOF > $CONFIG_FILE -{ - "cafile": "auth/selfsignedca.pem", - "servercert": "auth/server.cert", - "serverkey": "auth/server.key", - - "smsdbaddress": "http://$SMSDB_IP:8200", - "vaulttoken": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", - "disable_tls": true -} -EOF - -cat $CONFIG_FILE - -docker run --workdir /sms -v $CONFIG_FILE:/sms/smsconfig.json \ - --name sms -d -p 10443:10443 --user root nexus3.onap.org:10001/onap/aaf/sms - -SMS_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sms) - -echo "###### WAITING FOR ALL CONTAINERS TO COME UP" -sleep 20 -for i in {1..20}; do - curl -sS -m 1 http://${SMSDB_IP}:8200/v1/sys/seal-status && break - echo sleep $i - sleep $i -done - -# -# add here all ROBOT_VARIABLES settings -# -echo "# sms robot variables settings"; -ROBOT_VARIABLES="-v SMS_HOSTNAME:http://${SMS_IP} -v SMS_PORT:10443" - -echo ${ROBOT_VARIABLES} diff --git a/scripts/optf-has/has/simulator_script.sh b/scripts/optf-has/has/simulator_script.sh deleted file mode 100755 index a3e4faa6..00000000 --- a/scripts/optf-has/has/simulator_script.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# -echo "### This is ${WORKSPACE}/scripts/optf-has/has/simulator_script.sh" -# -# add here whatever commands is needed to prepare the optf/has CSIT testing -# - -# assume the base is /tmp dir -DIR=/tmp - -# the directory of the script -echo ${DIR} -cd ${DIR} - -# the temp directory used, within $DIR -# omit the -p parameter to create a temporal directory in the default location -WORK_DIR=`mktemp -d -p "$DIR"` -echo ${WORK_DIR} -cd ${WORK_DIR} - -# clone optf-has project -git clone https://gerrit.onap.org/r/optf/has - -#echo "i am ${USER} : only non jenkins users may need proxy settings" -if [ ${USER} != 'jenkins' ]; then - - # add proxy settings into this script when you work behind a proxy - ${WORKSPACE}/scripts/optf-has/has/has_proxy_settings.sh ${WORK_DIR} - -fi - -# prepare aaisim -cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/ - -# run aaisim -./run_aaisim.sh - -AAISIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' aaisim` -echo "AAISIM_IP=${AAISIM_IP}" - -${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${AAISIM_IP} 8081 - -# prepare multicloudsim -cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/multicloudsim/ - -# check Dockerfile content -cat ./Dockerfile - -# build multicloudsim -docker build -t multicloudsim . - -# run multicloudsim -docker run -d --name multicloudsim -p 8082:8082 multicloudsim - -MULTICLOUDSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' multicloudsim` -echo "MULTICLOUDSIM_IP=${MULTICLOUDSIM_IP}" - -${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${MULTICLOUDSIM_IP} 8082 - - -# prepare sdcsim -cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/sdcsim/ - -# check Dockerfile content -cat ./Dockerfile - -# build multicloudsim -docker build -t sdcsim . - -# run multicloudsim -docker run -d --name sdcsim -p 9595:9595 sdcsim - -SDCSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' sdcsim` -echo "SDCSIM_IP=${SDCSIM_IP}" - -${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${SDCSIM_IP} 9595 - - -# prepare aafsim -echo "simulator_script: prepare aafsim " -cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/aafsim/ - -# check Dockerfile content -echo "simulator_script: Dockerfile " -cat ./Dockerfile - -# build aafsim -echo "simulator_script: build docker " -docker build -t aafsim . - -# run aafsim -echo "simulator_script: run docker " -docker run -d --name aafsim -p 8100:8100 aafsim - -AAFSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' aafsim` -echo "simulator_script: AAFSIM_IP=${AAFSIM_IP}" - -#echo "simulator_script: wait_for_port" -${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${AAFSIM_IP} 8100 - -# wait a while before continuing -sleep 2 - -echo "inspect docker things for tracing purpose" -docker inspect aaisim -docker inspect multicloudsim -docker inspect aafsim diff --git a/scripts/optf-has/has/simulator_teardown_script.sh b/scripts/optf-has/has/simulator_teardown_script.sh deleted file mode 100755 index 14b38868..00000000 --- a/scripts/optf-has/has/simulator_teardown_script.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# 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. -# -echo "optf/has scripts docker containers killing"; -docker stop aaisim -docker stop multicloudsim -docker stop aafsim -docker stop sdcsim - -docker rm aaisim -docker rm multicloudsim -docker rm aafsim -docker rm sdcsim \ No newline at end of file diff --git a/scripts/optf-has/has/wait_for_port.sh b/scripts/optf-has/has/wait_for_port.sh deleted file mode 100755 index 10f08ded..00000000 --- a/scripts/optf-has/has/wait_for_port.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -if [[ $# -ne 2 ]]; then - echo "Usage: wait-for-port hostname port" >&2 - exit 1 -fi - -host=$1 -port=$2 - -echo "Waiting for $host port $port open" -until telnet $host $port /dev/null | grep -q '^Connected'; do - sleep 1 -done - -echo "$host port $port is open" - -exit 0 diff --git a/scripts/optf-osdf/osdf/osdf-properties/aaf_root_ca.cer b/scripts/optf-osdf/osdf/osdf-properties/aaf_root_ca.cer deleted file mode 100644 index e9a50d7e..00000000 --- a/scripts/optf-osdf/osdf/osdf-properties/aaf_root_ca.cer +++ /dev/null @@ -1,31 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFPjCCAyagAwIBAgIJAJ6u7cCnzrWdMA0GCSqGSIb3DQEBCwUAMCwxDjAMBgNV -BAsMBU9TQUFGMQ0wCwYDVQQKDARPTkFQMQswCQYDVQQGEwJVUzAeFw0xODA0MDUx -NDE1MjhaFw0zODAzMzExNDE1MjhaMCwxDjAMBgNVBAsMBU9TQUFGMQ0wCwYDVQQK -DARPTkFQMQswCQYDVQQGEwJVUzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC -ggIBAMA5pkgRs7NhGG4ew5JouhyYakgYUyFaG121+/h8qbSdt0hVQv56+EA41Yq7 -XGie7RYDQK9NmAFF3gruE+6X7wvJiChp+Cyd7sFMnb65uWhxEdxWTM2BJFrgfzUn -H8ZCxgaCo3XH4PzlKRy2LQQJEJECwl/RZmRCXijMt5e9h8XoZY/fKkKcZZUsWNCM -pTo266wjvA9MXLmdgReRj0+vrCjrNqy+htwJDztoiHWiYPqT6o8EvGcgjNqjlZx7 -NUNf8MfLDByqKF6+wRbHv1GKjn3/Vijd45Fv8riyRYROiFanvbV6jIfBkv8PZbXg -2VDWsYsgp8NAvMxK+iV8cO+Ck3lBI2GOPZbCEqpPVTYbLUz6sczAlCXwQoPzDIZY -wYa3eR/gYLY1gP2iEVHORag3bLPap9ZX5E8DZkzTNTjovvLk8KaCmfcaUMJsBtDd -ApcUitz10cnRyZc1sX3gE1f3DpzQM6t9C5sOVyRhDcSrKqqwb9m0Ss04XAS9FsqM -P3UWYQyqDXSxlUAYaX892u8mV1hxnt2gjb22RloXMM6TovM3sSrJS0wH+l1nznd6 -aFXftS/G4ZVIVZ/LfT1is4StoyPWZCwwwly1z8qJQ/zhip5NgZTxQw4mi7ww35DY -PdAQOCoajfSvFjqslQ/cPRi/MRCu079heVb5fQnnzVtnpFQRAgMBAAGjYzBhMB0G -A1UdDgQWBBRTVTPyS+vQUbHBeJrBKDF77+rtSTAfBgNVHSMEGDAWgBRTVTPyS+vQ -UbHBeJrBKDF77+rtSTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAN -BgkqhkiG9w0BAQsFAAOCAgEAPx/IaK94n02wPxpnYTy+LVLIxwdq/kawNd6IbiMz -L87zmNMDmHcGbfoRCj8OkhuggX9Lx1/CkhpXimuYsZOFQi5blr/u+v4mIbsgbmi9 -7j+cUHDP0zLycvSvxKHty51LwmaX9a4wkJl5zBU4O1sd/H9tWcEmwJ39ltKoBKBx -c94Zc3iMm5ytRWGj+0rKzLDAXEWpoZ5bE5PLJauA6UDCxDLfs3FwhbS7uDggxYvf -jySF5FCNET94oJ+m8s7VeHvoa8iPGKvXrIqdd7XDHnqJJlVKr7m9S0fMbyEB8ci2 -RtOXDt93ifY1uhoEtEykn4dqBSp8ezvNMnwoXdYPDvTd9uCAFeWFLVreBAWxd25h -PsBTkZA5hpa/rA+mKv6Af4VBViYr8cz4dZCsFChuioVebe9ighrfjB//qKepFjPF -CyjzKN1u0JKm/2x/ORqxkTONG8p3uDwoIOyimUcTtTMv42bfYD88RKakqSFXE9G+ -Z0LlaKABqfjK49o/tsAp+c5LoNlYllKhnetO3QAdraHwdmC36BhoghzR1jpX751A -cZn2VH3Q4XKyp01cJNCJIrua+A+bx6zh3RyW6zIIkbRCbET+UD+4mr8WIcSE3mtR -ZVlnhUDO4z9//WKMVzwS9Rh8/kuszrGFI1KQozXCHLrce3YP6RYZfOed79LXaRwX -dYY= ------END CERTIFICATE----- diff --git a/scripts/optf-osdf/osdf/osdf-properties/osdf.json b/scripts/optf-osdf/osdf/osdf-properties/osdf.json deleted file mode 100644 index ae059f3e..00000000 --- a/scripts/optf-osdf/osdf/osdf-properties/osdf.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "domain": { - "name": "osdf", - "secrets": [ - { - "name": "so", - "values": { - "UserName": "", - "Password": "" - } - }, - { - "name": "conductor", - "values": { - "UserName": "admin1", - "Password": "plan.15" - } - }, - { - "name": "policyPlatform", - "values": { - "UserName": "testpdp", - "Password": "alpha123" - } - }, - { - "name": "policyClient", - "values": { - "UserName": "python", - "Password": "test" - } - }, - { - "name": "dmaap", - "values": { - "UserName": "NA", - "Password": "NA" - } - }, - { - "name": "sdc", - "values": { - "UserName": "NA", - "Password": "NA" - } - }, - { - "name": "osdfPlacement", - "values": { - "UserName": "test", - "Password": "testpwd" - } - }, - { - "name": "osdfPlacementSO", - "values": { - "UserName": "so_test", - "Password": "so_testpwd" - } - }, - { - "name": "osdfPlacementVFC", - "values": { - "UserName": "vfc_test", - "Password": "vfc_testpwd" - } - }, - { - "name": "osdfCMScheduler", - "values": { - "UserName": "test1", - "Password": "testpwd1" - } - }, - { - "name": "configDb", - "values": { - "UserName": "osdf", - "Password": "passwd" - } - }, - { - "name": "pciHMS", - "values": { - "UserName": "", - "Password": "" - } - }, - { - "name": "osdfPCIOpt", - "values": { - "UserName": "pci_test", - "Password": "pci_testpwd" - } - }, - { - "name": "osdfOptEngine", - "values": { - "UserName": "opt_test", - "Password": "opt_testpwd" - } - } - ] - } -} \ No newline at end of file diff --git a/scripts/optf-osdf/osdf/osdf-properties/osdf_config.yaml b/scripts/optf-osdf/osdf/osdf-properties/osdf_config.yaml deleted file mode 100755 index 95856df8..00000000 --- a/scripts/optf-osdf/osdf/osdf-properties/osdf_config.yaml +++ /dev/null @@ -1,52 +0,0 @@ -placementVersioningEnabled: False - -# Placement API latest version numbers to be set in HTTP header -placementMajorVersion: "1" -placementMinorVersion: "0" -placementPatchVersion: "0" - -# Placement API default version numbers to be set in HTTP header -placementDefaultMajorVersion: "1" -placementDefaultMinorVersion: "0" -placementDefaultPatchVersion: "0" - -# Config for Conductor -conductorUrl: "http://127.0.0.1:5000/simulated/oof/has-api/flow1-success-simple/main.json" -conductorPingWaitTime: 2 # seconds to wait before calling the conductor retry URL -conductorMaxRetries: 5 # if we don't get something in 30 minutes, give up -# versions to be set in HTTP header -conductorMinorVersion: 0 - -# Policy Platform -- requires ClientAuth, Authorization, and Environment -policyPlatformUrl: http://127.0.0.1:5000/simulated/policy/pdpx/decision/v1 # Policy Dev platform URL -policyPlatformEnv: TEST # Environment for policy platform - -# Config for DMaaP -messageReaderHosts: https://DMAAP-HOST1:3905,https://DMAAP-HOST2:3905,https://DMAAP-HOST3:3905 -messageReaderTopic: org.onap.oof.osdf.multicloud - -# Config for SDC -sdcUrl: https://SDC-HOST:8443/sdc/v1/catalog -sdcONAPInstanceID: ONAP-OSDF - -osdfPlacementUrl: "http://127.0.0.1:24699/osdf/api/v2/placement" - -is_aaf_enabled: False -aaf_cache_expiry_hrs: 3 -aaf_url: https://aaftest.simpledemo.onap.org:8095 -aaf_user_roles: - - /api/oof/v1/placement:org.onap.osdf.access|*|read ALL - -# Secret Management Service from AAF -aaf_sms_url: http://aaf-sms.onap:10443 -aaf_sms_timeout: 30 -secret_domain: osdf -aaf_ca_certs: ssl_certs/aaf_root_ca.cer - -# config db api -configDbUrl: http://127.0.0.1:5000/simulated/configdb -configDbGetCellListUrl: 'getCellList' -configDbGetNbrListUrl: 'getNbrList' - -#key -appkey: diff --git a/scripts/optf-osdf/osdf/osdf_proxy_settings.sh b/scripts/optf-osdf/osdf/osdf_proxy_settings.sh deleted file mode 100755 index b68fca97..00000000 --- a/scripts/optf-osdf/osdf/osdf_proxy_settings.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -# -# ------------------------------------------------------------------------- -# Copyright (c) 2018 AT&T Intellectual Property -# -# 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. -# -# ------------------------------------------------------------------------- -# - -# put into this file local proxy settings in case they are needed on your local environment -echo "### This is ${WORKSPACE}/scripts/optf-osdf/osdf/osdf_proxy_settings.sh" - -echo "optf/osdf proxy settings" -if [ "$#" -eq "1" ]; then - echo "$1" - cd $1 - pwd -else - exit 1 -fi - -# don't remove following lines: commands can be attached here - - diff --git a/scripts/optf-osdf/osdf/osdf_script.sh b/scripts/optf-osdf/osdf/osdf_script.sh deleted file mode 100755 index 2f2d0c90..00000000 --- a/scripts/optf-osdf/osdf/osdf_script.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash -# -# ------------------------------------------------------------------------- -# Copyright (c) 2018 AT&T Intellectual Property -# -# 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. -# -# ------------------------------------------------------------------------- -# - -echo "### This is ${WORKSPACE}/scripts/optf-osdf/osdf/osdf_script.sh" -# -# add here whatever commands is needed to prepare the optf/osdf CSIT testing -# - -# assume the base is /tmp dir -DIR=/tmp - -# the directory of the script -echo ${DIR} -cd ${DIR} - -# create directory for volume and copy configuration file -# run docker containers -OSDF_CONF=/tmp/osdf/properties/osdf_config.yaml -IMAGE_NAME=nexus3.onap.org:10001/onap/optf-osdf -IMAGE_VER=2.0.3-SNAPSHOT-latest - -mkdir -p /tmp/osdf/properties -mkdir -p /tmp/sms/properties - -cp ${WORKSPACE}/scripts/optf-osdf/osdf/osdf-properties/*.yaml /tmp/osdf/properties/. -cp ${WORKSPACE}/scripts/optf-osdf/osdf/osdf-properties/osdf.json /tmp/sms/properties/. - -#change conductor/configdb simulator urls -OSDF_SIM_IP=`get-instance-ip.sh osdf_sim` -echo "OSDF_SIM_IP=${OSDF_SIM_IP}" -SMS_IP=`get-instance-ip.sh sms` -echo "SMS_IP=${SMS_IP}" - -sed -i -e "s%127.0.0.1:5000%${OSDF_SIM_IP}:5000%g" $OSDF_CONF -sed -i -e "s%aaf-sms.onap:10443%${SMS_IP}:10443%g" $OSDF_CONF - -#Preload secrets -docker exec --user root -i sms /bin/sh -c "mkdir -p /preload/config" -docker cp /tmp/sms/properties/osdf.json sms:/preload/config/osdf.json -docker exec --user root -i sms /bin/sh -c "/sms/bin/preload -cacert /sms/certs/aaf_root_ca.cer -jsondir /preload/config -serviceport 10443 -serviceurl http://localhost" - -docker logs vault -docker run -d --name optf-osdf -v ${OSDF_CONF}:/opt/osdf/config/osdf_config.yaml -p "8698:8699" ${IMAGE_NAME}:${IMAGE_VER} - -sleep 20 - -OSDF_IP=`get-instance-ip.sh optf-osdf` -${WORKSPACE}/scripts/optf-osdf/osdf/wait_for_port.sh ${OSDF_IP} 8699 - -echo "inspect docker things for tracing purpose" -docker inspect optf-osdf diff --git a/scripts/optf-osdf/osdf/setup-sms.sh b/scripts/optf-osdf/osdf/setup-sms.sh deleted file mode 100755 index e6a4b227..00000000 --- a/scripts/optf-osdf/osdf/setup-sms.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash -# -# Copyright 2018 Intel Corporation -# -# 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. -# - -# Not sure why this is needed. -source ${SCRIPTS}/common_functions.sh - -CONFIG_FILE=$(pwd)/config/smsconfig.json - -mkdir -p $(pwd)/config - -docker login -u docker -p docker nexus3.onap.org:10001 -docker pull nexus3.onap.org:10001/onap/aaf/sms -docker pull docker.io/vault:1.3.3 - -# -# Running vault in dev server mode here for CSIT -# In HELM it runs in production mode -# -docker run -e "VAULT_DEV_ROOT_TOKEN_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \ - -e SKIP_SETCAP=true \ - --name vault -d -p 8200:8200 vault:1.3.3 - -SMSDB_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' vault) -cat << EOF > $CONFIG_FILE -{ - "cafile": "auth/selfsignedca.pem", - "servercert": "auth/server.cert", - "serverkey": "auth/server.key", - - "smsdbaddress": "http://$SMSDB_IP:8200", - "vaulttoken": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", - "disable_tls": true -} -EOF - -cat $CONFIG_FILE - -docker run --workdir /sms -v $CONFIG_FILE:/sms/smsconfig.json \ - --name sms -d -p 10443:10443 --user root nexus3.onap.org:10001/onap/aaf/sms - -SMS_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sms) - -echo "###### WAITING FOR ALL CONTAINERS TO COME UP" -sleep 20 -for i in {1..20}; do - curl -sS -m 1 http://${SMSDB_IP}:8200/v1/sys/seal-status && break - echo sleep $i - sleep $i -done - -# -# add here all ROBOT_VARIABLES settings -# -echo "# sms robot variables settings"; -ROBOT_VARIABLES="-v SMS_HOSTNAME:http://${SMS_IP} -v SMS_PORT:10443" - -echo ${ROBOT_VARIABLES} diff --git a/scripts/optf-osdf/osdf/simulator_script.sh b/scripts/optf-osdf/osdf/simulator_script.sh deleted file mode 100755 index 8f3f7d36..00000000 --- a/scripts/optf-osdf/osdf/simulator_script.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# -# ------------------------------------------------------------------------- -# Copyright (c) 2018 AT&T Intellectual Property -# -# 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. -# -# ------------------------------------------------------------------------- -# - -echo "### This is ${WORKSPACE}/scripts/optf-osdf/osdf/simulator_script.sh" -# -# add here whatever commands is needed to prepare the optf/osdf CSIT testing -# -# assume the base is /tmp dir - -DIR=/tmp - -# the directory of the script -echo ${DIR} -cd ${DIR} - -# the temp directory used, within $DIR -# omit the -p parameter to create a temporal directory in the default location -WORK_DIR=`mktemp -d -p "$DIR"` -echo ${WORK_DIR} -cd ${WORK_DIR} - -# clone optf-osdf project -git clone https://gerrit.onap.org/r/optf/osdf - -#echo "i am ${USER} : only non jenkins users may need proxy settings" -if [ ${USER} != 'jenkins' ]; then - - # add proxy settings into this script when you work behind a proxy - ${WORKSPACE}/scripts/optf-osdf/osdf/osdf_proxy_settings.sh ${WORK_DIR} - -fi - -# prepare osdf_sim -cd ${WORK_DIR}/osdf/test/functest/simulators - -# check Dockerfile content -cat ./Dockerfile - -# build osdf_sim -chmod +x ./build_sim_image.sh -./build_sim_image.sh - -# run osdf_sim -docker run -d --name osdf_sim -p "5000:5000" osdf_sim:latest; - -OSDF_SIM_IP=`get-instance-ip.sh osdf_sim` -echo "OSDF_SIM_IP=${OSDF_SIM_IP}" - -${WORKSPACE}/scripts/optf-osdf/osdf/wait_for_port.sh ${OSDF_SIM_IP} 5000 - - -# wait a while before continuing -sleep 2 - -echo "inspect docker things for tracing purpose" -docker inspect osdf_sim - diff --git a/scripts/optf-osdf/osdf/wait_for_port.sh b/scripts/optf-osdf/osdf/wait_for_port.sh deleted file mode 100755 index 360fc210..00000000 --- a/scripts/optf-osdf/osdf/wait_for_port.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -# -# ------------------------------------------------------------------------- -# Copyright (c) 2018 AT&T Intellectual Property -# -# 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. -# -# ------------------------------------------------------------------------- -# - -if [[ $# -ne 2 ]]; then - echo "Usage: wait-for-port hostname port" >&2 - exit 1 -fi - -host=$1 -port=$2 - -echo "Waiting for $host port $port open" -until telnet $host $port /dev/null | grep -q '^Connected'; do - sleep 1 -done - -echo "$host port $port is open" - -exit 0 diff --git a/tests/integration/nfsimulator/netconf-server/assets/pnf-simulator-data.xml b/tests/integration/nfsimulator/netconf-server/assets/pnf-simulator-data.xml new file mode 100644 index 00000000..ff4879e5 --- /dev/null +++ b/tests/integration/nfsimulator/netconf-server/assets/pnf-simulator-data.xml @@ -0,0 +1,4 @@ + + 42 + 35 + diff --git a/tests/integration/nfsimulator/netconf-server/netconf-server-rest-test.robot b/tests/integration/nfsimulator/netconf-server/netconf-server-rest-test.robot index 0d3ebdec..fea34b43 100644 --- a/tests/integration/nfsimulator/netconf-server/netconf-server-rest-test.robot +++ b/tests/integration/nfsimulator/netconf-server/netconf-server-rest-test.robot @@ -6,12 +6,21 @@ Resource ./resources/netconf-server-keywords.robot *** Test Cases *** -Netconf Server Rest API Health Check +Netconf Server Healthy Check [Tags] Netconf-Server - [Documentation] Run healthcheck - Run Healthcheck + [Documentation] Server Should be healthy + Verify That Server Is Healthy -Netconf Server Rest API Readiness Check +Netconf Server Readiness Check [Tags] Netconf-Server - [Documentation] Run readiness - Run Readiness \ No newline at end of file + [Documentation] Server Should be ready + Verify That Server Is Ready + +Netconf Module Configuration Update + [Tags] Netconf-Server + [Documentation] Update Should Be Distributed + Update NetConf Module Configuration pnf-simulator ${PNF_SIMULATOR_DATA_XML} 202 + Sleep 20s Wait for message distribution in Kafka + Verify That Change Is Available In NetConf Module Change Configuration History 200 + + diff --git a/tests/integration/nfsimulator/netconf-server/resources/netconf-server-keywords.robot b/tests/integration/nfsimulator/netconf-server/resources/netconf-server-keywords.robot index fd54487a..9dccd048 100644 --- a/tests/integration/nfsimulator/netconf-server/resources/netconf-server-keywords.robot +++ b/tests/integration/nfsimulator/netconf-server/resources/netconf-server-keywords.robot @@ -1,21 +1,39 @@ *** Settings *** -Library RequestsLibrary +Library RequestsLibrary +Resource ../../../../common.robot Resource ./netconf-server-properties.robot *** Keywords *** -Run Healthcheck - [Documentation] Run Healthcheck +Verify That Server Is Healthy + [Documentation] Verify that server is healthy Create Session netconf_server_session ${NETCONF_SERVER_URL} ${resp}= GET On Session netconf_server_session /healthcheck - Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal As Strings ${resp.text} UP -Run Readiness - [Documentation] Run Readiness +Verify That Server Is Ready + [Documentation] Verify that server is ready Create Session netconf_server_session ${NETCONF_SERVER_URL} - ${resp}= GET On Session netconf_server_session /readiness - Should Be Equal As Strings ${resp.status_code} 200 + ${resp}= GET On Session netconf_server_session /readiness + Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal As Strings ${resp.text} Ready +Update NetConf Module Configuration + [Documentation] Update module configuration + [Arguments] ${module} ${path_to_data} ${resp_code} + ${data}= Get Data From File ${path_to_data} + Create Session netconf_server_session ${NETCONF_SERVER_URL} + ${resp}= POST On Session netconf_server_session /change_config/${module} data=${data} + Should Be Equal As Strings ${resp.status_code} ${resp_code} + +Verify That Change Is Available In NetConf Module Change Configuration History + [Documentation] Verify that configuration was distributed to Kafka + [Arguments] ${resp_code} + + Create Session netconf_server_session ${NETCONF_SERVER_URL} + ${resp}= GET On Session netconf_server_session /change_history + Should Be Equal As Strings ${resp.status_code} ${resp_code} + ${actual_data}= Convert To String ${resp.json()} + Should Be Equal ${actual_data} [{u'new': {u'path': u'/pnf-simulator:config/itemValue1', u'value': 42}, u'type': u'ChangeCreated'}, {u'new': {u'path': u'/pnf-simulator:config/itemValue2', u'value': 35}, u'type': u'ChangeCreated'}] diff --git a/tests/integration/nfsimulator/netconf-server/resources/netconf-server-properties.robot b/tests/integration/nfsimulator/netconf-server/resources/netconf-server-properties.robot index 3903da7d..c10fe24c 100644 --- a/tests/integration/nfsimulator/netconf-server/resources/netconf-server-properties.robot +++ b/tests/integration/nfsimulator/netconf-server/resources/netconf-server-properties.robot @@ -1,3 +1,4 @@ *** Variables *** ${NETCONF_SERVER_URL} http://%{NETCONF_SERVER_IP}:%{NETCONF_SERVER_REST_PORT} +${PNF_SIMULATOR_DATA_XML} %{WORKSPACE}/tests/integration/nfsimulator/netconf-server/assets/pnf-simulator-data.xml diff --git a/tests/optf-has/has/__init__.robot b/tests/optf-has/has/__init__.robot deleted file mode 100644 index fb654d7b..00000000 --- a/tests/optf-has/has/__init__.robot +++ /dev/null @@ -1,4 +0,0 @@ -*** Settings *** -Documentation Integration - Suite 1 - - diff --git a/tests/optf-has/has/data/healthcheck.json b/tests/optf-has/has/data/healthcheck.json deleted file mode 100644 index 926bb289..00000000 --- a/tests/optf-has/has/data/healthcheck.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "consistencyInfo": { - "type": "eventual" - }, - "values": { - "created": 1479482603641, - "message": "", - "name": "foo", - "recommend_max": 1, - "solution": "{\"healthcheck\": \" healthcheck\"}", - "status": "solved", - "template": "{\"healthcheck\": \"healthcheck\"}", - "timeout": 3600, - "translation": "{\"healthcheck\": \" healthcheck\"}", - "updated": 1484324150629 - } -} - - diff --git a/tests/optf-has/has/data/nsi_selection_template_with_create.json b/tests/optf-has/has/data/nsi_selection_template_with_create.json deleted file mode 100644 index acf53ff6..00000000 --- a/tests/optf-has/has/data/nsi_selection_template_with_create.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "files": {}, - "limit": 10, - "name": "urllc_sample", - "num_solution": "1", - "template": { - "constraints": { - "URLLC_Threshold": { - "demands": [ - "URLLC" - ], - "properties": { - "evaluate": [ - { - "attribute": "latency", - "operator": "lte", - "threshold": { - "get_param": "latency" - }, - "unit": "ms" - }, - { - "attribute": "reliability", - "operator": "gte", - "threshold": { - "get_param": "reliability" - }, - "unit": "" - } - ] - }, - "type": "threshold" - } - }, - "demands": { - "URLLC": [ - { - "default_attributes": { - "creation_cost": 0.1 - }, - "filtering_attributes": { - "service-function": "shared", - "model-invariant-id": "21d57d4b-52ad-4d3c-a798-248b5bb9124a", - "model-version-id": "bfba363e-e39c-4bd9-a9d5-1371c28f4d22", - "service-role": "nsi" - }, - "inventory_provider": "aai", - "inventory_type": "nsi", - "unique": "true" - }, - { - "default_attributes": { - "creation_cost": 0.9 - }, - "filtering_attributes": { - "service_profile": { - "latency": {"value": {"get_param": "latency"}, "operator": "lte"}, - "reliability": {"value": {"get_param": "reliability"}, "operator": "gte"} - }, - "subnets":{ - "core": { - "latency": { - "max": { - "get_param": "latency" - }, - "min": { - "get_param": "core_latency" - }, - "steps": 1 - }, - "reliability": { - "values": [ - { - "get_param": "core_reliability" - } - ] - } - }, - "ran": { - "latency": { - "max": { - "get_param": "latency" - }, - "min": { - "get_param": "ran_latency" - }, - "steps": 1 - }, - "reliability": { - "values": [ - { - "get_param": "ran_reliability" - } - ] - } - }, - "transport": { - "latency": { - "max": { - "get_param": "latency" - }, - "min": { - "get_param": "tn_latency" - }, - "steps": 1 - }, - "reliability": { - "values": [ - { - "get_param": "tn_reliability" - } - ] - } - } - } - }, - "inventory_provider": "generator", - "inventory_type": "slice_profiles", - "unique": "true" - } - ] - }, - "homing_template_version": "2020-08-13", - "optimization": { - "goal": "maximize", - "operation_function": { - "operands": [ - { - "function": "attribute", - "params": { - "attribute": "creation_cost", - "demand": "URLLC" - } - } - ], - "operator": "sum" - } - }, - "parameters": { - "core_latency": 10, - "core_reliability": 99.9, - "latency": 30, - "ran_latency": 7, - "ran_reliability": 99.9, - "reliability": 99.9, - "tn_latency": 10, - "tn_reliability": 99.9 - } - }, - "timeout": 1200 -} diff --git a/tests/optf-has/has/data/nsi_selection_template_with_nonsi.json b/tests/optf-has/has/data/nsi_selection_template_with_nonsi.json deleted file mode 100644 index b4e625a2..00000000 --- a/tests/optf-has/has/data/nsi_selection_template_with_nonsi.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "files": {}, - "limit": 10, - "name": "urllc_sample", - "num_solution": "1", - "template": { - "constraints": { - "URLLC_Threshold": { - "demands": [ - "URLLC" - ], - "properties": { - "evaluate": [ - { - "attribute": "latency", - "operator": "lte", - "threshold": { - "get_param": "latency" - }, - "unit": "ms" - }, - { - "attribute": "reliability", - "operator": "gte", - "threshold": { - "get_param": "reliability" - }, - "unit": "" - } - ] - }, - "type": "threshold" - } - }, - "demands": { - "URLLC": [ - { - "default_attributes": { - "creation_cost": 0.1 - }, - "filtering_attributes": { - "service-function": "shared", - "model-invariant-id": "21d57d4b-52ad-4d3c-a798-248b5bb9124a", - "model-version-id": "637762da-0764-43cc-8b9a-535085770821", - "service-role": "nsi" - }, - "inventory_provider": "aai", - "inventory_type": "nsi", - "unique": "true" - }, - { - "default_attributes": { - "creation_cost": 0.9 - }, - "filtering_attributes": { - "service_profile": { - "latency": {"value": {"get_param": "latency"}, "operator": "lte"}, - "reliability": {"value": {"get_param": "reliability"}, "operator": "gte"} - }, - "subnets":{ - "core": { - "latency": { - "max": { - "get_param": "latency" - }, - "min": { - "get_param": "core_latency" - }, - "steps": 1 - }, - "reliability": { - "values": [ - { - "get_param": "core_reliability" - } - ] - } - }, - "ran": { - "latency": { - "max": { - "get_param": "latency" - }, - "min": { - "get_param": "ran_latency" - }, - "steps": 1 - }, - "reliability": { - "values": [ - { - "get_param": "ran_reliability" - } - ] - } - }, - "transport": { - "latency": { - "max": { - "get_param": "latency" - }, - "min": { - "get_param": "tn_latency" - }, - "steps": 1 - }, - "reliability": { - "values": [ - { - "get_param": "tn_reliability" - } - ] - } - } - } - }, - "inventory_provider": "generator", - "inventory_type": "slice_profiles", - "unique": "true" - } - ] - }, - "homing_template_version": "2020-08-13", - "optimization": { - "goal": "minimize", - "operation_function": { - "operands": [ - { - "function": "attribute", - "params": { - "attribute": "creation_cost", - "demand": "URLLC" - } - } - ], - "operator": "sum" - } - }, - "parameters": { - "core_latency": 10, - "core_reliability": 99.9, - "latency": 30, - "ran_latency": 7, - "ran_reliability": 99.9, - "reliability": 99.9, - "tn_latency": 10, - "tn_reliability": 99.9 - } - }, - "timeout": 1200 -} diff --git a/tests/optf-has/has/data/nsi_selection_template_with_reuse.json b/tests/optf-has/has/data/nsi_selection_template_with_reuse.json deleted file mode 100644 index 3cce5f9c..00000000 --- a/tests/optf-has/has/data/nsi_selection_template_with_reuse.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "files": {}, - "limit": 10, - "name": "urllc_sample", - "num_solution": "1", - "template": { - "constraints": { - "URLLC_Threshold": { - "demands": [ - "URLLC" - ], - "properties": { - "evaluate": [ - { - "attribute": "latency", - "operator": "lte", - "threshold": { - "get_param": "latency" - }, - "unit": "ms" - }, - { - "attribute": "reliability", - "operator": "gte", - "threshold": { - "get_param": "reliability" - }, - "unit": "" - } - ] - }, - "type": "threshold" - } - }, - "demands": { - "URLLC": [ - { - "default_attributes": { - "creation_cost": 0.1 - }, - "filtering_attributes": { - "service-function": "shared", - "model-invariant-id": "21d57d4b-52ad-4d3c-a798-248b5bb9124a", - "model-version-id": "bfba363e-e39c-4bd9-a9d5-1371c28f4d22", - "service-role": "nsi" - }, - "inventory_provider": "aai", - "inventory_type": "nsi", - "unique": "true" - }, - { - "default_attributes": { - "creation_cost": 0.9 - }, - "filtering_attributes": { - "service_profile": { - "latency": {"value": {"get_param": "latency"}, "operator": "lte"}, - "reliability": {"value": {"get_param": "reliability"}, "operator": "gte"} - }, - "subnets":{ - "core": { - "latency": { - "max": { - "get_param": "latency" - }, - "min": { - "get_param": "core_latency" - }, - "steps": 1 - }, - "reliability": { - "values": [ - { - "get_param": "core_reliability" - } - ] - } - }, - "ran": { - - "latency": { - "max": { - "get_param": "latency" - }, - "min": { - "get_param": "ran_latency" - }, - "steps": 1 - }, - "reliability": { - "values": [ - { - "get_param": "ran_reliability" - } - ] - } - }, - "transport": { - "latency": { - "max": { - "get_param": "latency" - }, - "min": { - "get_param": "tn_latency" - }, - "steps": 1 - }, - "reliability": { - "values": [ - { - "get_param": "tn_reliability" - } - ] - } - } - } - }, - "inventory_provider": "generator", - "inventory_type": "slice_profiles", - "unique": "true" - } - ] - }, - "homing_template_version": "2020-08-13", - "optimization": { - "goal": "minimize", - "operation_function": { - "operands": [ - { - "function": "attribute", - "params": { - "attribute": "creation_cost", - "demand": "URLLC" - } - } - ], - "operator": "sum" - } - }, - "parameters": { - "core_latency": 10, - "core_reliability": 99.9, - "latency": 30, - "ran_latency": 7, - "ran_reliability": 99.9, - "reliability": 99.9, - "tn_latency": 10, - "tn_reliability": 99.9 - } - }, - "timeout": 1200 -} diff --git a/tests/optf-has/has/data/nssi_selection_template.json b/tests/optf-has/has/data/nssi_selection_template.json deleted file mode 100644 index e1656949..00000000 --- a/tests/optf-has/has/data/nssi_selection_template.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "files": {}, - "limit": 10, - "name": "urllc_sample", - "num_solution": "1", - "timeout": 1200, - "template": { - "homing_template_version": "2020-08-13", - "parameters": { - "latency": 30, - "reliability": 99.9 - }, - "demands": { - "URLLC_core": [ - { - "default_attributes": { - "creation_cost": 0.1 - }, - "filtering_attributes": { - "service-function": "shared", - "model-invariant-id": "c343a533-c045-4ec0-bbb6-f30eb8eb5a41", - "model-version-id": "8d770214-d3e7-43ea-b7a6-9b235dcbcd34", - "service-role": "nssi" - }, - "inventory_provider": "aai", - "inventory_type": "nssi", - "unique": "true" - } - ] - }, - "constraints": { - "URLLC_Threshold": { - "demands": [ - "URLLC_core" - ], - "properties": { - "evaluate": [ - { - "attribute": "latency", - "operator": "lte", - "threshold": { - "get_param": "latency" - }, - "unit": "ms" - }, - { - "attribute": "reliability", - "operator": "gte", - "threshold": { - "get_param": "reliability" - }, - "unit": "" - } - ] - }, - "type": "threshold" - } - }, - "optimization": { - "goal": "minimize", - "operation_function": { - "operands": [ - { - "function": "attribute", - "params": { - "attribute": "latency", - "demand": "URLLC_core" - } - } - ], - "operator": "sum" - } - } - } -} diff --git a/tests/optf-has/has/data/nssi_selection_template_unmatched.json b/tests/optf-has/has/data/nssi_selection_template_unmatched.json deleted file mode 100644 index 23500c5b..00000000 --- a/tests/optf-has/has/data/nssi_selection_template_unmatched.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "files": {}, - "limit": 10, - "name": "urllc_sample", - "num_solution": "1", - "timeout": 1200, - "template": { - "homing_template_version": "2020-08-13", - "parameters": { - "latency": 5, - "reliability": 99.9 - }, - "demands": { - "URLLC_core": [ - { - "default_attributes": { - "creation_cost": 0.1 - }, - "filtering_attributes": { - "service-function": "shared", - "model-invariant-id": "c343a533-c045-4ec0-bbb6-f30eb8eb5a41", - "model-version-id": "8d770214-d3e7-43ea-b7a6-9b235dcbcd34", - "service-role": "nssi" - }, - "inventory_provider": "aai", - "inventory_type": "nssi", - "unique": "true" - } - ] - }, - "constraints": { - "URLLC_Threshold": { - "demands": [ - "URLLC_core" - ], - "properties": { - "evaluate": [ - { - "attribute": "latency", - "operator": "lte", - "threshold": { - "get_param": "latency" - }, - "unit": "ms" - }, - { - "attribute": "reliability", - "operator": "gte", - "threshold": { - "get_param": "reliability" - }, - "unit": "" - } - - ] - }, - "type": "threshold" - } - }, - "optimization": { - "goal": "minimize", - "operation_function": { - "operands": [ - { - "function": "attribute", - "params": { - "attribute": "latency", - "demand": "URLLC_core" - } - } - ], - "operator": "sum" - } - } - } -} diff --git a/tests/optf-has/has/data/nst_selection_template.json b/tests/optf-has/has/data/nst_selection_template.json deleted file mode 100644 index 41819141..00000000 --- a/tests/optf-has/has/data/nst_selection_template.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name":"urllc_sample", - "files":{ - - }, - "limit":10, - "num_solution":"1", - "timeout":1200, - "template":{ - "homing_template_version":"2020-08-13", - "demands":{ - "nst_demand":[ - { - "inventory_provider":"aai", - "inventory_type":"nst", - "unique":"true", - "region":"RegionOne", - "filtering_attributes":{ - "model-role":"nst" - } - } - ] - }, - "constraints":{ - "nst_Threshold":{ - "type":"threshold", - "demands":[ - "nst_demand" - ], - "properties":{ - "evaluate":[ - { - "attribute":"latency", - "operator":"lte", - "threshold":30, - "unit":"ms" - } - ] - } - } }, - "optimization":{ - "goal": "minimize", - "operation_function": { - "operator": "sum", - "operands": [{ - "function": "attribute", - "params": { - "demand": "nst_demand", - "attribute": "latency" - } - }] - } - } - } -} \ No newline at end of file diff --git a/tests/optf-has/has/data/onboard.json b/tests/optf-has/has/data/onboard.json deleted file mode 100644 index a4939c45..00000000 --- a/tests/optf-has/has/data/onboard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "appname": "conductor", - "userId": "conductor", - "isAAF": "false", - "password": "c0nduct0r" -} diff --git a/tests/optf-has/has/data/plan_with_hpa.json b/tests/optf-has/has/data/plan_with_hpa.json deleted file mode 100644 index 21985776..00000000 --- a/tests/optf-has/has/data/plan_with_hpa.json +++ /dev/null @@ -1,260 +0,0 @@ -{ - "name":"vCPE-with-HPA", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - "constraint_vg_customer":{ - "type":"distance_to_location", - "demands":[ - "vG" - ], - "properties":{ - "distance":"< 100 km", - "location":"customer_loc" - } - }, - "hpa_constraint":{ - "type":"hpa", - "demands":[ - "vG" - ], - "properties":{ - "evaluate":[ - { - "id":"vg_1", - "type":"vnfc", - "directives":[ - { - "type": "flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_1", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "score": "5", - "directives": [], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"4", - "operator":">=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"4", - "operator":">=", - "unit":"GB" - } - ] - }, - { - "hpa-feature":"numa", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "score": "5", - "directives": [], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numaNodes", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-0", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-1", - "hpa-attribute-value":"4", - "operator":"=" - }, - { - "hpa-attribute-key":"numaMem-0", - "hpa-attribute-value":"2", - "operator":"=", - "unit":"GB" - }, - { - "hpa-attribute-key":"numaMem-1", - "hpa-attribute-value":"4", - "operator":"=", - "unit":"GB" - } - ] - }, - { - "hpa-feature":"cpuPinning", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "score": "5", - "directives": [], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"logicalCpuThreadPinningPolicy", - "hpa-attribute-value":"prefer", - "operator":"=" - }, - { - "hpa-attribute-key":"logicalCpuPinningPolicy", - "hpa-attribute-value":"dedicated", - "operator":"=" - } - ] - } - ] - }, - { - "id":"vg_2", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_2", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "score": "5", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"8", - "operator":">=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"16", - "operator":">=", - "unit":"GB" - } - ] - }, - { - "hpa-feature":"numa", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "score": "5", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numaNodes", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-0", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-1", - "hpa-attribute-value":"4", - "operator":"=" - }, - { - "hpa-attribute-key":"numaMem-0", - "hpa-attribute-value":"2", - "operator":"=", - "unit":"GB" - }, - { - "hpa-attribute-key":"numaMem-1", - "hpa-attribute-value":"4", - "operator":"=", - "unit":"GB" - } - ] - }, - { - "hpa-feature":"ovsDpdk", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "score": "5", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"dataProcessingAccelerationLibrary", - "hpa-attribute-value":"v18.02", - "operator":"=" - } - ] - } - ] - } - ] - } - } - }, - "optimization":{ - "minimize":{ - "sum":[ - { - "distance_between":[ - "customer_loc", - "vG" - ] - }, - { - "distance_between":[ - "customer_loc", - "vG" - ] - } - ] - } - } - }, - "timeout":5, - "limit":3 -} diff --git a/tests/optf-has/has/data/plan_with_hpa_requirements_mandatory.json b/tests/optf-has/has/data/plan_with_hpa_requirements_mandatory.json deleted file mode 100644 index bb613abd..00000000 --- a/tests/optf-has/has/data/plan_with_hpa_requirements_mandatory.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "name":"vCPE-with-HPA-requirement-mandatory", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - "constraint_vg_customer":{ - "type":"distance_to_location", - "demands":[ - "vG" - ], - "properties":{ - "distance":"< 100 km", - "location":"customer_loc" - } - }, - "hpa_constraint":{ - "type":"hpa", - "demands":[ - "vG" - ], - "properties":{ - "evaluate":[ - { - "id":"vg_1", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_1", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"64", - "operator":"=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"64", - "operator":"=", - "unit":"GB" - } - ] - }, - { - "hpa-feature":"numa", - "hpa-version":"v1", - "architecture":"generic", - "mandatory":"True", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numaNodes", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-0", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-1", - "hpa-attribute-value":"4", - "operator":"=" - }, - { - "hpa-attribute-key":"numaMem-0", - "hpa-attribute-value":"2", - "operator":"=", - "unit":"GB" - }, - { - "hpa-attribute-key":"numaMem-1", - "hpa-attribute-value":"4", - "operator":"=", - "unit":"GB" - } - ] - } - ] - }, - { - "id":"vg_2", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_2", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"32", - "operator":"=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"128", - "operator":"=", - "unit":"GB" - } - ] - }, - { - "hpa-feature":"ovsDpdk", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"dataProcessingAccelerationLibrary", - "hpa-attribute-value":"v18.02", - "operator":"=" - } - ] - } - ] - } - ] - } - } - }, - "optimization":{ - "minimize":{ - "sum":[ - { - "distance_between":[ - "customer_loc", - "vG" - ] - } - ] - } - } - }, - "timeout":5, - "limit":3 -} diff --git a/tests/optf-has/has/data/plan_with_hpa_requirements_optionals.json b/tests/optf-has/has/data/plan_with_hpa_requirements_optionals.json deleted file mode 100644 index 50c23ee8..00000000 --- a/tests/optf-has/has/data/plan_with_hpa_requirements_optionals.json +++ /dev/null @@ -1,247 +0,0 @@ -{ - "name":"vCPE-HPA-Requirement-Optional", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - "constraint_vg_customer":{ - "type":"distance_to_location", - "demands":[ - "vG" - ], - "properties":{ - "distance":"< 100 km", - "location":"customer_loc" - } - }, - "hpa_constraint":{ - "type":"hpa", - "demands":[ - "vG" - ], - "properties":{ - "evaluate":[ - { - "id":"vg_1", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_1", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"4", - "operator":">=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"8", - "operator":">=", - "unit":"GB" - } - ] - }, - { - "hpa-feature":"instructionSetExtensions", - "hpa-version":"v1", - "architecture":"Intel64", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"instructionSetExtensions", - "hpa-attribute-value":["aes", "sse", "avx", "smt"], - "operator":"ALL", - "unit":"" - } - ] - }, - { - "hpa-feature":"numa", - "hpa-version":"v1", - "architecture":"generic", - "mandatory":"False", - "score":"3", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numaNodes", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-0", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-1", - "hpa-attribute-value":"4", - "operator":"=" - }, - { - "hpa-attribute-key":"numaMem-0", - "hpa-attribute-value":"2", - "operator":"=", - "unit":"GB" - }, - { - "hpa-attribute-key":"numaMem-1", - "hpa-attribute-value":"4", - "operator":"=", - "unit":"GB" - } - ] - } - ] - }, - { - "id":"vg_2", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_2", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"4", - "operator":">=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"8", - "operator":">=", - "unit":"GB" - } - ] - }, - { - "hpa-feature":"ovsDpdk", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "score":"5", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"dataProcessingAccelerationLibrary", - "hpa-attribute-value":"v18.02", - "operator":"=" - } - ] - }, - { - "hpa-feature":"numa", - "hpa-version":"v1", - "architecture":"generic", - "mandatory":"False", - "score":"3", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numaNodes", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-0", - "hpa-attribute-value":"2", - "operator":"=" - }, - { - "hpa-attribute-key":"numaCpu-1", - "hpa-attribute-value":"4", - "operator":"=" - }, - { - "hpa-attribute-key":"numaMem-0", - "hpa-attribute-value":"2", - "operator":"=", - "unit":"GB" - }, - { - "hpa-attribute-key":"numaMem-1", - "hpa-attribute-value":"4", - "operator":"=", - "unit":"GB" - } - ] - } - ] - } - ] - } - } - }, - "optimization":{ - "minimize":{ - "sum":[ - { - "distance_between":[ - "customer_loc", - "vG" - ] - } - ] - } - } - }, - "timeout":5, - "limit":3 -} diff --git a/tests/optf-has/has/data/plan_with_hpa_score_multi_objective.json b/tests/optf-has/has/data/plan_with_hpa_score_multi_objective.json deleted file mode 100644 index 4a6d3bc8..00000000 --- a/tests/optf-has/has/data/plan_with_hpa_score_multi_objective.json +++ /dev/null @@ -1,267 +0,0 @@ -{ - "name": "vCPE-HPA-Requirement-Optional", - "template": { - "homing_template_version": "2017-10-10", - "parameters": { - "service_name": "Residential vCPE", - "service_id": "vcpe_service_id", - "customer_lat": 45.395968, - "customer_long": -71.135344, - "REQUIRED_MEM": 4, - "REQUIRED_DISK": 100, - "pnf_id": "some_pnf_id" - }, - "locations": { - "customer_loc": { - "latitude": { - "get_param": "customer_lat" - }, - "longitude": { - "get_param": "customer_long" - } - } - }, - "demands": { - "vG": [ - { - "inventory_provider": "aai", - "inventory_type": "cloud" - } - ] - }, - "constraints": { - "constraint_vg_customer": { - "type": "distance_to_location", - "demands": [ - "vG" - ], - "properties": { - "distance": "< 100 km", - "location": "customer_loc" - } - }, - "hpa_constraint": { - "type": "hpa", - "demands": [ - "vG" - ], - "properties": { - "evaluate": [ - { - "id":"vg_1", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_1", - "attribute_value":"" - } - ] - } - ], - "flavorProperties": [ - { - "hpa-feature": "basicCapabilities", - "hpa-version": "v1", - "architecture": "generic", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes": [ - { - "hpa-attribute-key": "numVirtualCpu", - "hpa-attribute-value": "4", - "operator": ">=" - }, - { - "hpa-attribute-key": "virtualMemSize", - "hpa-attribute-value": "8", - "operator": ">=", - "unit": "GB" - } - ] - }, - { - "hpa-feature": "instructionSetExtensions", - "hpa-version": "v1", - "architecture": "Intel64", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes": [ - { - "hpa-attribute-key": "instructionSetExtensions", - "hpa-attribute-value": [ - "aes", - "sse", - "avx", - "smt" - ], - "operator": "ALL", - "unit": "" - } - ] - }, - { - "hpa-feature": "numa", - "hpa-version": "v1", - "architecture": "generic", - "mandatory": "False", - "score": "3", - "directives":[], - "hpa-feature-attributes": [ - { - "hpa-attribute-key": "numaNodes", - "hpa-attribute-value": "2", - "operator": "=" - }, - { - "hpa-attribute-key": "numaCpu-0", - "hpa-attribute-value": "2", - "operator": "=" - }, - { - "hpa-attribute-key": "numaCpu-1", - "hpa-attribute-value": "4", - "operator": "=" - }, - { - "hpa-attribute-key": "numaMem-0", - "hpa-attribute-value": "2", - "operator": "=", - "unit": "GB" - }, - { - "hpa-attribute-key": "numaMem-1", - "hpa-attribute-value": "4", - "operator": "=", - "unit": "GB" - } - ] - } - ] - }, - { - "id":"vg_2", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_2", - "attribute_value":"" - } - ] - } - ], - "flavorProperties": [ - { - "hpa-feature": "basicCapabilities", - "hpa-version": "v1", - "architecture": "generic", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes": [ - { - "hpa-attribute-key": "numVirtualCpu", - "hpa-attribute-value": "4", - "operator": ">=" - }, - { - "hpa-attribute-key": "virtualMemSize", - "hpa-attribute-value": "8", - "operator": ">=", - "unit": "GB" - } - ] - }, - { - "hpa-feature": "ovsDpdk", - "hpa-version": "v1", - "architecture": "generic", - "mandatory": "False", - "score": "5", - "directives":[], - "hpa-feature-attributes": [ - { - "hpa-attribute-key": "dataProcessingAccelerationLibrary", - "hpa-attribute-value": "v18.02", - "operator": "=" - } - ] - }, - { - "hpa-feature": "numa", - "hpa-version": "v1", - "architecture": "generic", - "mandatory": "False", - "score": "3", - "directives":[], - "hpa-feature-attributes": [ - { - "hpa-attribute-key": "numaNodes", - "hpa-attribute-value": "2", - "operator": "=" - }, - { - "hpa-attribute-key": "numaCpu-0", - "hpa-attribute-value": "2", - "operator": "=" - }, - { - "hpa-attribute-key": "numaCpu-1", - "hpa-attribute-value": "4", - "operator": "=" - }, - { - "hpa-attribute-key": "numaMem-0", - "hpa-attribute-value": "2", - "operator": "=", - "unit": "GB" - }, - { - "hpa-attribute-key": "numaMem-1", - "hpa-attribute-value": "4", - "operator": "=", - "unit": "GB" - } - ] - } - ] - } - ] - } - } - }, - "optimization": { - "minimize": { - "sum": [ - { - "product": [ - 100, - { - "distance_between": [ - "customer_loc", - "vG" - ] - } - ] - }, - { - "product": [ - 200, - { - "hpa_score": [ - "vG" - ] - } - ] - } - ] - } - } - }, - "timeout": 5, - "limit": 3 -} diff --git a/tests/optf-has/has/data/plan_with_hpa_simple.json b/tests/optf-has/has/data/plan_with_hpa_simple.json deleted file mode 100644 index d343dc80..00000000 --- a/tests/optf-has/has/data/plan_with_hpa_simple.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "name":"vCPE-with-HPA", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - "hpa_constraint":{ - "type":"hpa", - "demands":[ - "vG" - ], - "properties":{ - "evaluate":[ - { - "id":"vg_1", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_1", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "directives":[], - "score": "5", - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"32", - "operator":"=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"64", - "operator":"=", - "unit":"GB" - } - ] - }, - { - "hpa-feature":"ovsDpdk", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "directives":[], - "score": "5", - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"dataProcessingAccelerationLibrary", - "hpa-attribute-value":"v18.02", - "operator":"=" - } - ] - } - ] - }, - { - "id":"vg_2", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_2", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "False", - "directives":[], - "score": "5", - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"8", - "operator":">=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"16", - "operator":">=", - "unit":"GB" - } - ] - } - ] - } - ] - } - } - }, - "optimization":{ - "minimize":{ - "sum":[ - { - "distance_between":[ - "customer_loc", - "vG" - ] - }, - { - "distance_between":[ - "customer_loc", - "vG" - ] - } - ] - } - } - }, - "timeout":5, - "limit":3 -} diff --git a/tests/optf-has/has/data/plan_with_hpa_unmatched.json b/tests/optf-has/has/data/plan_with_hpa_unmatched.json deleted file mode 100644 index e95ecedd..00000000 --- a/tests/optf-has/has/data/plan_with_hpa_unmatched.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "name":"vCPE-with-HPA-unmatched-requirements", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - "constraint_vgmux_customer":{ - "type":"distance_to_location", - "demands":[ - "vG" - ], - "properties":{ - "distance":"< 100 km", - "location":"customer_loc" - } - }, - "hpa_constraint":{ - "type":"hpa", - "demands":[ - "vG" - ], - "properties":{ - "evaluate":[ - { - "id":"vg_1", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_1", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory": "True", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"60", - "operator":"=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"64", - "operator":"=", - "unit":"GB" - } - ] - } - ] - }, - { - "id":"vg_2", - "type":"vnfc", - "directives":[ - { - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor_label_2", - "attribute_value":"" - } - ] - } - ], - "flavorProperties":[ - { - "hpa-feature":"basicCapabilities", - "hpa-version":"v1", - "architecture":"generic", - "mandatory":"True", - "directives":[], - "hpa-feature-attributes":[ - { - "hpa-attribute-key":"numVirtualCpu", - "hpa-attribute-value":"30", - "operator":"=" - }, - { - "hpa-attribute-key":"virtualMemSize", - "hpa-attribute-value":"128", - "operator":"=", - "unit":"GB" - } - ] - } - ] - } - ] - } - } - }, - "optimization":{ - "minimize":{ - "sum":[ - { - "distance_between":[ - "customer_loc", - "vG" - ] - } - ] - } - } - }, - "timeout":5, - "limit":3 -} diff --git a/tests/optf-has/has/data/plan_with_lati_and_longi.json b/tests/optf-has/has/data/plan_with_lati_and_longi.json deleted file mode 100644 index 5e35d6ab..00000000 --- a/tests/optf-has/has/data/plan_with_lati_and_longi.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name":"onap template with lati and longi without constraints and without optimizations", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "physical_location":"DLLSTX233", - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - - }, - "optimization":{ - - } - } -} - diff --git a/tests/optf-has/has/data/plan_with_short_distance_constraint.json b/tests/optf-has/has/data/plan_with_short_distance_constraint.json deleted file mode 100644 index 68a7e119..00000000 --- a/tests/optf-has/has/data/plan_with_short_distance_constraint.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name":"onap template with short distance constraint", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":25.395968, - "customer_long":-51.135344, - "physical_location":"DLLSTX233", - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - "distance-vg":{ - "type":"distance_to_location", - "demands":[ - "vG" - ], - "properties":{ - "distance":"< 1 km", - "location":"customer_loc" - } - } - }, - "optimization":{ - "minimize": { - "sum": [ - { - "distance_between": [ - "customer_loc", - "vG" - ] - }, - { - "distance_between": [ - "customer_loc", - "vG" - ] - } - ] - } - } - } -} diff --git a/tests/optf-has/has/data/plan_with_vim_fit.json b/tests/optf-has/has/data/plan_with_vim_fit.json deleted file mode 100644 index 00a59912..00000000 --- a/tests/optf-has/has/data/plan_with_vim_fit.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "name":"vCPE-Sanity1", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - "constraint_vg_customer":{ - "type":"distance_to_location", - "demands":[ - "vG" - ], - "properties":{ - "distance":"< 100 km", - "location":"customer_loc" - } - }, - "check_cloud_capacity":{ - "type":"vim_fit", - "demands":[ - "vG" - ], - "properties":{ - "controller":"multicloud", - "request":{ - "vCPU":10, - "Memory":{ - "quantity":{ - "get_param":"REQUIRED_MEM" - }, - "unit":"GB" - }, - "Storage":{ - "quantity":{ - "get_param":"REQUIRED_DISK" - }, - "unit":"GB" - } - } - } - } - }, - "optimization":{ - "minimize":{ - "sum":[ - { - "distance_between":[ - "customer_loc", - "vG" - ] - }, - { - "distance_between":[ - "customer_loc", - "vG" - ] - } - ] - } - } - }, - "timeout":5, - "limit":3 -} diff --git a/tests/optf-has/has/data/plan_with_wrong_distance_constraint.json b/tests/optf-has/has/data/plan_with_wrong_distance_constraint.json deleted file mode 100644 index 9f25c2df..00000000 --- a/tests/optf-has/has/data/plan_with_wrong_distance_constraint.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name":"onap template with wrong distance constraint", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "physical_location":"DLLSTX233", - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - "distance-vg":{ - "demands":[ - "vG" - ], - "properties":{ - "distance":"< 1 km", - "location":"customer_loc" - } - } - }, - "optimization":{ - "minimize": { - "sum": [ - { - "distance_between": [ - "customer_loc", - "vG" - ] - }, - { - "distance_between": [ - "customer_loc", - "vG" - ] - } - ] - } - } - } -} diff --git a/tests/optf-has/has/data/plan_with_wrong_version.json b/tests/optf-has/has/data/plan_with_wrong_version.json deleted file mode 100644 index c0618bfb..00000000 --- a/tests/optf-has/has/data/plan_with_wrong_version.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name":"onap template with wrong version", - "template":{ - "homing_template_version":"xxxx-yy-zz", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "physical_location":"DLLSTX233", - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "demands":{ - "vG":[ - { - "inventory_provider":"aai", - "inventory_type":"cloud" - } - ] - }, - "constraints":{ - - }, - "optimization":{ - - } - } -} - diff --git a/tests/optf-has/has/data/plan_without_demand_section.json b/tests/optf-has/has/data/plan_without_demand_section.json deleted file mode 100644 index fe5d2fa6..00000000 --- a/tests/optf-has/has/data/plan_without_demand_section.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name":"onap template without demand section", - "template":{ - "homing_template_version":"2017-10-10", - "parameters":{ - "service_name":"Residential vCPE", - "service_id":"vcpe_service_id", - "customer_lat":45.395968, - "customer_long":-71.135344, - "physical_location":"DLLSTX233", - "REQUIRED_MEM":4, - "REQUIRED_DISK":100, - "pnf_id":"some_pnf_id" - }, - "locations":{ - "customer_loc":{ - "latitude":{ - "get_param":"customer_lat" - }, - "longitude":{ - "get_param":"customer_long" - } - } - }, - "constraints":{ - - }, - "optimization":{ - - } - } -} - diff --git a/tests/optf-has/has/optf_has_test.robot b/tests/optf-has/has/optf_has_test.robot deleted file mode 100644 index 6085bcea..00000000 --- a/tests/optf-has/has/optf_has_test.robot +++ /dev/null @@ -1,726 +0,0 @@ -*** Settings *** -Library OperatingSystem -Library RequestsLibrary -Library json - -*** Variables *** -${MESSAGE} {"ping": "ok"} -${BASIC} Basic -${Music_AUTHVALUE} Y29uZHVjdG9yOmMwbmR1Y3Qwcg== -${HAS_AUTHVALUE} YWRtaW4xOnBsYW4uMTU= -${Music_Auth} ${BASIC} ${Music_AUTHVALUE} -${HAS_Auth} ${BASIC} ${HAS_AUTHVALUE} -${RESP_STATUS} "error" -${RESP_MESSAGE_WRONG_VERSION} "conductor_template_version must be one of: 2016-11-01" -${RESP_MESSAGE_WITHOUT_DEMANDS} Undefined Demand - -#global variables -${generatedPlanId} -${generatedAID} -${resultStatus} - -*** Test Cases *** -Check Cassandra Docker Container - [Documentation] It checks cassandra docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} music-db - -Check Zookeeper Docker Container - [Documentation] It checks zookeeper docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} music-zk - -Check Tomcat Docker Container - [Documentation] It checks tomcat docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} music-tomcat - -Check Music War Docker Container - [Documentation] It checks music.war docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} music-war - -Get Music Version - [Documentation] It sends a REST GET request to retrieve the Music.war version - Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request musicaas /MUSIC/rest/v2/version headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - -Check ConductorApi Docker Container - [Documentation] It checks conductor-api docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} cond-api - -Check ConductorController Docker Container - [Documentation] It checks conductor-controller docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} cond-cont - -Check ConductorSolver Docker Container - [Documentation] It checks conductor-solver docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} cond-solv - -Check ConductorReservation Docker Container - [Documentation] It checks conductor-reservation docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} cond-resv - -Check ConductorData Docker Container - [Documentation] It checks conductor-data docker container is running - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} cond-data - -Get Root Url - [Documentation] It sends a REST GET request to root url - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond / headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Sleep 10s Wait For 10 seconds - -Conductor AddHealthcheck Row Into Music - [Documentation] It sends a REST PUT request to Music to inject healthcheck plan - Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}healthcheck.json - &{headers}= Create Dictionary ns=conductor Authorization=${Music_Auth} userId=conductor password=c0nduct0r Content-Type=application/json Accept=application/json - ${resp}= Put Request musicaas /MUSIC/rest/v2/keyspaces/conductor/tables/plans/rows?id=healthcheck data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - Should Be Equal As Integers ${resp.status_code} 200 - Sleep 5s Wait Injection effectiveness - -Healthcheck - [Documentation] It sends a REST GET request to healthcheck url - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/healthcheck headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - -SendPlanWithWrongVersion - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_wrong_version.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 10s Wait Plan Resolution - -GetPlanWithWrongVersion - [Documentation] It sends a REST GET request to capture error - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal error ${resultStatus} - -SendPlanWithoutDemandSection - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_without_demand_section.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 10s Wait Plan Resolution - -GetPlanWithoutDemandSection - [Documentation] It sends a REST GET request to capture error - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal error ${resultStatus} - -SendPlanWithWrongConstraint - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_wrong_distance_constraint.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 10s Wait Plan Resolution - -GetPlanWithWrongConstraint - [Documentation] It sends a REST GET request to capture error - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal error ${resultStatus} - - -SendPlanWithLatiAndLongi - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_lati_and_longi.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithLatiAndLongi - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - -SendPlanWithShortDistanceConstraint - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_short_distance_constraint.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithShortDistanceConstraint - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal not found ${resultStatus} - -SendPlanWithVimFit - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_vim_fit.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithVimFit - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - -SendPlanWithHpa - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithHpa - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - -SendPlanWithHpaSimple - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_simple.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithHpaSimple - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - -SendPlanWithHpaMandatory - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_requirements_mandatory.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithHpaMandatory - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - -SendPlanWithHpaOptionals - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_requirements_optionals.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithHpaOptionals - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - -SendPlanWithHpaUnmatched - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_unmatched.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithHpaUnmatched - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal not found ${resultStatus} - -# HPA Score Multi objective Optimization -SendPlanWithHpaScoreMultiObj - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_score_multi_objective.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithHpaScoreMultiObj - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - ${vim-id}= Convert To String ${response_json['plans'][0]['recommendations'][0]['vG']['candidate']['vim-id']} - # ${hpa_score}= Convert To String ${response_json['plans'][0]['recommendations']['vG']['hpa_score']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - Should Be Equal HPA-cloud_cloud-region-1 ${vim-id} - -# NSI selection template -SendPlanWithNsiSelection - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}nsi_selection_template_with_reuse.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithNsiSelection - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - ${instance_name}= Convert To String ${response_json['plans'][0]['recommendations'][0]['URLLC']['candidate']['instance_name']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - Should Be Equal nsi_test_0211 ${instance_name} - -SendPlanWithNsiSelectionSliceProfile - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}nsi_selection_template_with_create.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithNsiSelectionSliceProfile - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - ${candidate_type}= Convert To String ${response_json['plans'][0]['recommendations'][0]['URLLC']['candidate']['inventory_type']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - Should Be Equal slice_profiles ${candidate_type} - -SendPlanWithNoNsi - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}nsi_selection_template_with_nonsi.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithNoNsi - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - ${candidate_type}= Convert To String ${response_json['plans'][0]['recommendations'][0]['URLLC']['candidate']['inventory_type']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - Should Be Equal slice_profiles ${candidate_type} - -SendPlanWithNssiSelection - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}nssi_selection_template.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithNssiSelection - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - ${instance_name}= Convert To String ${response_json['plans'][0]['recommendations'][0]['URLLC_core']['candidate']['instance_name']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - Should Be Equal nssi_test_0211 ${instance_name} - -SendPlanWithNssiSelectionUnmatched - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}nssi_selection_template_unmatched.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithNssiSelectionUnmatched - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal not found ${resultStatus} - -# NST selection template -SendPlanWithNSTSelection - [Documentation] It sends a POST request to conductor - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - ${data}= Get Binary File ${CURDIR}${/}data${/}nst_selection_template.json - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - ${response_json} json.loads ${resp.content} - ${generatedPlanId}= Convert To String ${response_json['id']} - Set Global Variable ${generatedPlanId} - Log To Console generatedPlanId = ${generatedPlanId} - Should Be Equal As Integers ${resp.status_code} 201 - Sleep 60s Wait Plan Resolution - -GetPlanWithNsTSelection - [Documentation] It sends a REST GET request to capture recommendations - Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} - &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json - ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - ${response_json} json.loads ${resp.content} - ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} - ${instance_name}= Convert To String ${response_json['plans'][0]['recommendations'][0]['nst_demand']['candidate']['model_name']} - Set Global Variable ${resultStatus} - Log To Console resultStatus = ${resultStatus} - Log To Console body = ${resp.text} - Should Be Equal As Integers ${resp.status_code} 200 - Should Be Equal done ${resultStatus} - Should Be Equal EmbbNst ${instance_name} - - -*** Keywords *** - - diff --git a/tests/optf-osdf/osdf/__init__.robot b/tests/optf-osdf/osdf/__init__.robot deleted file mode 100644 index fb654d7b..00000000 --- a/tests/optf-osdf/osdf/__init__.robot +++ /dev/null @@ -1,4 +0,0 @@ -*** Settings *** -Documentation Integration - Suite 1 - - diff --git a/tests/optf-osdf/osdf/data/pci-opt-request.json b/tests/optf-osdf/osdf/data/pci-opt-request.json deleted file mode 100644 index 7ec9ab5f..00000000 --- a/tests/optf-osdf/osdf/data/pci-opt-request.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "requestInfo": { - "transactionId": "xxx-xxx-xxxx", - "requestId": "yyy-yyy-yyyy", - "callbackUrl": "https://wiki.onap.org:5000/callbackUrl/", - "sourceId": "SO", - "requestType": "create", - "numSolutions": 1, - "optimizers": [ - "placement" - ], - "timeout": 600 - }, - "cellInfo": { - "networkId": "1000", - "cellIdList": [ - "cell0" - ] - } -} \ No newline at end of file diff --git a/tests/optf-osdf/osdf/data/placement_request.json b/tests/optf-osdf/osdf/data/placement_request.json deleted file mode 100644 index d9b16ca5..00000000 --- a/tests/optf-osdf/osdf/data/placement_request.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "requestInfo": { - "transactionId": "xxx-xxx-xxxx", - "requestId": "yyy-yyy-yyyy", - "callbackUrl": "https://wiki.onap.org:5000/callbackUrl/", - "sourceId": "SO", - "requestType": "create", - "numSolutions": 1, - "optimizers": ["placement"], - "timeout": 600 - }, - "placementInfo": { - "requestParameters": { "customerLatitude": 32.89748, "customerLongitude": -97.040443, "customerName": "xyz" }, - "subscriberInfo": {"globalSubscriberId": "xxx-xx-xxx", "subscriberName": "subscriber_x"}, - "placementDemands": [ - { - "resourceModuleName": "vGMuxInfra", - "serviceResourceId": "vGMuxInfra-xx", - "tenantId": "vGMuxInfra-tenant", - "resourceModelInfo": { - "modelInvariantId": "vGMuxInfra-modelInvariantId", - "modelVersionId": "vGMuxInfra-versionId", - "modelName": "vGMuxInfra-model", - "modelType": "resource", - "modelVersion": "1.0", - "modelCustomizationName": "vGMuxInfra-customeModelName" - } - }, - { - "resourceModuleName": "vG", - "serviceResourceId": "71d563e8-e714-4393-8f99-cc480144a05e", - "tenantId": "vG-tenant", - "resourceModelInfo": { - "modelInvariantId": "vG-modelInvariantId", - "modelVersionId": "vG-versionId", - "modelName": "vG-model", - "modelType": "resource", - "modelVersion": "1.0", - "modelCustomizationName": "vG-customeModelName" - }, - "existingCandidates": [ - { - "identifierType": "serviceInstanceId", - "cloudOwner": "", - "identifiers": ["gjhd-098-fhd-987"] - } - ], - "excludedCandidates": [ - { - "identifierType": "serviceInstanceId", - "cloudOwner": "", - "identifiers": ["gjhd-098-fhd-987"] - }, - { - "identifierType": "vimId", - "cloudOwner": "vmware", - "identifiers": ["NYMDT67"] - } - ], - "requiredCandidates": [ - { - "identifierType": "vimId", - "cloudOwner": "amazon", - "identifiers": ["TXAUS219"] - } - ] - } - ] - }, - "serviceInfo": { - "serviceInstanceId": "d61b2543-5914-4b8f-8e81-81e38575b8ec", - "serviceName": "vCPE", - "modelInfo": { - "modelInvariantId": "vCPE-invariantId", - "modelVersionId": "vCPE-versionId", - "modelName": "vCPE-model", - "modelType": "service", - "modelVersion": "1.0", - "modelCustomizationName": "vCPE-customeModelName" - } - }, - "licenseInfo": { - "licenseDemands": [ - { - "resourceModuleName": "vGMuxInfra", - "serviceResourceId": "vGMuxInfra-xx", - "resourceModelInfo": { - "modelInvariantId": "vGMuxInfra-modelInvariantId", - "modelVersionId": "vGMuxInfra-versionId", - "modelName": "vGMuxInfra-model", - "modelType": "resource", - "modelVersion": "1.0", - "modelCustomizationName": "vGMuxInfra-customeModelName" - }, - "existingLicenses": { - "entitlementPoolUUID": ["87257b49-9602-4ca1-9817-094e52bc873b", "43257b49-9602-4fe5-9337-094e52bc9435"], - "licenseKeyGroupUUID": ["87257b49-9602-4ca1-9817-094e52bc873b", "43257b49-9602-4fe5-9337-094e52bc9435"] - } - } - ] - } -} \ No newline at end of file diff --git a/tests/optf-osdf/osdf/optf_osdf_setup.robot b/tests/optf-osdf/osdf/optf_osdf_setup.robot deleted file mode 100644 index fdf7f3e3..00000000 --- a/tests/optf-osdf/osdf/optf_osdf_setup.robot +++ /dev/null @@ -1,12 +0,0 @@ -*** Settings *** -Documentation Suite description -Resource ./resources/common-keywords.robot - -*** Test Cases *** -Check OSDF_SIM Docker Container - [Documentation] It checks osdf_simulator docker container is running - Verify Docker RC Status osdf_sim - -Check OSDF Docker Container - [Documentation] It checks optf-osdf docker container is running - Verify Docker RC Status optf-osdf \ No newline at end of file diff --git a/tests/optf-osdf/osdf/optf_osdf_test.robot b/tests/optf-osdf/osdf/optf_osdf_test.robot deleted file mode 100644 index 79a5750e..00000000 --- a/tests/optf-osdf/osdf/optf_osdf_test.robot +++ /dev/null @@ -1,48 +0,0 @@ -*** Settings *** -Library json -Library OperatingSystem -Resource ./resources/common-keywords.robot - -Suite Teardown Delete All Sessions - -*** Variables *** -${osdf_host} ${OSDF_HOSTNAME}:${OSDF_PORT} -&{placement_auth} = username=test password=testpwd -&{wrong_authorization} = username=test password=test -&{pci_auth}= username=pci_test password=pci_testpwd - -*** Test Cases *** -Healthcheck - [Documentation] It sends a REST GET request to healthcheck url - ${resp}= Http Get ${osdf_host} /api/oof/v1/healthcheck - Should Be Equal As Integers ${resp.status_code} 200 - -SendPlacementWithInvalidAuth - [Documentation] It sends a POST request to osdf fail authentication - ${data}= Get Binary File ${CURDIR}${/}data${/}placement_request.json - ${resp}= Http Post host=${osdf_host} restUrl=/api/oof/v1/placement data=${data} auth=${wrong_authorization} - ${response_json} json.loads ${resp.content} - Should Be Equal Unauthorized, check username and password ${response_json['serviceException']['text']} - Should Be Equal As Integers ${resp.status_code} 401 - -SendPlacementWithValidAuth - [Documentation] It sends a POST request to osdf with correct authentication - ${data}= Get Binary File ${CURDIR}${/}data${/}placement_request.json - ${resp}= Http Post host=${osdf_host} restUrl=/api/oof/v1/placement data=${data} auth=${placement_auth} - ${response_json} json.loads ${resp.content} - Should Be Equal As Integers ${resp.status_code} 202 - Should Be Equal accepted ${response_json['requestStatus']} - -SendPCIOptimizationWithAuth - [Documentation] It sends a POST request PCI Optimization service - - ${data}= Get Binary File ${CURDIR}${/}data${/}pci-opt-request.json - ${resp}= Http Post host=${osdf_host} restUrl=/api/oof/v1/pci data=${data} auth=${pci_auth} - ${response_json} json.loads ${resp.content} - Should Be Equal As Integers ${resp.status_code} 202 - Should Be Equal accepted ${response_json['requestStatus']} - - - - - diff --git a/tests/optf-osdf/osdf/resources/common-keywords.robot b/tests/optf-osdf/osdf/resources/common-keywords.robot deleted file mode 100644 index ea45f09d..00000000 --- a/tests/optf-osdf/osdf/resources/common-keywords.robot +++ /dev/null @@ -1,50 +0,0 @@ -*** Settings *** -Documentation Suite description -Library OperatingSystem -Library RequestsLibrary -Library json -Library RequestsLibrary -*** Variables *** -&{headers}= Content-Type=application/json Accept=application/json -*** Keywords *** -Verify Docker RC Status - [Documentation] Method to verify whether docker instance is up and running - [Arguments] ${process_name} - ${rc} ${output}= Run and Return RC and Output docker ps - Log To Console ********************* - Log To Console retrurn_code = ${rc} - Log To Console output = ${output} - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} ${process_name} - -Http Get - [Documentation] Wrapper for Http GET - [Arguments] ${host} ${restUrl} - Create Session optf-osdf ${host} - ${resp}= Get Request optf-osdf ${restUrl} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - [Return] ${resp} - -Http Post - [Documentation] Wrapper for Http POST - [Arguments] ${host} ${restUrl} ${auth} ${data} - ${pci_auth}= Create List ${auth['username']} ${auth['password']} - Create Session optf-osdf ${host} headers=${headers} auth=${pci_auth} - ${resp}= Post Request optf-osdf ${restUrl} data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - [Return] ${resp} - -Http Put - [Documentation] Wrapper for Http PUT - [Arguments] ${host} ${restUrl} ${auth} ${data} - ${pci_auth}= Create List ${auth['username']} ${auth['password']} - Create Session optf-osdf ${host} headers=${headers} auth=${pci_auth} - ${resp}= Put Request optf-osdf ${restUrl} data=${data} headers=${headers} - Log To Console ********************* - Log To Console response = ${resp} - Log To Console body = ${resp.text} - [Return] ${resp} \ No newline at end of file diff --git a/tests/sdc/sdc-helm-validator/sdc-helm-validator.robot b/tests/sdc/sdc-helm-validator/sdc-helm-validator.robot index 04b570f9..b4051051 100644 --- a/tests/sdc/sdc-helm-validator/sdc-helm-validator.robot +++ b/tests/sdc/sdc-helm-validator/sdc-helm-validator.robot @@ -34,7 +34,7 @@ ${RESP_KEY_LINT_WARNING} lintWarning *** Test Cases *** Verify That Sdc Helm Validator Correctly Responds With Supported Versions Array - [Tags] SDC_HELM_VALIDATOR_1 + [Tags] VERSIONS_ENDPOINT [Documentation] Verify that validator correctly responds with supported helm versions array. ... Send GET request to ask for supported versions array. ... Should reply with JSON containing an array of Helm versions that are supported by the validator. @@ -51,7 +51,7 @@ Verify That Sdc Helm Validator Correctly Responds With Supported Versions Array END Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation Request With Default Version - [Tags] SDC_HELM_VALIDATOR_2 + [Tags] VALIDATE_ENDPOINT DEPLOYABLE [Documentation] Verify that validator correctly responds for correct chart validation request with default version. ... Send POST request to validate correct chart. Input: Helm chart with api version v2, no additional data. ... Should reply with JSON containing the following information: used version = 3.x.x, deployable = true, render errors = [] @@ -76,7 +76,7 @@ Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation R Should Be Empty ${errors} Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation Request With Given V3 Version - [Tags] SDC_HELM_VALIDATOR_3 + [Tags] VALIDATE_ENDPOINT DEPLOYABLE [Documentation] Verify that validator correctly responds for correct chart validation request with given v3 version. ... Send POST request to validate correct chart. Input: Helm chart with api version v2, desired version = v3. ... Should reply with JSON containing the following information: used version = 3.x.x, deployable = true, render errors = []. @@ -97,7 +97,7 @@ Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation R Should Be Empty ${errors} Verify That Sdc Helm Validator Responds With Error For Chart Validation Request With Invalid Version - [Tags] SDC_HELM_VALIDATOR_4 + [Tags] VALIDATE_ENDPOINT ERROR [Documentation] Verify that validator responds with error and 400 status code for validation request with invalid version. ... Send POST request with correct chart but not supported Helm version. Input: Correct helm chart, desired version = v10. ... Should reply with JSON containing error message with information regarding not supported Helm version. Response code should be 400. @@ -112,7 +112,7 @@ Verify That Sdc Helm Validator Responds With Error For Chart Validation Request Should Be Equal As Strings ${resp.text} {"message":"Version: 10 is not supported"} Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation Request With Random Supported Version - [Tags] SDC_HELM_VALIDATOR_5 + [Tags] VERSIONS_ENDPOINT VALIDATE_ENDPOINT [Documentation] Verify that validator correctly responds for correct chart validation request with random supported version. ... Send GET request to ask for supported versions array. ... Should reply with JSON containing an array of Helm versions that are supported by the validator. @@ -133,7 +133,7 @@ Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation R Status Should Be 200 ${resp} Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation Request With Lint - [Tags] SDC_HELM_VALIDATOR_6 + [Tags] VALIDATE_ENDPOINT LINT DEPLOYABLE VALID [Documentation] Verify that validator correctly responds for correct chart validation request with lint. ... Send POST request to validate correct chart and lint. Input: Helm chart with api version v2, linted = true. ... Should reply with JSON containing the following information: deployable = true, valid = true, render errors = [], lint errors = [], lint warnings = []. @@ -160,7 +160,7 @@ Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation R Should Be Empty ${lintWarnings} Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request With Lint Warnings - [Tags] SDC_HELM_VALIDATOR_7 + [Tags] VALIDATE_ENDPOINT LINT DEPLOYABLE VALID [Documentation] Verify that validator correctly responds for chart validation request with lint warnings. ... Send POST request to validate chart and lint. Input: Helm chart that should cause lint warning, linted = true. ... Should reply with JSON containing the following information: deployable = true, valid = true, render errors = [], lint warning = [not empty] @@ -188,7 +188,7 @@ Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request W Should Contain @{lintWarnings} [WARNING] templates/: directory not found Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request With Lint Strict Checking - [Tags] SDC_HELM_VALIDATOR_8 + [Tags] VALIDATE_ENDPOINT STRICT_LINT DEPLOYABLE NON_VALID [Documentation] Verify that validator correctly responds for chart validation request with lint strict checking. ... Send POST request to validate chart and strictly lint. Input: Helm chart that should cause lint warning, linted = true, strict linted = true. ... Should reply with JSON containing the following information: deployable = true, valid = false, render errors = [], lint warning = [not empty]. @@ -216,7 +216,7 @@ Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request W Should Contain @{lintWarnings} [WARNING] templates/: directory not found Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request With Lint And Render Errors - [Tags] SDC_HELM_VALIDATOR_9 + [Tags] VALIDATE_ENDPOINT STRICT_LINT NON_DEPLOYABLE NON_VALID [Documentation] Verify that validator correctly responds for chart validation request with lint and render errors. ... Send POST request to validate chart and strictly lint. Input: Helm chart that should cause lint and render errors, linted = true, strict linted = true. ... Should reply with JSON containing the following information: deployable = false, valid = false, render errors = [not empty], lint errors = [not empty], lint warnings = [].