Reputation: 4836
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?
Upvotes: 10
Views: 10459
Reputation: 624
Heres the correct way according to AWS.
Python 3
packages:
yum:
python34-devel: []
postgresql94-devel: []
Python 2.7
packages:
yum:
python27-devel: []
postgresql94-devel: []
Upvotes: 2
Reputation: 106
Use postgresql93-devel in the yum statement as they have updated the package names
packages:
yum:
python26-devel: []
postgresql93-devel: []
Upvotes: 6
Reputation: 11970
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.
Upvotes: 2