Coderaemon
Coderaemon

Reputation: 3867

Unable to create environment in AWS Elastic Beanstalk?

I Made a small Django app; I want to deploy it on AWS. I followed the commands here . Now when I do eb create it fails saying

ERROR: Your requirements.txt is invalid. Snapshot your logs for details.
ERROR: [Instance: i-05fde0dc] Command failed on instance. Return code: 1 Output: (TRUNCATED)...)
  File "/usr/lib64/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1. 
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].

Detailed logs are here. My database in postgresql, for that do I have to run separate RDS instance ?
My config.yml

branch-defaults:
  master:
    environment: feedy2-dev
    group_suffix: null
global:
  application_name: feedy2
  default_ec2_keyname: aws-eb
  default_platform: Python 2.7
  default_region: us-west-2
  profile: eb-cli
  sc: git

My 01-django-eb.config

option_settings:
  "aws:elasticbeanstalk:application:environment":
    DJANGO_SETTINGS_MODULE: "feedy2.settings"
    PYTHONPATH: "/opt/python/current/app/feedy2:$PYTHONPATH"
  "aws:elasticbeanstalk:container:python":
    WSGIPath: "feedy2/feedy2/wsgi.py"

container_commands:
  01_migrate:
    command: "django-admin.py migrate"
    leader_only: true

My directory structure :

├── feedy2
│   ├── businesses
│   │   
│   ├── customers
│   │ 
│   ├── db.sqlite3
│   ├── feedy2
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── settings.py
│   │   ├── settings.pyc
│   │   ├── urls.py
│   │   ├── urls.pyc
│   │   ├── wsgi.py
│   │   └── wsgi.pyc
│   ├── manage.py
│   ├── questions
│   │   
│   ├── static
│   ├── surveys
│   └── templates
├── readme.md
└── requirements.txt

Upvotes: 0

Views: 1272

Answers (1)

300D7309EF17
300D7309EF17

Reputation: 24573

You truncated the relevant part of output but it's in the pastebin link:

Collecting psycopg2==2.6.1 (from -r /opt/python/ondeck/app/requirements.txt (line 20))
 Using cached psycopg2-2.6.1.tar.gz
  Complete output from command python setup.py egg_info:
  running egg_info
  creating pip-egg-info/psycopg2.egg-info
  writing pip-egg-info/psycopg2.egg-info/PKG-INFO
  writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
  writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
  writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
  warning: manifest_maker: standard file '-c' not found

  Error: pg_config executable not found.

You need to install the postgresql[version]-devel package. Put the following in .ebextensions/packages.config'.

packages:
  yum:
    postgresql94-devel: []

Source: Psycopg2 on Amazon Elastic Beanstalk

Upvotes: 1

Related Questions