I'm trying to deploy my application on AWS Elastic Beanstalk. I am getting this error and totally unable to see where the problem is.
The below is the code present in .ebextensions/mysite-env.config
packages:
  yum:
    python-devel: []
    postgresql-devel: []
container_commands: 
  01_syncdb:
    command: "django-admin.py syncdb --noinput"
    leader_only: true
  02_createadmin: 
    command: "scripts/createadmin.py"
    leader_only: true
option_settings: 
  - option_name: WSGIPath
    namespace: "aws:elasticbeanstalk:container:python"
    value: "mysite/wsgi.py"
  - option_name: DJANGO_SETTINGS_MODULE
    value: "mysite.settings"
After several hit-and-try methods, I figured out few things
requirements.txt present in rootssh of the EC2 instance (weird)The issue with [1] is that, for psycopg2 to install, I need the above mentioned packages. So, how do I install them first?
When I run these settings, I am getting the below error:
[2014-11-19T09:45:19.819Z] INFO  [6703]  - [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild] : Activity execution failed, because: command failed with error code 1: Error occurred during build: Yum does not have postgresql-devel available for installation (Executor::NonZeroExitStatus)
Then, I used the below settings
packages: yum: python-devel: [] apt: postgresql-devel: []
Then I am getting the below error:
[2014-11-19T09:47:54.271Z] ERROR [6789]  : Command execution failed: [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild] command failed with error code 1: Error occurred during build: [Errno 2] No such file or directory (ElasticBeanstalk::ActivityFatalError)
    at /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.1.0/gems/beanstalk-core-1.0/lib/elasticbeanstalk/activity.rb:189:in `rescue in exec'
    ...
caused by: command failed with error code 1: Error occurred during build: [Errno 2] No such file or directory (Executor::NonZeroExitStatus)
When I could install those packages directly from ssh, whats the problem with automation? What's wrong with my settings?
Use postgresql93-devel in the yum statement as they have updated the package names
packages:
  yum:
    python26-devel: []
    postgresql93-devel: []
I could not find another way than installing these packages by hand.
packages:
  yum:
    ...
commands:
  01_python_devel_install:
    command: 'yum install -y python34-devel'
  02_postgresql_install:
    command: 'yum install -y postgresql94 postgresql94-devel'
I am starting with elastic beanstalk and this does not give me a good first impression.
Heres the correct way according to AWS.
Python 3
packages:
  yum:
    python34-devel: []
    postgresql94-devel: []
Python 2.7
packages:
  yum:
    python27-devel: []
    postgresql94-devel: []
Reference
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With