cloudcaptainsh / cloudcaptain

Issue Tracker for CloudCaptain
13 stars 3 forks source link

cfn-signal support to allow running Boxfuse images via CloudFormation #211

Open lukaswelte opened 6 years ago

lukaswelte commented 6 years ago

It would be great to use boxfuse AMIs directly via CloudFormation. Boxfuse bundles the AMI with the application and CloudFormation is used for creating the ELB, AutoScaling etc. In order to make this work cfn-signal & the aws CLI would be needed in order to keep the "old" running instances alive until the new deployed instances are reaching the InService state in the ELB.

Is it possible to include these binaries @axelfontaine? If it is not possible by default how would one include these python binaries best into a boxfuse image?

axelfontaine commented 6 years ago

Is this really needed though? Can't the ELB healthcheck be leveraged for this?

lukaswelte commented 6 years ago

That is what should be leveraged, but sadly AWS makes this not super easy @axelfontaine. But when creating/updating an AutoScaling group (via CloudFormation) it does not wait for the ELB InServer state, instead after the instances are created it will remove the old AutoScaling group.

That is also the reason why AWS is checking the ELB API to check if the instance is in service and when it is in service it sends the CloudFormation signal. Till that signal is sent the CloudFormation creation/update of that AutoScaling group is paused.

https://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/ELBGuidedAutoScalingRollingUpgrade.template https://daniellanger.com/zero-downtime-deploys-with-cloudformation/

lukaswelte commented 6 years ago

Do you have a suggestion how we could best do this with boxfuse @axelfontaine?