I am creating aws ec2 Ubuntu 18.04 LTS using cloud formation template and have user data to run commands during launch of instance. In user data, command is written to install python3.8:
apt-get install python3.8 -y
This cloud formation / user data is not installing python 3.8 on ec2 instance (checked after running command: python3.8 --version on ssh client). If manually connect instance with ssh client (putty) and run apt-get install python3.8 -y , it install python 3.8 on instance. I analysed cfn-init.log & cfn-init-output.log at /var/log/ on ec2 instance, but didn't find any useful information for python3.8
Can anyone help me to find why cloud formation template / user data is not installing python3.8 but ssh client (putty) can install python3.8
The user data section is as below:
UserData: "Fn::Base64": "Fn::Sub":
- | #!/bin/bash
# Install Python dependencies
apt-get update
apt-get update && apt -y upgrade
apt-get install dos2unix
apt-get install -y python-pip
apt-get install -y python3.6 python3-pip
apt-get install python3.8 -y # installing python3.8
pip3 install --no-cache-dir NumPy
# Install AWS cli and init functions
pip3 install --no-cache-dir awscli
pip3 install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz
ln -s /usr/local/bin/cfn-hup /etc/init.d/cfn-hup
cfn-init -v --stack ${STACK} --resource resources --configsets install --region ${REGION}
- { STACK: !Ref "AWS::StackName" , REGION: !Ref "AWS::Region" }