File tree Expand file tree Collapse file tree 3 files changed +17
-13
lines changed
Expand file tree Collapse file tree 3 files changed +17
-13
lines changed Original file line number Diff line number Diff line change 99 "ClusterName" : {
1010 "Type" : " String" ,
1111 "Description" : " Name of the Cluster"
12+ },
13+ "SSHKeyName" : {
14+ "Type" : " String" ,
15+ "Description" : " SSH Key Name for EC2 instances"
1216 }
1317 },
1418 "Resources" : {
1721 "Properties" : {
1822 "LaunchTemplateName" : { "Ref" : " LaunchTemplateName" },
1923 "LaunchTemplateData" : {
24+ "KeyName" : { "Ref" : " SSHKeyName" },
2025 "BlockDeviceMappings" : [
2126 {
2227 "DeviceName" : " /dev/xvda" ,
Original file line number Diff line number Diff line change 4141 fi
4242
4343 curl -s $(params.ng-cfn-url) -o ./amazon-ng-cfn
44-
44+
45+ SSH_KEY_NAME=scaletest-nodegroups-ssh-key
46+ if [[ "$(aws ec2 --region "$(params.region)" describe-key-pairs --key-names "$SSH_KEY_NAME" --query 'KeyPairs[0].KeyName' --output text)" == "$SSH_KEY_NAME" ]]; then
47+ echo "KeyPair '$SSH_KEY_NAME' already exists."
48+ else
49+ echo "KeyPair not found. Creating a new keypair."
50+ # Given these are temp nodes, outputting key for devs to copy it to use for debugging
51+ #ToDo - store it in s3 for devs to download it.
52+ aws ec2 create-key-pair --region $(params.region) --key-name $SSH_KEY_NAME --query 'KeyMaterial' --output text
53+ fi
54+
4555 launch_template_name=$(params.cluster-name)-launchTemplate
4656 STACK_NAME=$(params.stack-name)
4757 STACK_STATUS=$(aws cloudformation describe-stacks --query 'Stacks[?StackName==`'${STACK_NAME}'`].StackStatus' --output text --region $(params.region))
5262 --template-body file://$(pwd)/amazon-ng-cfn \
5363 --parameters ParameterKey=LaunchTemplateName,ParameterValue=$launch_template_name\
5464 ParameterKey=ClusterName,ParameterValue=$(params.cluster-name)\
65+ ParameterKey=SSHKeyName,ParameterValue=$SSH_KEY_NAME\
5566 --region $(params.region)
5667
5768 aws cloudformation wait stack-create-complete --stack-name $STACK_NAME --region $(params.region)
Original file line number Diff line number Diff line change 6969 asgs=$((nodes/max_nodes))
7070 echo "asgs: $asgs"
7171 node_group=$(params.nodegroup-prefix)$(params.cluster-name)-nodes
72- SSH_KEY_NAME=scaletest-$(params.region)-nodegroups-ssh-key
73- if [[ "$(aws ec2 --region $(params.region) describe-key-pairs --key-names $SSH_KEY_NAME --query 'KeyPairs[?KeyName==`'$SSH_KEY_NAME'`].KeyName' --output text)" -eq 0 ]];
74- then
75- echo "KeyPair not found";
76- rm -f $HOME/.ssh/$SSH_KEY_NAME.pem
77- aws ec2 create-key-pair --region $(params.region) --key-name $SSH_KEY_NAME --query 'KeyMaterial' --output text > $HOME/.ssh/$SSH_KEY_NAME.pem
78- chmod 400 $HOME/.ssh/$SSH_KEY_NAME.pem
79- ssh-add -k $HOME/.ssh/$SSH_KEY_NAME.pem
80- else
81- echo "KeyPair already exists";
82- fi
8372 create_and_validate_dp_nodes()
8473 {
8574 node_group_name=$node_group-$1
9685 --region $(params.region) \
9786 --instance-types $EC2_INSTANCES \
9887 --scaling-config minSize=$(params.min-nodes),maxSize=$2,desiredSize=$2 \
99- --remote-access ec2SshKey=$SSH_KEY_NAME \
10088 --subnets $NG_SUBNETS $TAINTS_FLAG
10189 fi
10290 echo "CREATED_NODEGROUP=$node_group_name"
You can’t perform that action at this time.
0 commit comments