diff --git a/.github/workflows/prod-sync-ami.yml b/.github/workflows/prod-sync-ami.yml index 962bef384..7dd747225 100644 --- a/.github/workflows/prod-sync-ami.yml +++ b/.github/workflows/prod-sync-ami.yml @@ -20,15 +20,16 @@ jobs: - name: Required Packages run: ./release-tools/scripts/required_packages.sh - name: Set AMI from private to public in all regions + env: + AWS_DEFAULT_REGION: "us-east-1" + AWS_ACCESS_KEY_ID: ${{ secrets.ODFE_AMI_AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.ODFE_AMI_AWS_SECRET_ACCESS_KEY }} run: | #!/bin/bash # The actions aws credential above would lock region # This is to allow aws to switch region in order to # make AMI public on all available regions - aws configure set aws_access_key_id ${{ secrets.AWS_EC2_ACCESS_KEY_ID }} - aws configure set aws_secret_access_key ${{ secrets.AWS_EC2_SECRET_ACCESS_KEY }} - aws configure set region us-east-1 export AWS_PAGER="" REGIONS_LIST=`aws ec2 describe-regions --query 'Regions[].RegionName[]' --output text` @@ -40,10 +41,12 @@ jobs: echo "Making AMI Public in region (${region_name}): Open Distro for Elasticsearch-${{ env.od_version }}-x86_64" AMI_IMAGE_ID_x64=`aws ec2 describe-images --filters "Name=name,Values=Open Distro for Elasticsearch-${{ env.od_version }}-x86_64*" --query 'Images[*].{ID:ImageId}' --output text` + echo "AMI ID : " $AMI_IMAGE_ID_x64 aws ec2 modify-image-attribute --image-id "${AMI_IMAGE_ID_x64}" --launch-permission "Add=[{Group=all}]" echo "Making AMI Public in region (${region_name}): Open Distro for Elasticsearch-${{ env.od_version }}-arm64" AMI_IMAGE_ID_arm64=`aws ec2 describe-images --filters "Name=name,Values=Open Distro for Elasticsearch-${{ env.od_version }}-arm64*" --query 'Images[*].{ID:ImageId}' --output text` + echo "AMI ID : " $AMI_IMAGE_ID_arm64 aws ec2 modify-image-attribute --image-id "${AMI_IMAGE_ID_arm64}" --launch-permission "Add=[{Group=all}]" done diff --git a/elasticsearch/AMI/lib/instance.py b/elasticsearch/AMI/lib/instance.py index 115fa3eab..71a28189a 100644 --- a/elasticsearch/AMI/lib/instance.py +++ b/elasticsearch/AMI/lib/instance.py @@ -67,11 +67,15 @@ def __init__( self.key_pair_name = "ODFEAMIInstanceKey" self.key_path = self._create_key_pair() logging.info("Creating instance") + if "x86_64" in AMI_name: + ec2Type="t3a.2xlarge" + if "arm64" in AMI_name: + ec2Type="t4g.2xlarge" self.instance = ec2_resource.create_instances( ImageId=base_image_id, MinCount=1, MaxCount=1, - InstanceType="t3a.2xlarge", + InstanceType=ec2Type, KeyName=self.key_pair_name, SecurityGroupIds=[security_group_id], AdditionalInfo="ODFE AMI",