From 6f5ba1d5336f7799cdc7a48ddddf3f98a724bbe7 Mon Sep 17 00:00:00 2001 From: cruizba Date: Sat, 28 Feb 2026 00:37:17 +0100 Subject: [PATCH] openvidu-deployment: Skip aws-cli installation if already present Nvidia Deep Learning AMIs come with AWS CLI pre-installed, causing the install script to fail under set -e. Check for existing aws-cli before attempting installation. --- .../aws/cf-openvidu-singlenode.yaml | 12 ++++++---- .../pro/elastic/aws/cf-openvidu-elastic.yaml | 24 +++++++++++-------- .../pro/ha/aws/cf-openvidu-ha.yaml | 24 +++++++++++-------- .../aws/cf-openvidu-singlenode.yaml | 12 ++++++---- 4 files changed, 42 insertions(+), 30 deletions(-) diff --git a/openvidu-deployment/community/singlenode/aws/cf-openvidu-singlenode.yaml b/openvidu-deployment/community/singlenode/aws/cf-openvidu-singlenode.yaml index cc0a2bf5c..12e60182a 100644 --- a/openvidu-deployment/community/singlenode/aws/cf-openvidu-singlenode.yaml +++ b/openvidu-deployment/community/singlenode/aws/cf-openvidu-singlenode.yaml @@ -692,11 +692,13 @@ Resources: wget https://github.com/mikefarah/yq/releases/download/${!YQ_VERSION}/yq_linux_$(dpkg --print-architecture).tar.gz -O - |\ tar xz && mv yq_linux_$(dpkg --print-architecture) /usr/bin/yq - # Install aws-cli - curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" - unzip -qq awscliv2.zip - ./aws/install - rm -rf awscliv2.zip aws + # Install aws-cli if not already installed + if ! command -v aws &> /dev/null; then + curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" + unzip -qq awscliv2.zip + ./aws/install + rm -rf awscliv2.zip aws + fi # Token for IMDSv2 TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600") diff --git a/openvidu-deployment/pro/elastic/aws/cf-openvidu-elastic.yaml b/openvidu-deployment/pro/elastic/aws/cf-openvidu-elastic.yaml index 9660a0d3e..982f00225 100644 --- a/openvidu-deployment/pro/elastic/aws/cf-openvidu-elastic.yaml +++ b/openvidu-deployment/pro/elastic/aws/cf-openvidu-elastic.yaml @@ -1454,11 +1454,13 @@ Resources: wget https://github.com/mikefarah/yq/releases/download/${!YQ_VERSION}/yq_linux_$(dpkg --print-architecture).tar.gz -O - |\ tar xz && mv yq_linux_$(dpkg --print-architecture) /usr/bin/yq - # Install aws-cli - curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" - unzip -qq awscliv2.zip - ./aws/install - rm -rf awscliv2.zip aws + # Install aws-cli if not already installed + if ! command -v aws &> /dev/null; then + curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" + unzip -qq awscliv2.zip + ./aws/install + rm -rf awscliv2.zip aws + fi # Token for IMDSv2 TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600") @@ -1984,11 +1986,13 @@ Resources: wget https://github.com/mikefarah/yq/releases/download/${!YQ_VERSION}/yq_linux_$(dpkg --print-architecture).tar.gz -O - |\ tar xz && mv yq_linux_$(dpkg --print-architecture) /usr/bin/yq - # Install aws-cli - curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" - unzip -qq awscliv2.zip - ./aws/install - rm -rf awscliv2.zip aws + # Install aws-cli if not already installed + if ! command -v aws &> /dev/null; then + curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" + unzip -qq awscliv2.zip + ./aws/install + rm -rf awscliv2.zip aws + fi # Token for IMDSv2 TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600") diff --git a/openvidu-deployment/pro/ha/aws/cf-openvidu-ha.yaml b/openvidu-deployment/pro/ha/aws/cf-openvidu-ha.yaml index 3a1a3da9f..9a1cd1aac 100644 --- a/openvidu-deployment/pro/ha/aws/cf-openvidu-ha.yaml +++ b/openvidu-deployment/pro/ha/aws/cf-openvidu-ha.yaml @@ -1557,11 +1557,13 @@ Resources: wget https://github.com/mikefarah/yq/releases/download/${!YQ_VERSION}/yq_linux_$(dpkg --print-architecture).tar.gz -O - |\ tar xz && mv yq_linux_$(dpkg --print-architecture) /usr/bin/yq - # Install aws-cli - curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" - unzip -qq awscliv2.zip - ./aws/install - rm -rf awscliv2.zip aws + # Install aws-cli if not already installed + if ! command -v aws &> /dev/null; then + curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" + unzip -qq awscliv2.zip + ./aws/install + rm -rf awscliv2.zip aws + fi # Singal to notify instance is waiting SIGNAL_NAME="$1" @@ -2320,11 +2322,13 @@ Resources: wget https://github.com/mikefarah/yq/releases/download/${!YQ_VERSION}/yq_linux_$(dpkg --print-architecture).tar.gz -O - |\ tar xz && mv yq_linux_$(dpkg --print-architecture) /usr/bin/yq - # Install aws-cli - curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" - unzip -qq awscliv2.zip - ./aws/install - rm -rf awscliv2.zip aws + # Install aws-cli if not already installed + if ! command -v aws &> /dev/null; then + curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" + unzip -qq awscliv2.zip + ./aws/install + rm -rf awscliv2.zip aws + fi # Token for IMDSv2 TOKEN="$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")" diff --git a/openvidu-deployment/pro/singlenode/aws/cf-openvidu-singlenode.yaml b/openvidu-deployment/pro/singlenode/aws/cf-openvidu-singlenode.yaml index c0c15134f..98d4223fb 100644 --- a/openvidu-deployment/pro/singlenode/aws/cf-openvidu-singlenode.yaml +++ b/openvidu-deployment/pro/singlenode/aws/cf-openvidu-singlenode.yaml @@ -794,11 +794,13 @@ Resources: wget https://github.com/mikefarah/yq/releases/download/${!YQ_VERSION}/yq_linux_$(dpkg --print-architecture).tar.gz -O - |\ tar xz && mv yq_linux_$(dpkg --print-architecture) /usr/bin/yq - # Install aws-cli - curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" - unzip -qq awscliv2.zip - ./aws/install - rm -rf awscliv2.zip aws + # Install aws-cli if not already installed + if ! command -v aws &> /dev/null; then + curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" + unzip -qq awscliv2.zip + ./aws/install + rm -rf awscliv2.zip aws + fi # Token for IMDSv2 TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")