Giter Club home page Giter Club logo

openspot's Introduction

OpenSpot

tldr;

  1. Make sure AWS CLI is configured properly with right set of credentials and access to launch resources
  2. Execute the following to launch CRC on AWS Spot Instance
git clone https://github.com/ksingh7/openspot.git
cd openspot/aws
time bash launch.sh -r ap-south-1 -a ap-south-1a -v false

Preamble

What is crc

Red Hat CodeReady Containers (CRC) brings a minimal single node OpenShift 4 cluster to your local computer. This cluster provides a minimal OpenShift environment for development and testing purposes. Read more

What are Spot Instances

Amazon EC2 Spot Instances let you take advantage of unused EC2 capacity in the AWS datacenter. Spot Instances are available at up to a 90% discount compared to On-Demand prices. Read more

What is OpenSpot

OpenSpot [OpenShift on Spot Instance] is a tool that helps you deploy CRC on AWS Spot Instances in a fully automated & resilient manner. The core idea of openspot is automate all the steps required to launch AWS Spot Instance and automatically configure CRC. OpenSpot allows you to tear down CRC spot instance and their associated resources, when you do not need it, that translates to further cost saving.

For example : You are a developer/architect, need a CRC environment daily for 4 hours. You can use OpenSpot, launch your CRC environment and terminate after 4 hours, and just repeat this step daily. OpenSpot uses EBS volume to persist your CRC instance, destroying and re-creating OpenSpot instance, do not destroy the CRC VM that you are working on daily (unless you are deleting EBS volume)

Features of OpenSpot
  • Select Region & AZ of your choice
  • Sequentially provision all AWS resources required (as pre-requisite)
    • Key-pair
    • IAM role, policy, instance-policy
    • Security Group
    • user-data as Template
  • Launch Spot Instnace
  • Configure OS
    • Install all required packages
    • Get CRC/OC binaries
  • EBS volume
    • Provision, Attach
    • Detect/Create/Mount filesystem
  • CRC Setup
    • Dynamically set CPU/Memory
    • Expand CRC root disk
  • Configure Haproxy & make CRC instance available remotely
  • Handle Spot Instance Termination
    • Provision new Spot Instnace
    • Detect previous instance of CRC and resume that
  • Cleanup
    • Destroy all AWS resources requested by openspot

OpenSpot Technical Architecture

Setup

Prerequisite

  • AWS CLI must be configured on local machines
  • AWS Admin Access & Secret Key
    • If you do not have Admin access, make sure your AWS ID has right capabilites to provision resources like IAM roles, policies,instance-policy,key-pair,security group,spot-instance,EBS
  • Test configuration of AWS CLI
aws ec2 describe-instances
  • Get OpenSpot
git clone https://github.com/ksingh7/openspot.git
cd openspot/aws

Deploy CRC on Spot Instance

    usage launch.sh -r "AWS_Region_Name" -a "AWS_AZ_NAME" -v "true or false"
    OPTIONS
    -r "AWS Region Name : Optional, if not provided, will use AWS CLI default value"
    -a "AWS Availablity Zone Name : Optional, if not provided, will use AWS CLI default value"
    -v "Optional : Verbose Output, set either true or false, default value is false"
    -h "Show help menu"
    -i "AMI ID"
  • To launch AWS Spot Instance in ap-south-1 region and ap-south-1a availablity zone, execute
time bash launch.sh -r ap-south-1 -a ap-south-1a -v false

Sample output

$ time bash launch.sh -r ap-south-1 -a ap-south-1a -v false
Need your SSH Public Key absolute path to create AWS Key Pair in the selected Region (ex: /Users/karasing/.ssh/id_rsa.pub) :
Enter SSH Public Key Path [/Users/karasing/.ssh/id_rsa.pub]:
New key-pair named crc-key-pair created in region ap-south-1...
Creating IAM Role ...
Adding policy to IAM Role ...
Creating Instance Profile ...
Adding Role to Instance Profile ...
Creating Security Group ...
Generating User-Data script file ...
Generating Launch Specification file ...
Launching SPOT Instance, Please Wait ...
Please allow 5 minutes for instance configuration
Trying to tail instance setup logs ...
Applying TAG to Instance
Warning: Permanently added '13.232.50.164' (ECDSA) to the list of known hosts.
Installing required packages ... [Done]
Setting up AWS Cli... [Done]
Using existing EBS Volume ...
...
...
Started the OpenShift cluster.

The server is accessible via web console at:
  https://console-openshift-console.apps-crc.testing

Log in as administrator:
  Username: kubeadmin
  Password: kubeadmin

Log in as user:
  Username: developer
  Password: developer

Use the 'oc' command line interface:
  $ eval $(crc oc-env)
  $ oc login -u developer https://api.crc.testing:6443
Setting up HAPROXY on host machine ...
Starting HAPROXY Service ...
========= Post Launch Configuration Completed Successfully ==============
===== You can now Exit from logs tail command by presing Ctrl+C ====
bash launch.sh -r ap-south-1 -a ap-south-1a -v false  
9.87s user 12.99s system 3% cpu 9:55.69 total

Configure Local Machine to remotely connect to CRC Instance

  • Automated Instructions for Macos Client to connect to CRC Instance
bash aws/mac_client.sh
  • Manual Instructions for configuring MacOS client to connet to remote CRC
brew install dnsmasq
mkdir -p /usr/local/etc/dnsmasq.d
touch /usr/local/etc/dnsmasq.d/crc.conf
EIP=$(aws ec2 describe-instances --filters "Name=instance-type,Values=c5n.metal"  --query "Reservations[*].Instances[*].PublicIpAddress" --output=text) ; 
echo "address=/apps-crc.testing/$EIP" > /usr/local/etc/dnsmasq.d/crc.conf ;
echo "address=/api.crc.testing/$EIP" >> /usr/local/etc/dnsmasq.d/crc.conf ;
sudo brew services restart dnsmasq ;
dig apps-crc.testing @127.0.0.1 ;
dig console-openshift-console.apps-crc.testing @127.0.0.1 ;
  • Login to OC
oc login -u kubeadmin -p kubeadmin https://api.crc.testing:6443
oc login -u developer -p developer https://api.crc.testing:6443
  • Manual Instructions for Linux Fedora
sudo dnf install dnsmasq

sudo tee /etc/NetworkManager/conf.d/use-dnsmasq.conf &>/dev/null <<EOF
[main]
dns=dnsmasq
EOF

EIP=$(aws ec2 describe-instances --filters "Name=instance-type,Values=c5n.metal"  --query "Reservations[*].Instances[*].PublicIpAddress" --output=text) ; 

sudo tee /etc/NetworkManager/dnsmasq.d/crc.conf &>/dev/null <<EOF
address=/apps-crc.testing/$EIP
address=/api.crc.testing/$EIP
EOF

sudo systemctl reload NetworkManager
  • Connect to CRC OpenShift running on Spot Instance using OpenShift CLI oc
Develoer Account
-----------------
oc login -u developer -p developer https://api.crc.testing:6443

# Open OpenShift Console in your local browser
# URL : https://console-openshift-console.apps-crc.testing
# username : developer
# password : developer

Kubeadmin Account
------------------
ssh fedora@$EIP crc console --credentials
# Get oc login command for kubeadmin user
  • OpenShift console URL https://console-openshift-console.apps-crc.testing

Destroy your CRC Spot Instance

When you are not using your CRC instance provisioned using OpenSpot, you can destroy that to save cost.

You can choose to destroy just the AWS Spot Instance and keep the EBS volume if you want to restart your CRC instance and resume where you left last time Or you can destroy both Spot Instance and EBS volume.

    usage destroy.sh -r "AWS_Region_Name" -a "AWS_AZ_NAME" -d "true or false" -v "true or false"
    OPTIONS
    -r "AWS Region Name : Optional, if not provided, will use AWS CLI default value"
    -a "AWS Availablity Zone Name : Optional, if not provided, will use AWS CLI default value"
    -d "Delete EBS Volume (true or false), default = false"
    -v "Optional, used for verbose output (true or false), default = false"
    -h "Show help menu"
  • To destroy just the AWS Spot Instance
bash destroy.sh -r ap-south-1 -a ap-south-1a -d false -v false
  • To destroy both AWS Spot Instance and EBS volume
bash destroy.sh -r ap-south-1 -a ap-south-1a -d true -v false
  • Sample Output
$ time bash destroy.sh -r ap-south-1 -a ap-south-1a -d false -v false
Deleting CRC resources in Region : ap-south-1 ...
Deleting CRC resources in AZ : ap-south-1a ...
Terminating up Spot Instance ...
Deleting Spot Request ...
Detaching volume
Removing Role from Instance Profile ... [Done]
Deleting Role Policy ... [Done]
Deleting Role ... [Done]
Deleting Instance Profile ... [Done]
Deleting Key Pair ... [Done]
Deleting Security Group... [Done]
bash destroy.sh -r ap-south-1 -a ap-south-1a -d false -v false  
7.08s user 8.30s system 62% cpu 24.693 total

Appendix

  • Time calculation

    • Time it takes to launch everything from scratch : ~15 minutes
    • Time it takes to destroy everything : ~7 minutes
    • Time it takes to launch CRC on existing EBS volume : ~10 minutes
  • Cost Calculation

    • AWS Spot Instance cost for c5n.metal instance type : $0.90 / Running Hour
    • AWS EBS cost for 100GB of gp2 : $11.40
  • SSH into the instance

EIP=$(aws ec2 describe-instances --filters "Name=instance-type,Values=c5n.metal"  --query "Reservations[*].Instances[*].PublicIpAddress" --output=text) ; 
ssh fedora@$EIP
  • Check progress of Instance setup
ssh  fedora@$EIP cat /var/log/crc_status
ssh  fedora@$EIP tail -f /var/log/crc_setup.log
ssh  fedora@$EIP tail -f /var/log/cloud-init-output.log

Todo

  • Add support for GCP preemptible instances

openspot's People

Contributors

ksingh7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

openspot's Issues

Getting error while configure, please help

$ time bash launch.sh -r ap-south-1 -a ap-south-1a -v false
Using default AMI ID : ami-01d3bd808e1fd393c -- Fedora-Cloud-Base-34-1.2.x86_64-hvm-ap-south-1-gp2-0
Need your SSH Public Key absolute path to create AWS Key Pair in the selected Region (ex: /c/Users/himan/.ssh/id_rsa.pub) :
Enter SSH Public Key Path [/c/Users/himan/.ssh/id_rsa.pub]:

Error parsing parameter '--public-key-material': Unable to load paramfile fileb:///c/Users/himan/.ssh/id_rsa.pub: [Errno 2] No such file or directory: '/c/Users/himan/.ssh/id_rsa.pub'
New key-pair named crc-key-pair created in region ap-south-1...
Creating IAM Role ...
Adding policy to IAM Role ...
Creating Instance Profile ...
Adding Role to Instance Profile ...
Creating Security Group ...
launch.sh: line 89: jq: command not found
Exception ignored in: <_io.TextIOWrapper name='' mode='w' encoding='cp1252'>
OSError: [Errno 22] Invalid argument
Generating User-Data script file ...
sed: can't read s/AZ_NAME/ap-south-1a/g: No such file or directory
sed: can't read s/INSTANCE_TYPE/c5n.metal/g: No such file or directory
Generating Launch Specification file ...
sed: can't read s/KEY_PAIR_NAME/crc-key-pair/: No such file or directory
sed: can't read s/INSTANCE_TYPE/c5n.metal/: No such file or directory
sed: can't read s/AWS_ACCOUNT_NUMBER/016261374827/: No such file or directory
sed: can't read s/USER_DATA_BASE_64/IyEvYmluL2Jhc2ggLXgKRUJTX1NJWkU9MTAwCnNldCAteCAKcm0gIC92YXIvbG9nL2NyYyogPiAv: No such file or directory
sed: can't read ZGV2L251bGwgMj4mMQpybSAtcmYgYXdzKiA+IC9kZXYvbnVsbCAyPiYxCnRvdWNoICAvdmFyL2xv: No such file or directory
sed: can't read Zy9jcmNfc2V0dXAubG9nCmNob3duIGZlZG9yYTpmZWRvcmEgL3Zhci9sb2cvY3JjX3NldHVwLmxv: No such file or directory
sed: can't read ZyAKCnRvdWNoICAvdmFyL2xvZy9jcmNfc3RhdHVzCmNob3duIGZlZG9yYTpmZWRvcmEgL3Zhci9s: No such file or directory
sed: can't read b2cvY3JjX3N0YXR1cyAKZWNobyAicHJvZ3Jlc3NpbmciID4+IC92YXIvbG9nL2NyY19zdGF0dXMg: No such file or directory
sed: can't read Mj4mMSAKCmVjaG8gIkluc3RhbGxpbmcgcmVxdWlyZWQgcGFja2FnZXMgLi4uIiAgPj4gL3Zhci9s: No such file or directory
sed: can't read b2cvY3JjX3NldHVwLmxvZyAyPiYxCmRuZiB1cGRhdGUgLXkgPiAvZGV2L251bGwgMj4mMQpkbmYg: No such file or directory
sed: can't read aW5zdGFsbCAteSBOZXR3b3JrTWFuYWdlciB3Z2V0IGdpdCBoYXByb3h5IHZpbSB1bnppcCBiYyBs: No such file or directory
sed: can't read aWJ2aXJ0IGxpYnZpcnQtZGFlbW9uLWt2bSBxZW11LWt2bSBsaWJndWVzdGZzLXRvb2xzIGd1ZXN0: No such file or directory
sed: can't read ZnMtdG9vbHMgIC91c3Ivc2Jpbi9zZW1hbmFnZSA+IC9kZXYvbnVsbCAyPiYxCmVjaG8gIkluc3Rh: No such file or directory
sed: can't read bGxpbmcgcmVxdWlyZWQgcGFja2FnZXMgLi4uIFtEb25lXSIgID4+IC92YXIvbG9nL2NyY19zZXR1: No such file or directory
sed: can't read cC5sb2cgMj4mMQoKZWNobyAiU2V0dGluZyB1cCBBV1MgQ2xpLi4uIiAgPj4gL3Zhci9sb2cvY3Jj: No such file or directory
sed: can't read X3NldHVwLmxvZyAyPiYxCmN1cmwgImh0dHBzOi8vYXdzY2xpLmFtYXpvbmF3cy5jb20vYXdzY2xp: No such file or directory
sed: can't read LWV4ZS1saW51eC14ODZfNjQuemlwIiAtbyAiL2F3c2NsaXYyLnppcCIgPiAvZGV2L251bGwgMj4m: No such file or directory
sed: can't read MQp1bnppcCAvYXdzY2xpdjIuemlwID4gL2Rldi9udWxsIDI+JjEKLi9hd3MvaW5zdGFsbCA+IC9k: No such file or directory
sed: can't read ZXYvbnVsbCAyPiYxCmVjaG8gIlNldHRpbmcgdXAgQVdTIENsaS4uLiBbRG9uZV0iICA+PiAvdmFy: No such file or directory
sed: can't read L2xvZy9jcmNfc2V0dXAubG9nIDI+JjEKI0VCU19WT0xVTUVfSUQ9JChhd3MgLS1yZWdpb249YXAt: No such file or directory
sed: can't read c291dGgtMSBlYzIgZGVzY3JpYmUtdm9sdW1lcyAtLWZpbHRlcnMgIk5hbWU9dGFnOmVudmlyb25t: No such file or directory
sed: can't read ZW50LFZhbHVlcz1jcmMiIC0tcXVlcnkgIlZvbHVtZXNbKl0ue0lEOlZvbHVtZUlkfSIgLS1vdXRw: No such file or directory
sed: can't read dXQgdGV4dCkKCkVCU19WT0xVTUVfSUQ9JChhd3MgIC0tcmVnaW9uPWFwLXNvdXRoLTEgZWMyIGRl: No such file or directory
sed: can't read c2NyaWJlLXZvbHVtZXMgLS1maWx0ZXJzICJOYW1lPXRhZzplbnZpcm9ubWVudCxWYWx1ZXM9Y3Jj: No such file or directory
sed: can't read IiAiTmFtZT1hdmFpbGFiaWxpdHktem9uZSxWYWx1ZXM9QVpfTkFNRSIgLS1xdWVyeSAiVm9sdW1l: No such file or directory
sed: can't read c1sqXS57SUQ6Vm9sdW1lSWR9IiAtLW91dHB1dCB0ZXh0KQoKI0VCU19WT0xVTUVfQVo9JChhd3Mg: No such file or directory
sed: can't read LS1yZWdpb249YXAtc291dGgtMSBlYzIgZGVzY3JpYmUtdm9sdW1lcyAtLWZpbHRlcnMgIk5hbWU9: No such file or directory
sed: can't read dGFnOmVudmlyb25tZW50LFZhbHVlcz1jcmMiIC0tcXVlcnkgIlZvbHVtZXNbKl0ue0lEOkF2YWls: No such file or directory
sed: can't read YWJpbGl0eVpvbmV9IiAtLW91dHB1dCB0ZXh0KQoKaWYgWyAtbiAiJEVCU19WT0xVTUVfSUQiIF07: No such file or directory
sed: can't read IHRoZW4KICAgIGVjaG8gIlVzaW5nIGV4aXN0aW5nIEVCUyBWb2x1bWUgLi4uIiAgPj4gL3Zhci9s: No such file or directory
sed: can't read b2cvY3JjX3NldHVwLmxvZyAyPiYxCmVsc2UKICAgIGVjaG8gIkNyZWF0aW5nIEVCUyBWb2x1bWUg: No such file or directory
sed: can't read Zm9yIENSQyAuLi4iICA+PiAvdmFyL2xvZy9jcmNfc2V0dXAubG9nIDI+JjEKICAgIGF3cyAtLXJl: No such file or directory
sed: can't read Z2lvbj1hcC1zb3V0aC0xIGVjMiBjcmVhdGUtdm9sdW1lIC0tdm9sdW1lLXR5cGUgZ3AyIC0tc2l6: No such file or directory
sed: can't read ZSAkRUJTX1NJWkUgLS1hdmFpbGFiaWxpdHktem9uZSBBWl9OQU1FIC0tdGFnLXNwZWNpZmljYXRp: No such file or directory
sed: can't read b25zICdSZXNvdXJjZVR5cGU9dm9sdW1lLFRhZ3M9W3tLZXk9ImVudmlyb25tZW50IixWYWx1ZT0i: No such file or directory
sed: can't read Y3JjIn1dJyAgID4+IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQpmaQpzbGVlcCAxMAoKRUMy: No such file or directory
sed: can't read X0lOU1RBTkNFX0lEPSQoYXdzIC0tcmVnaW9uPWFwLXNvdXRoLTEgZWMyIGRlc2NyaWJlLWluc3Rh: No such file or directory
sed: can't read bmNlcyAtLWZpbHRlcnMgIk5hbWU9aW5zdGFuY2UtdHlwZSxWYWx1ZXM9SU5TVEFOQ0VfVFlQRSIg: No such file or directory
sed: can't read Ik5hbWU9aW5zdGFuY2Utc3RhdGUtY29kZSxWYWx1ZXM9MTYiIC0tcXVlcnkgJ1Jlc2VydmF0aW9u: No such file or directory
sed: can't read c1sqXS5JbnN0YW5jZXNbKl0ue0luc3RhbmNlOkluc3RhbmNlSWR9JyAtLW91dHB1dCB0ZXh0KQpl: No such file or directory
sed: can't read Y2hvICJJbnN0YW5jZSBJRCA6IiAkRUMyX0lOU1RBTkNFX0lEICA+PiAvdmFyL2xvZy9jcmNfc2V0: No such file or directory
sed: can't read dXAubG9nIDI+JjEKCkVCU19WT0xVTUVfSUQ9JChhd3MgIC0tcmVnaW9uPWFwLXNvdXRoLTEgZWMy: No such file or directory
sed: can't read IGRlc2NyaWJlLXZvbHVtZXMgLS1maWx0ZXJzICJOYW1lPXRhZzplbnZpcm9ubWVudCxWYWx1ZXM9: No such file or directory
sed: can't read Y3JjIiAiTmFtZT1hdmFpbGFiaWxpdHktem9uZSxWYWx1ZXM9QVpfTkFNRSIgLS1xdWVyeSAiVm9s: No such file or directory
sed: can't read dW1lc1sqXS57SUQ6Vm9sdW1lSWR9IiAtLW91dHB1dCB0ZXh0KQplY2hvICJFQlMgVm9sdW1lIElE: No such file or directory
sed: can't read IDoiJEVCU19WT0xVTUVfSUQgID4+IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQoKZWNobyAi: No such file or directory
sed: can't read QXR0YWNoaW5nIEVCUyBWb2x1bWUgdG8gQ1JDIFNwb3QgSW5zdGFuY2UgLi4uIiA+PiAvdmFyL2xv: No such file or directory
sed: can't read Zy9jcmNfc2V0dXAubG9nIDI+JjEKYXdzIC0tcmVnaW9uPWFwLXNvdXRoLTEgZWMyIGF0dGFjaC12: No such file or directory
sed: can't read b2x1bWUgLS12b2x1bWUtaWQgJEVCU19WT0xVTUVfSUQgLS1pbnN0YW5jZS1pZCAkRUMyX0lOU1RB: No such file or directory
sed: can't read TkNFX0lEIC0tZGV2aWNlIC9kZXYveHZkYiA+PiAvdmFyL2xvZy9jcmNfc2V0dXAubG9nIDI+JjEK: No such file or directory
sed: can't read CnNsZWVwIDEwCgppZiBbICQoYmxraWQgL2Rldi9udm1lMW4xIHwgYXdrICd7cHJpbnQgJDR9JyB8: No such file or directory
sed: can't read IGN1dCAtZCAnIicgLWYgMikgPSAieGZzIiBdOyB0aGVuCgllY2hvICJYRlMgRmlsZXN5c3RlbSBm: No such file or directory
sed: can't read b3VuZCwganVzdCBtb3VudGluZyB2b2x1bWUgLi4uIiA+PiAvdmFyL2xvZy9jcmNfc2V0dXAubG9n: No such file or directory
sed: can't read IDI+JjEKCWVjaG8gIi9kZXYvbnZtZTFuMSAvaG9tZSB4ZnMgZGVmYXVsdHMgMCAwIiA+PiAvZXRj: No such file or directory
sed: can't read L2ZzdGFiCiAgICBtb3VudCAtYQogICAgc3VkbyAtdSBmZWRvcmEgc3VkbyBjcCAvaG9tZS9mZWRv: No such file or directory
sed: can't read cmEvY3JjIC91c3IvYmluL2NyYwogICAgc3VkbyAtdSBmZWRvcmEgc3VkbyBjcCAvaG9tZS9mZWRv: No such file or directory
sed: can't read cmEvb2MgL3Vzci9iaW4vb2MKICAgIFBPU1RfSU5TVEFMTD0idHJ1ZSIKZWxzZQoJZWNobyAiTm8g: No such file or directory
sed: can't read RmlsZXN5c3RlbSBmb3VuZCwgY3JlYXRpbmcgWEZTIGZpbGVzeXN0ZW0gLi4uIiA+PiAvdmFyL2xv: No such file or directory
sed: can't read Zy9jcmNfc2V0dXAubG9nIDI+JjEKICAgICAgICBta2ZzLnhmcyAvZGV2L252bWUxbjEgID4+IC92: No such file or directory
sed: can't read YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQogICAgICAgIG1vdW50IC9kZXYvbnZtZTFuMSAvbW50: No such file or directory
sed: can't read CiAgICAgICAgY3AgLXJwIC9ob21lL2ZlZG9yYSAvbW50LwogICAgICAgIGVjaG8gIi9kZXYvbnZt: No such file or directory
sed: can't read ZTFuMSAvaG9tZSB4ZnMgZGVmYXVsdHMgMCAwIiA+PiAvZXRjL2ZzdGFiCiAgICAgICAgdW1vdW50: No such file or directory
sed: can't read IC9tbnQKICAgICAgICBtb3VudCAtYSAgPj4gL3Zhci9sb2cvY3JjX3NldHVwLmxvZyAyPiYxCiAg: No such file or directory
sed: can't read ICAgICAgc3VkbyAtdSBmZWRvcmEgZWNobyAiRG93bmxvYWRpbmcgbGF0ZXN0IHZlcnNpb24gb2Yg: No such file or directory
sed: can't read Q1JDIC4uLiIgPj4gL3Zhci9sb2cvY3JjX3NldHVwLmxvZyAyPiYxCiAgICAgICAgc3VkbyAtdSBm: No such file or directory
sed: can't read ZWRvcmEgd2dldCBodHRwczovL2RldmVsb3BlcnMucmVkaGF0LmNvbS9jb250ZW50LWdhdGV3YXkv: No such file or directory
sed: can't read cmVzdC9taXJyb3IvcHViL29wZW5zaGlmdC12NC9jbGllbnRzL2NyYy9sYXRlc3QvY3JjLWxpbnV4: No such file or directory
sed: can't read LWFtZDY0LnRhci54eiAtcSAtLXNob3ctcHJvZ3JlcyAtTyAvaG9tZS9mZWRvcmEvY3JjLWxpbnV4: No such file or directory
sed: can't read LWFtZDY0LnRhci54egoKICAgICAgICBzdWRvIC11IGZlZG9yYSBlY2hvICJEb3dubG9hZGluZyBs: No such file or directory
sed: can't read YXRlc3QgdmVyc2lvbiBvZiBPQyBjbGllbnQgLi4uIiA+PiAvdmFyL2xvZy9jcmNfc2V0dXAubG9n: No such file or directory
sed: can't read IDI+JjEKICAgICAgICBzdWRvIC11IGZlZG9yYSB3Z2V0IGh0dHBzOi8vbWlycm9yLm9wZW5zaGlm: No such file or directory
sed: can't read dC5jb20vcHViL29wZW5zaGlmdC12NC9jbGllbnRzL29jcC9zdGFibGUvb3BlbnNoaWZ0LWNsaWVu: No such file or directory
sed: can't read dC1saW51eC50YXIuZ3ogLXEgLS1zaG93LXByb2dyZXNzIC1PIC9ob21lL2ZlZG9yYS9vcGVuc2hp: No such file or directory
sed: can't read ZnQtY2xpZW50LWxpbnV4LnRhci5negoKICAgICAgICBzdWRvIC11IGZlZG9yYSBlY2hvICJFeHRy: No such file or directory
sed: can't read YWN0aW5nIENSQyBiaW5hcnkgLi4uIiA+PiAvdmFyL2xvZy9jcmNfc2V0dXAubG9nIDI+JjEKICAg: No such file or directory
sed: can't read ICAgICBzdWRvIC11IGZlZG9yYSB0YXIgeHZmIC9ob21lL2ZlZG9yYS9jcmMtbGludXgtYW1kNjQu: No such file or directory
sed: can't read dGFyLnh6IC1DIC9ob21lL2ZlZG9yYSAgPj4gL3Zhci9sb2cvY3JjX3NldHVwLmxvZyAyPiYxIAog: No such file or directory
sed: can't read ICAgICAgIHN1ZG8gLXUgZmVkb3JhIHN1ZG8gY3AgL2hvbWUvZmVkb3JhL2NyYy1saW51eC0qLWFt: No such file or directory
sed: can't read ZDY0L2NyYyAvdXNyL2Jpbi9jcmMKICAgICAgICBzdWRvIC11IGZlZG9yYSBzdWRvIGNwIC9ob21l: No such file or directory
sed: can't read L2ZlZG9yYS9jcmMtbGludXgtKi1hbWQ2NC9jcmMgL2hvbWUvZmVkb3JhL2NyYwoKICAgICAgICBz: No such file or directory
sed: can't read dWRvIC11IGZlZG9yYSBlY2hvICJFeHRyYWN0aW5nIE9DIGJpbmFyeSAuLi4iID4+IC92YXIvbG9n: No such file or directory
sed: can't read L2NyY19zZXR1cC5sb2cgMj4mMQogICAgICAgIHN1ZG8gLXUgZmVkb3JhIHRhciB4dmYgL2hvbWUv: No such file or directory
sed: can't read ZmVkb3JhL29wZW5zaGlmdC1jbGllbnQtbGludXgudGFyLmd6IC1DIC9ob21lL2ZlZG9yYSAgPj4g: No such file or directory
sed: can't read L3Zhci9sb2cvY3JjX3NldHVwLmxvZyAyPiYxCiAgICAgICAgc3VkbyAtdSBmZWRvcmEgc3VkbyBj: No such file or directory
sed: can't read cCAvaG9tZS9mZWRvcmEvb2MgL3Vzci9iaW4vb2MKCiAgICAgICAgc3VkbyAtdSBmZWRvcmEgcm0g: No such file or directory
sed: can't read LXJmIC9ob21lL2ZlZG9yYS9jcmMtbGludXgqID4gL2Rldi9udWxsIDI+JjEKICAgICAgICBzdWRv: No such file or directory
sed: can't read IC11IGZlZG9yYSBybSAvaG9tZS9mZWRvcmEvb3BlbnNoaWZ0LWNsaWVudCogID4gL2Rldi9udWxs: No such file or directory
sed: can't read IDI+JjEKCiAgICAgICAgc3VkbyAtdSBmZWRvcmEgZWNobyAiQ2xlYW5pbmcgdXAgbGVmdG92ZXJz: No such file or directory
sed: can't read IC4uLiBbRG9uZV0iID4+IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQpmaQoKZWNobyAiQ2Fs: No such file or directory
sed: can't read Y3VsYXRpbmcgQ1BVIGNvcmVzIGZvciAgQ1JDIHVzYWdlIC4uLiIgID4+IC92YXIvbG9nL2NyY19z: No such file or directory
sed: can't read ZXR1cC5sb2cgMj4mMQpDUFVfVEVNUD0kKGVjaG8gIiQobHNjcHUgfCBncmVwIC12ICJOVU1BIiB8: No such file or directory
sed: can't read IGdyZXAgLWkgIkNQVShzKToiIHwgYXdrICd7cHJpbnQgJDJ9JykqMC45MCIgfCBiYykKQ1BVPSQo: No such file or directory
sed: can't read cHJpbnRmICclLjBmXG4nICRDUFVfVEVNUCkKCmVjaG8gIkNhbGN1bGF0aW5nIE1lbW9yeSBmb3Ig: No such file or directory
sed: can't read Q1JDIHVzYWdlIC4uLiIgID4+IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQpNRU1PUllfVEVN: No such file or directory
sed: can't read UD0kKGVjaG8gIiQoZnJlZSAtbSB8IGdyZXAgLWkgbWVtIHwgYXdrICd7cHJpbnQgJDJ9JykgKiAw: No such file or directory
sed: can't read LjkwIiB8IGJjKQpNRU1PUlk9JChwcmludGYgJyUuMGZcbicgJE1FTU9SWV9URU1QKQoKc3VkbyAt: No such file or directory
sed: can't read dSBmZWRvcmEgZWNobyAiU2V0dGluZyB1cCBDUkMgLi4uIiA+PiAvdmFyL2xvZy9jcmNfc2V0dXAu: No such file or directory
sed: can't read bG9nIDI+JjEKc3VkbyAtdSBmZWRvcmEgY3JjIGNvbmZpZyBzZXQgY3B1cyAkQ1BVID4+IC92YXIv: No such file or directory
sed: can't read bG9nL2NyY19zZXR1cC5sb2cgMj4mMQpzdWRvIC11IGZlZG9yYSBjcmMgY29uZmlnIHNldCBtZW1v: No such file or directory
sed: can't read cnkgJE1FTU9SWSA+PiAvdmFyL2xvZy9jcmNfc2V0dXAubG9nIDI+JjEKc3VkbyAtdSBmZWRvcmEg: No such file or directory
sed: can't read Y3JjIGNvbmZpZyBzZXQgZW5hYmxlLWNsdXN0ZXItbW9uaXRvcmluZyB0cnVlID4+IC92YXIvbG9n: No such file or directory
sed: can't read L2NyY19zZXR1cC5sb2cgMj4mMQpzdWRvIC11IGZlZG9yYSBjcmMgY29uZmlnIHNldCBjb25zZW50: No such file or directory
sed: can't read LXRlbGVtZXRyeSB5ZXMgPj4gL3Zhci9sb2cvY3JjX3NldHVwLmxvZyAyPiYxCnN1ZG8gLXUgZmVk: No such file or directory
sed: can't read b3JhIGNyYyBjb25maWcgc2V0IGt1YmVhZG1pbi1wYXNzd29yZCBrdWJlYWRtaW4gPj4gL3Zhci9s: No such file or directory
sed: can't read b2cvY3JjX3NldHVwLmxvZyAyPiYxCnN1ZG8gLXUgZmVkb3JhIGNyYyBjb25maWcgdmlldyA+PiAv: No such file or directory
sed: can't read dmFyL2xvZy9jcmNfc2V0dXAubG9nIDI+JjEKCnN1ZG8gLXUgZmVkb3JhIGVjaG8gIj09PT09IFN0: No such file or directory
sed: can't read YXJ0aW5nIENSQyAuLi4gUGxlYXNlIHdhaXQgPT09PSIgPj4gL3Zhci9sb2cvY3JjX3NldHVwLmxv: No such file or directory
sed: can't read ZyAyPiYxCnN1ZG8gLXUgZmVkb3JhIHdnZXQgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQu: No such file or directory
sed: can't read Y29tL2tzaW5naDcvb3BlbnNwb3QvbWFpbi9hd3MvYXNzZXRzL3Bvc3RfaW5zdGFsbC5zaCAtTyAv: No such file or directory
sed: can't read aG9tZS9mZWRvcmEvcG9zdF9pbnN0YWxsLnNoCnN1ZG8gLXUgZmVkb3JhIGNobW9kICt4IC9ob21l: No such file or directory
sed: can't read L2ZlZG9yYS9wb3N0X2luc3RhbGwuc2gKc3VkbyAtdSBmZWRvcmEgd2dldCBodHRwczovL3Jhdy5n: No such file or directory
sed: can't read aXRodWJ1c2VyY29udGVudC5jb20va3NpbmdoNy9vcGVuc3BvdC9tYWluL2F3cy9hc3NldHMvcHVs: No such file or directory
sed: can't read bC1zZWNyZXQudHh0IC1PIC9ob21lL2ZlZG9yYS9wdWxsLXNlY3JldC50eHQKc3VkbyAtdSBmZWRv: No such file or directory
sed: can't read cmEgYmFzaCAvaG9tZS9mZWRvcmEvcG9zdF9pbnN0YWxsLnNoIC9ob21lL2ZlZG9yYS9wdWxsLXNl: No such file or directory
sed: can't read Y3JldC50eHQgdHJ1ZSAgPj4gL3Zhci9sb2cvY3JjX3NldHVwLmxvZyAyPiYxCgpzdWRvIC11IGZl: No such file or directory
sed: can't read ZG9yYSBlY2hvICI9PT09PSBDUkMgU2V0dXAgQ29tcGxldGVkID09PT0iID4+IC92YXIvbG9nL2Ny: No such file or directory
sed: can't read Y19zZXR1cC5sb2cgMj4mMQpzdWRvIC11IGZlZG9yYSBlY2hvICIjIyMjIyMjIyMjIyMjIyMjIyMj: No such file or directory
sed: can't read IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj: No such file or directory
sed: can't read IyMjIyMjIyMjIyMjIyMjIyMiID4+IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQpzdWRvIC11: No such file or directory
sed: can't read IGZlZG9yYSBlY2hvICIjIyMgWW91IHNob3VsZCBub3cgY29uZmlndXJlIHlvdXIgbG9jYWwgbWFj: No such file or directory
sed: can't read aGluZSBETlMgcmVjb3JkcyBpbm9yZGVyIHRvIHVzZSB0aGlzIENSQyBpbnN0YW5jZSAjIyMiID4+: No such file or directory
sed: can't read IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQpzdWRvIC11IGZlZG9yYSBlY2hvICIjIyMgSWYg: No such file or directory
sed: can't read eW91IGFyZSB1c2luZyBNYWNPUywgcGxlYXNlIGV4ZWN1dGUgbWFjX2NsaWVudC5zaCBzY3JpcHQg: No such file or directory
sed: can't read dG8gY29uZmlndXJlIHlvdXIgbG9jYWwgRE5TICAgICAgICMjIyIgPj4gL3Zhci9sb2cvY3JjX3Nl: No such file or directory
sed: can't read dHVwLmxvZyAyPiYxCnN1ZG8gLXUgZmVkb3JhIGVjaG8gIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj: No such file or directory
sed: can't read IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj: No such file or directory
sed: can't read IyMjIyMjIyMjIyMjIyIgPj4gL3Zhci9sb2cvY3JjX3NldHVwLmxvZyAyPiYxCgojIyMjIyMjIyMj: No such file or directory
sed: can't read IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj: No such file or directory
sed: can't read IyMjIyMjIyMjIyMjIyMKIyMjIFlvdSBzaG91bGQgbm93IGNvbmZpZ3VyZSB5b3VyIGxvY2FsIG1h: No such file or directory
sed: can't read Y2hpbmUgRE5TIHJlY29yZHMgaW5vcmRlciB0byB1c2UgdGhpcyBDUkMgaW5zdGFuY2UgIyMjCiMj: No such file or directory
sed: can't read IyBJZiB5b3UgYXJlIHVzaW5nIE1hY09TLCBwbGVhc2UgZXhlY3V0ZSBtYWNfY2xpZW50LnNoIHNj: No such file or directory
sed: can't read cmlwdCB0byBjb25maWd1cmUgeW91ciBsb2NhbCBETlMgICAgICAgIyMjCiMjIyMjIyMjIyMjIyMj: No such file or directory
sed: can't read IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj: No such file or directory
sed: can't read IyMjIyMjIyMjIwoKCiMgaWYgW1sgIiRQT1NUX0lOU1RBTEwiID09ICJ0cnVlIiBdXTsgdGhlbgoj: No such file or directory
sed: can't read ICAgICAjc3VkbyAtdSBmZWRvcmEgZWNobyAiPT09PT0gUnVubmluZyBQb3N0IEluc3RhbGwgLi4u: No such file or directory
sed: can't read IFBsZWFzZSB3YWl0ID09PT0iID4+IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQojICAgICAj: No such file or directory
sed: can't read c3VkbyAtdSBmZWRvcmEgYmFzaCAvaG9tZS9mZWRvcmEvcG9zdF9pbnN0YWxsLnNoICA+PiAvdmFy: No such file or directory
sed: can't read L2xvZy9jcmNfc2V0dXAubG9nIDI+JjEKIyAgICAgc3VkbyAtdSBmZWRvcmEgZWNobyAiPT09PT0g: No such file or directory
sed: can't read WW91IGNhbiBub3cgRXhpdCBmcm9tIGxvZ3MgdGFpbCBjb21tYW5kIGJ5IHByZXNpbmcgQ3RybCtD: No such file or directory
sed: can't read ID09PT0iID4+IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQojIGVsc2UKIyAgICAgc3VkbyAt: No such file or directory
sed: can't read dSBmZWRvcmEgd2dldCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20va3NpbmdoNy9v: No such file or directory
sed: can't read cGVuc3BvdC9tYWluL2F3cy9hc3NldHMvcG9zdF9pbnN0YWxsLnNoIC1PIC9ob21lL2ZlZG9yYS9w: No such file or directory
sed: can't read b3N0X2luc3RhbGwuc2gKIyAgICAgc3VkbyAtdSBmZWRvcmEgY2htb2QgK3ggL2hvbWUvZmVkb3Jh: No such file or directory
sed: can't read L3Bvc3RfaW5zdGFsbC5zaAojICAgICBzdWRvIC11IGZlZG9yYSBlY2hvICI9PT09PSBDUkMgU2V0: No such file or directory
sed: can't read dXAgQ29tcGxldGVkID09PT0iID4+IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQojICAgICBz: No such file or directory
sed: can't read dWRvIC11IGZlZG9yYSBlY2hvICI9PT09PSBZb3UgY2FuIG5vdyBTU0ggaW50byB0aGUgaW5zdGFu: No such file or directory
sed: can't read Y2UgZm9yIHBvc3QgaW5zdGFsbGF0aW9uIHNldHVwID09PT0iID4+IC92YXIvbG9nL2NyY19zZXR1: No such file or directory
sed: can't read cC5sb2cgMj4mMQojICAgICBzdWRvIC11IGZlZG9yYSBlY2hvICI9PT09PSBQb3N0IEluc3RhbGxh: No such file or directory
sed: can't read dGlvbiBzY3JpcCBmaWxlIGxvY2F0aW9uIDogL2hvbWUvZmVkb3JhL3Bvc3RfaW5zdGFsbC5zaCA9: No such file or directory
sed: can't read PT09IiA+PiAvdmFyL2xvZy9jcmNfc2V0dXAubG9nIDI+JjEKIyAgICAgc3VkbyAtdSBmZWRvcmEg: No such file or directory
sed: can't read ZWNobyAiPT09PT0gWW91IGNhbiBub3cgRXhpdCBmcm9tIGxvZ3MgdGFpbCBjb21tYW5kIGJ5IHBy: No such file or directory
sed: can't read ZXNpbmcgQ3RybCtDID09PT0iID4+IC92YXIvbG9nL2NyY19zZXR1cC5sb2cgMj4mMQojIGZpCgoj: No such file or directory
sed: can't read IGVjaG8gImNvbXBsZXRlZCIgPiAvdmFyL2xvZy9jcmNfc3RhdHVzIDI+JjEg/: No such file or directory
sed: can't read s/AZ_NAME/ap-south-1a/: No such file or directory
sed: can't read s/AMI_ID/ami-01d3bd808e1fd393c/: No such file or directory
Launching SPOT Instance, Please Wait ...

An error occurred (InvalidAMIID.Malformed) when calling the RequestSpotInstances operation: Invalid id: "AMI_ID" (expecting "ami-...")
Please allow 5 minutes for instance configuration

Trying to tail instance setup logs ...
Applying TAG to Instance

An error occurred (MissingParameter) when calling the CreateTags operation: The request must contain the parameter resourceIdSet
ssh: connect to host port 22: Connection refused

real 4m18.067s
user 0m0.045s
sys 0m0.380s

Outdated AMI

Hello!

Project looks great!
However current Fedora AMI is outdated, and already removed from marketplace.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.