OpenVidu 2.17.0 -- Media Nodes won't get created

Greetings!
OpenVidu looks awesome, wanted to try using the Pro version. Well, activated trial via the following instruction: OpenVidu Docs

The desired deploy is gonna be on the AWS.
So, went step-by-step, left the certificate selfsigned and the recording – local. Assigned an Elastic IP while creating the stack, that was the only customization.

These are parameters:

AwsInstanceTypeKMS c5.xlarge -
AwsInstanceTypeOV c5.xlarge -
ElasticsearchPassword **** -
ElasticsearchUrl - -
ElasticsearchUser elasticadmin -
KeyName OpenVidu Key Pair -
KibanaUrl - -
LetsEncryptEmail - -
MediaNodesStartNumber 1 -
MyDomainName - -
OpenViduLicense **** -
OpenViduSecret **** -
OpenViduSubnet subnet-c5dbedac -
OpenViduVPC vpc-5615393e -
OwnCertCRT - -
OwnCertKEY - -
PublicElasticIP 18.130.173.8 -
Recording local -
S3RecordingsBucketName - -
WantToDeployDemos true -
WhichCert selfsigned

Well, the stack’s been created successfully, can open the call app, can enter the Inspector.
But no luck with Media Nodes, thus no recording. No Media Nodes are present in the “Cluster” tab, despite the default of “1” for them was left intact. When trying to press “New Media Node” I’m getting a 500 error.
1

Actually tried previous versions, got ther looking erroneous behaviour there, but still no media nodes.
My only thought’s to try 2.14.0 and try to deploy two instances, but that ruins conveniency and all hopes to get out-of-the-box scalability.

Can provide any logs, whatever required.
Please, enlight me, would be extremely grateful and thanks in advance for your patience

Can you share some logs when you run a Media Node?

SSH into your instance and exectute:

sudo su
cd /opt/openvidu
./openvidu logs

Do you have any restrictions in your AWS account?
What region are you using?

Also, please use 2.17.0

The region is eu-west-2 (London). No restrictions should be present, I intentionally haven’t yet created any additional IAM users, but login-ed as a root into the AWS and made a try.

openvidu-server_1  | [INFO] 2021-05-28 00:47:14,952 [http-nio-0.0.0.0-5443-exec-10] io.openvidu.server.pro.rest.InfrastructureRestControllerPro - REST API: GET /openvidu/api/media-nodes
openvidu-server_1  | [INFO] 2021-05-28 00:47:16,790 [http-nio-0.0.0.0-5443-exec-6] io.openvidu.server.pro.rest.InfrastructureRestControllerPro - REST API: GET /openvidu/api/media-nodes
openvidu-server_1  | [INFO] 2021-05-28 00:47:21,786 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.pro.rest.InfrastructureRestControllerPro - REST API: GET /openvidu/api/media-nodes
openvidu-server_1  | [INFO] 2021-05-28 00:47:22,323 [http-nio-0.0.0.0-5443-exec-9] io.openvidu.server.pro.rest.InfrastructureRestControllerPro - REST API: POST  /openvidu/api/media-nodes (async)
openvidu-server_1  | [INFO] 2021-05-28 00:47:22,323 [http-nio-0.0.0.0-5443-exec-9] io.openvidu.server.pro.infrastructure.onpremise.OnpremiseInfrastructureManager - Launching new 'aws' instance of type 'kms'
openvidu-server_1  | [INFO] 2021-05-28 00:47:22,324 [http-nio-0.0.0.0-5443-exec-9] io.openvidu.server.pro.infrastructure.onpremise.OnpremiseInfrastructureManager - Running command "/opt/openvidu/cluster/aws/openvidu_launch_kms.sh"
openvidu-server_1  | [ERROR] 2021-05-28 00:47:23,354 [http-nio-0.0.0.0-5443-exec-9] io.openvidu.server.pro.infrastructure.onpremise.OnpremiseInfrastructureManager - Script "/opt/openvidu/cluster/aws/openvidu_launch_kms.sh" returned an invalid JSON string through the standard output. Looking for error output...
openvidu-server_1  | [ERROR] 2021-05-28 00:47:23,354 [http-nio-0.0.0.0-5443-exec-9] io.openvidu.server.pro.infrastructure.onpremise.OnpremiseInfrastructureManager - Error output found. Content:
openvidu-server_1  | [ERROR] 2021-05-28 00:47:23,354 [http-nio-0.0.0.0-5443-exec-9] io.openvidu.server.pro.infrastructure.onpremise.OnpremiseInfrastructureManager - Unknown error  usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help Unknown options: Pair, Key
openvidu-server_1  |
openvidu-server_1  | [ERROR] 2021-05-28 00:47:23,354 [http-nio-0.0.0.0-5443-exec-9] io.openvidu.server.pro.infrastructure.InfrastructureManager - Error launching Media Node instance
openvidu-server_1  | [ERROR] 2021-05-28 00:47:23,355 [http-nio-0.0.0.0-5443-exec-9] io.openvidu.server.utils.RestUtils - Error while launching media node: Error launching Media Node instance
openvidu-server_1  | [INFO] 2021-05-28 00:47:26,798 [http-nio-0.0.0.0-5443-exec-1] io.openvidu.server.pro.rest.InfrastructureRestControllerPro - REST API: GET /openvidu/api/media-nodes
openvidu-server_1  | [INFO] 2021-05-28 00:47:32,378 [http-nio-0.0.0.0-5443-exec-2] io.openvidu.server.pro.rest.InfrastructureRestControllerPro - REST API: GET /openvidu/api/media-nodes
openvidu-server_1  | [INFO] 2021-05-28 00:47:37,377 [http-nio-0.0.0.0-5443-exec-3] io.openvidu.server.pro.rest.InfrastructureRestControllerPro - REST API: GET /openvidu/api/media-nodes

Seeing the error I tried the erroneous script aaand…

ubuntu@ip-172-31-13-106:~$ /opt/openvidu/cluster/aws/openvidu_launch_kms.sh
Unknown error  docker: invalid reference format. See 'docker run --help'.  

Yet I’m sudo and docker ps -a works fine.
Version: 2.17.0

I don’t know. I’ll try to deploy with similar config in eu-west-2. I’ve tried it right now in eu-west-1 and us-east-1 and it is working fine.

Can you show me your .env file with hidden passwords?

Be careful, don’t share your OpenVidu license key

Sure:

# OpenVidu configuration
# ----------------------
# Documentation: https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/

# NOTE: This file doesn't need to quote assignment values, like most shells do.
# All values are stored as-is, even if they contain spaces, so don't quote them.

# Domain name. If you do not have one, the public IP of the machine.
# For example: 198.51.100.1, or openvidu.example.com
DOMAIN_OR_PUBLIC_IP=18.130.173.8

# OpenVidu PRO License
OPENVIDU_PRO_LICENSE=<CUT_AWAY>

# OpenVidu SECRET used for apps to connect to OpenVidu server and users to access to OpenVidu Dashboard
OPENVIDU_SECRET=letstalk1209

# Certificate type:
# - selfsigned:  Self signed certificate. Not recommended for production use.
#                Users will see an ERROR when connected to web page.
# - owncert:     Valid certificate purchased in a Internet services company.
#                Please put the certificates files inside folder ./owncert
#                with names certificate.key and certificate.cert
# - letsencrypt: Generate a new certificate using letsencrypt. Please set the
#                required contact email for Let's Encrypt in LETSENCRYPT_EMAIL
#                variable.
CERTIFICATE_TYPE=selfsigned

# If CERTIFICATE_TYPE=letsencrypt, you need to configure a valid email for notifications
LETSENCRYPT_EMAIL=

# Proxy configuration
# If you want to change the ports on which openvidu listens, uncomment the following lines

# Allows any request to http://DOMAIN_OR_PUBLIC_IP:HTTP_PORT/ to be automatically
# redirected to https://DOMAIN_OR_PUBLIC_IP:HTTPS_PORT/.
# WARNING: the default port 80 cannot be changed during the first boot
# if you have chosen to deploy with the option CERTIFICATE_TYPE=letsencrypt
# HTTP_PORT=80

# Changes the port of all services exposed by OpenVidu.
# SDKs, REST clients and browsers will have to connect to this port
# HTTPS_PORT=443

# Old paths are considered now deprecated, but still supported by default. 
# OpenVidu Server will log a WARN message every time a deprecated path is called, indicating 
# the new path that should be used instead. You can set property SUPPORT_DEPRECATED_API=false 
# to stop allowing the use of old paths.
# Default value is true
# SUPPORT_DEPRECATED_API=true

# If true request to with www will be redirected to non-www requests
# Default value is false
# REDIRECT_WWW=false

# How many workers to configure in nginx proxy. 
# The more workers, the more requests will be handled
# Default value is 10240
# WORKER_CONNECTIONS=10240

# Access restrictions
# In this section you will be able to restrict the IPs from which you can access to
# Openvidu API and the Administration Panel
# WARNING! If you touch this configuration you can lose access to the platform from some IPs.
# Use it carefully.

# This section limits access to the /dashboard (OpenVidu CE) and /inspector (OpenVidu Pro) pages.
# The form for a single IP or an IP range is:
# ALLOWED_ACCESS_TO_DASHBOARD=198.51.100.1 and ALLOWED_ACCESS_TO_DASHBOARD=198.51.100.0/24
# To limit multiple IPs or IP ranges, separate by commas like this:
# ALLOWED_ACCESS_TO_DASHBOARD=198.51.100.1, 198.51.100.0/24
# ALLOWED_ACCESS_TO_DASHBOARD=

# This section limits access to the Openvidu REST API.
# The form for a single IP or an IP range is:
# ALLOWED_ACCESS_TO_RESTAPI=198.51.100.1 and ALLOWED_ACCESS_TO_RESTAPI=198.51.100.0/24
# To limit multiple IPs or or IP ranges, separate by commas like this:
# ALLOWED_ACCESS_TO_RESTAPI=198.51.100.1, 198.51.100.0/24
# ALLOWED_ACCESS_TO_RESTAPI=

# Mode of cluster management. Can be auto (OpenVidu manages Media Nodes on its own.
# Parameter KMS_URIS is ignored) or manual (user must manage Media Nodes. Parameter
# KMS_URIS is used: if any uri is provided it must be valid)
OPENVIDU_PRO_CLUSTER_MODE=auto

# Which environment are you using
# Possibles values: aws, on_premise
OPENVIDU_PRO_CLUSTER_ENVIRONMENT=aws

# Unique identifier of your cluster. Each OpenVidu Server Pro instance corresponds to one cluster.
# You can launch as many clusters as you want with your license key. 
# Cluster ID will always be stored to disk so restarting OpenVidu Server Pro will keep the same previous cluster ID
# if this configuration parameter is not given a distinct value.
# OPENVIDU_PRO_CLUSTER_ID=

# The desired number of Media Nodes on startup. First the autodiscovery process is performed.
# If there are too many Media Nodes after that, they will be dropped until this number is reached.
# If there are not enough, more will be launched.
# This only takes place if OPENVIDU_PRO_CLUSTER_MODE is set to auto
# If set to zero no media servers will be lauched.
# Type: number >= 0
OPENVIDU_PRO_CLUSTER_MEDIA_NODES=1

# How often each running Media Node will send OpenVidu Server Pro Node load metrics, in seconds.
# This property is only used when OPENVIDU_PRO_CLUSTER_LOAD_STRATEGY is 'cpu'. Other load strategies
# gather information synchronously when required
# Type: number >= 0
# OPENVIDU_PRO_CLUSTER_LOAD_INTERVAL=

# Whether to enable or disable autoscaling. With autoscaling the number of Media Nodes will
# be automatically adjusted according to existing load
# Values: true | false
OPENVIDU_PRO_CLUSTER_AUTOSCALING=false

# How often the autoscaling algorithm runs, in seconds
# Type number >= 0
# OPENVIDU_PRO_CLUSTER_AUTOSCALING_INTERVAL=

# If autoscaling is enabled, the upper limit of Media Nodes that can be reached.
# Even when the average load exceeds the threshold, no more Media Nodes will be added to cluster
# Type number >= 0
# OPENVIDU_PRO_CLUSTER_AUTOSCALING_MAX_NODES=

# If autoscaling is enabled, the lower limit of Media Nodes that can be reached.
# Even when the average load is inferior to the threshold, no more Media Nodes will
# be removed from the cluster
# OPENVIDU_PRO_CLUSTER_AUTOSCALING_MIN_NODES=

# If autoscaling is enabled, the upper average load threshold that will trigger the addition
# of a new Media Node.
# Percentage value (0 min, 100 max)
# OPENVIDU_PRO_CLUSTER_AUTOSCALING_MAX_LOAD=

# If autoscaling is enabled, the lower average load threshold that will trigger the removal
# of an existing Media Node.
# Percentage value (0 min, 100 max)
# OPENVIDU_PRO_CLUSTER_AUTOSCALING_MIN_LOAD=

# What parameter should be used to distribute the creation of new sessions
# (and therefore distribution of load) among all available Media Nodes
OPENVIDU_PRO_CLUSTER_LOAD_STRATEGY=streams

# Whether to enable or disable Network Quality API. You can monitor and
# warn users about the quality of their networks with this feature
# OPENVIDU_PRO_NETWORK_QUALITY=false

# If OPENVIDU_PRO_NETWORK_QUALITY=true, how often the network quality
# algorithm will be invoked for each user, in seconds
# OPENVIDU_PRO_NETWORK_QUALITY_INTERVAL=5

# Max days until delete indexes in state of rollover on Elasticsearch
# Type number >= 0
# Default Value is 15
# OPENVIDU_PRO_ELASTICSEARCH_MAX_DAYS_DELETE=

# If you have an external Elasticsearch and Kibana already running, put here the url to elasticsearch and kibana services.
# It is very important that both url have the port specified in the url.
# If you want to use the deployed Elasticsearch and Kibana locally, keep these variables commented.
#OPENVIDU_PRO_ELASTICSEARCH_HOST=
#OPENVIDU_PRO_KIBANA_HOST=

# Where to store recording files. Can be 'local' (local storage) or 's3' (AWS bucket).
# You will need to define a OPENVIDU_PRO_AWS_S3_BUCKET if you use it.
OPENVIDU_PRO_RECORDING_STORAGE=local

# S3 Bucket where to store recording files. May include paths to allow navigating
# folder structures inside the bucket. This property is only taken into account
# if OPENVIDU_PRO_RECORDING_STORAGE=s3
#OPENVIDU_PRO_AWS_S3_BUCKET=

# If OPENVIDU_PRO_RECORDING_STORAGE=s3, the collection of HTTP header values that the internal AWS client  will use during
# the upload process. The property is a key-value map of strings, following the format of a JSON object. For example, for applying
# server-side encryption with AES-256, this header is mandatory: {"x-amz-server-side-encryption":"AES256"}.
# The list of available headers can be found here: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/Headers.html
# This property is only taken into account if OPENVIDU_PRO_RECORDING_STORAGE=s3
#OPENVIDU_PRO_AWS_S3_HEADERS=

# If you're instance has a role which has access to read
# and write into the s3 bucket, you don't need this parameter
# OPENVIDU_PRO_AWS_ACCESS_KEY=

# AWS credentials secret key from OPENVIDU_PRO_AWS_ACCESS_KEY. This property is only
# taken into account if OPENVIDU_PRO_RECORDING_STORAGE=s3
# If you're instance has a role which has access to read
# and write into the s3 bucket, you don't need this parameter
# OPENVIDU_PRO_AWS_SECRET_KEY=

# AWS region in which the S3 bucket is located (e.g. eu-west-1). If not provided, 
# the region will try to be discovered automatically, although this is not always possible. 
# This property is only taken into account if OPENVIDU_PRO_RECORDING_STORAGE=s3
OPENVIDU_PRO_AWS_REGION=eu-west-2

# Whether to enable recording module or not
OPENVIDU_RECORDING=true

# Use recording module with debug mode.
OPENVIDU_RECORDING_DEBUG=false

# Openvidu Folder Record used for save the openvidu recording videos. Change it
# with the folder you want to use from your host.
OPENVIDU_RECORDING_PATH=/opt/openvidu/recordings

# System path where OpenVidu Server should look for custom recording layouts
OPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/custom-layout

# if true any client can connect to
# https://OPENVIDU_SERVER_IP:OPENVIDU_PORT/recordings/any_session_file.mp4
# and access any recorded video file. If false this path will be secured with
# OPENVIDU_SECRET param just as OpenVidu Server dashboard at
# https://OPENVIDU_SERVER_IP:OPENVIDU_PORT
# Values: true | false
OPENVIDU_RECORDING_PUBLIC_ACCESS=false

# Which users should receive the recording events in the client side
# (recordingStarted, recordingStopped). Can be all (every user connected to
# the session), publisher_moderator (users with role 'PUBLISHER' or
# 'MODERATOR'), moderator (only users with role 'MODERATOR') or none
# (no user will receive these events)
OPENVIDU_RECORDING_NOTIFICATION=publisher_moderator

# Timeout in seconds for recordings to automatically stop (and the session involved to be closed)
# when conditions are met: a session recording is started but no user is publishing to it or a session
# is being recorded and last user disconnects. If a user publishes within the timeout in either case,
# the automatic stop of the recording is cancelled
# 0 means no timeout
OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT=120

# Maximum video bandwidth sent from clients to OpenVidu Server, in kbps.
# 0 means unconstrained
OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH=1000

# Minimum video bandwidth sent from clients to OpenVidu Server, in kbps.
# 0 means unconstrained
OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH=300

# Maximum video bandwidth sent from OpenVidu Server to clients, in kbps.
# 0 means unconstrained
OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH=1000

# Minimum video bandwidth sent from OpenVidu Server to clients, in kbps.
# 0 means unconstrained
OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH=300

# All sessions of OpenVidu will try to force this codec. If OPENVIDU_STREAMS_ALLOW_TRANSCODING=true
# when a codec can not be forced, transcoding will be allowed
# Default value is VP8
# OPENVIDU_STREAMS_FORCED_VIDEO_CODEC=VP8

# Allow transcoding if codec specified in OPENVIDU_STREAMS_FORCED_VIDEO_CODEC can not be applied
# Default value is false
# OPENVIDU_STREAMS_ALLOW_TRANSCODING=false

# true to enable OpenVidu Webhook service. false' otherwise
# Values: true | false
OPENVIDU_WEBHOOK=false

# HTTP endpoint where OpenVidu Server will send Webhook HTTP POST messages
# Must be a valid URL: http(s)://ENDPOINT
#OPENVIDU_WEBHOOK_ENDPOINT=

# List of headers that OpenVidu Webhook service will attach to HTTP POST messages
#OPENVIDU_WEBHOOK_HEADERS=

# List of events that will be sent by OpenVidu Webhook service
# Default value is all available events
OPENVIDU_WEBHOOK_EVENTS=[sessionCreated,sessionDestroyed,participantJoined,participantLeft,webrtcConnectionCreated,webrtcConnectionDestroyed,recordingStatusChanged,filterEventDispatched,mediaNodeStatusChanged]

# How often the garbage collector of non active sessions runs.
# This helps cleaning up sessions that have been initialized through
# REST API (and maybe tokens have been created for them) but have had no users connected.
# Default to 900s (15 mins). 0 to disable non active sessions garbage collector
OPENVIDU_SESSIONS_GARBAGE_INTERVAL=900

# Minimum time in seconds that a non active session must have been in existence
# for the garbage collector of non active sessions to remove it. Default to 3600s (1 hour).
# If non active sessions garbage collector is disabled
# (property 'OPENVIDU_SESSIONS_GARBAGE_INTERVAL' to 0) this property is ignored
OPENVIDU_SESSIONS_GARBAGE_THRESHOLD=3600

# Call Detail Record enabled
# Whether to enable Call Detail Record or not
# Values: true | false
OPENVIDU_CDR=false

# Path where the cdr log files are hosted
OPENVIDU_CDR_PATH=/opt/openvidu/cdr

# Openvidu Server Level logs
# --------------------------
# Uncomment the next line and define this variable to change
# the verbosity level of the logs of Openvidu Service
# RECOMENDED VALUES: INFO for normal logs DEBUG for more verbose logs
# OV_CE_DEBUG_LEVEL=INFO

# OpenVidu Java Options
# --------------------------
# Uncomment the next line and define this to add options to java command
# Documentation: https://docs.oracle.com/cd/E37116_01/install.111210/e23737/configuring_jvm.htm#OUDIG00058
# JAVA_OPTIONS=-Xms2048m -Xmx4096m

# ElasticSearch Java Options
# --------------------------
# Uncomment the next line and define this to add options to java command of Elasticsearch
# Documentation: https://docs.oracle.com/cd/E37116_01/install.111210/e23737/configuring_jvm.htm#OUDIG00058
# By default ElasticSearch is configured to use "-Xms2g -Xmx2g" as Java Min and Max memory heap allocation
# ES_JAVA_OPTS=-Xms2048m -Xmx4096m

# Kibana And ElasticSearch Credentials Configuration
# --------------------------
# Kibana And ElasticSearch Basic Auth configuration (Credentials)
# This credentials will aso be valid for Kibana dashboard
ELASTICSEARCH_USERNAME=elasticadmin
ELASTICSEARCH_PASSWORD=fubar123

# Media Node Configuration
# --------------------------
# You can add any KMS environment variable as described in the
# documentation of the docker image: https://hub.docker.com/r/kurento/kurento-media-server
# If you want to add an environment variable to KMS, you must add a variable using this prefix: 'KMS_DOCKER_ENV_',
# followed by the environment variable you want to setup.
# For example if you want to setup KMS_MIN_PORT to 50000, it would be KMS_DOCKER_ENV_KMS_MIN_PORT=50000

# Docker hub kurento media server: https://hub.docker.com/r/kurento/kurento-media-server
# Uncomment the next line and define this variable with KMS image that you want use
# By default, KMS_IMAGE is defined in media nodes and it does not need to be specified unless
# you want to use a specific version of KMS
# KMS_IMAGE=kurento/kurento-media-server:6.16.0

# Uncomment the next line and define this variable to change
# the verbosity level of the logs of KMS
# Documentation: https://doc-kurento.readthedocs.io/en/stable/features/logging.html
# KMS_DOCKER_ENV_GST_DEBUG=

# Cloudformation configuration
# --------------------------
# If you're working outside AWS ignore this section
AWS_DEFAULT_REGION=eu-west-2
AWS_IMAGE_ID=ami-0471dcfeeacdb9a1e
AWS_INSTANCE_TYPE=c5.xlarge
AWS_INSTANCE_ID=i-0f20c9a0a0936a57d
AWS_KEY_NAME=OpenVidu Key Pair
AWS_SUBNET_ID=subnet-c5dbedac
AWS_SECURITY_GROUP=sg-0a16a795ea126598b
AWS_STACK_ID=arn:aws:cloudformation:eu-west-2:736933390453:stack/OpenVidu/14ebb990-bf4a-11eb-917a-0a9e2f58c1b2
AWS_STACK_NAME=OpenVidu
AWS_CLI_DOCKER_TAG=2.1.1
AWS_VOLUME_SIZE=50

Am I right that it’s gonna work all by itself: stack creation via the YAML, everything out-of-the-box, then Nodes gonna be present in the Inspector?

Maybe some debugging advices? Would like to narrow down the list of everything to be re-checked,

Ahh… I think I can see the problem. One really hard to see.

Take a look to the AWS_KEY_NAME variable.

It has spaces. I think this is breaking somewhat the rest of the parameters. Can you try to use it with quotes ?

AWS_KEY_NAME="OpenVidu Key Pair"

Regards

EDIT: Don’t use quotes. Use Key Name without spaces. 2.18.0 will fix this issue

Please, feedback to me if this solved your problem. This is a bug actually, but I need to know if this fix the problem as a workaround

If this don’t fix your error, use a Key Name without spaces.

I’ve fixed this error for the next version (2.18.0) right now: deployment: Quoted env vars in aws scripts... · OpenVidu/openvidu@04dfaab · GitHub

Regards

Thanks for your support!
I’m currently recreating the AWS stack from scratch to be sure nothing interferes.
And yes, already trying the key without spaces.

As soon as ready, will give you feedback about both attempts – with spaces and quotes and without both.

1 Like

@Alexander_Kasyan Don’t quote the AWS_KEY_NAME variable, the problem is in the script, so the quotes will not do anything.

At the moment, using the key name without spaces is the solution. 2.18.0 will fix this issue

Yepp, I confirm totally.
Quotes did not help, but the name without spaces did, it’s a working solution.

Thanks a lot!