Reputation: 968
I have a Django application that I deploy through EB. I had the auto-scaling policy set to min. and max. 1 instance. This was working fine.
Then I just chnaged the auto scaling to min. and max. 2 instances. The new instance automatically came up. But the application was not deployed to the new one. I manually deployed but still no difference. Tried the deployment policy to rolling and all at once and still the same. The new instance doesn't have any code in it.
The ELB says the instances are fine and tries to send traffic to the new instance which results in a Not Found Page.
What should I do?
Update: I found out that it does create a new bundle in /opt/python/bundle but the application is still not deployed. If I go to /opt/python/current/app, it is empty.
Update: I can't even generate any logs on the new instance.
Update: After rebuilding the environment with auto-scaling set to min.2 and max.2 and instance size as t2.small, things work fine (although not an acceptable solution). I now moved from t2.small to t2.micro. Elastic Beanstalk just created a new cloudformation template for auto-scaling with min.2 and max.2 t2.micro and then said environment update is over. The auto-scaling group then created 2 t2.micro EC2 instances. It then removed one of the old t2.small from the load balancer and attached one of the new t2.micro to the load balancer and repeated this for the other instance. The events on EB reflect this too. But its the same problem again. The application was not deployed in the new instances. Manually deploying from the console doesn't work either. Requesting Logs in EB console doesn't give anything at all.
What the hell is going on?
Upvotes: 4
Views: 1520
Reputation: 968
After a lot of digging through, my only option was to rebuild the environment (via Elastic Beanstalk Console). That fixed everything.
But this is not an acceptable solution. I was doing this in our staging environment. But if I was to do this Production, it would be catastrophic.
Any ideas?
Upvotes: 2