AWS Elastic Beanstalk-不存在DNSPython阻止部署

时间:2018-09-26 19:29:25

标签: amazon-web-services pymongo amazon-elastic-beanstalk dnspython

我无法“ eb部署”。在部署的构建后阶段,某些事情会崩溃。

似乎dnspython == 1.15.0软件包没有安装,这可能以某种方式破坏了部署。

我认为这与pymongo有关。

控制台中给出的错误是:

2018-09-26 19:03:56    INFO    Deploying new version to instance(s).
2018-09-26 19:04:06    ERROR   [Instance: i-07007dda5fe7bc81a] Command failed on instance. Return code: 1 Output: (TRUNCATED)...n/run/venv/local/lib64/python3.6/site-packages/pymongo/uri_parser.py", line 351, in parse_uri
raise ConfigurationError('The "dnspython" module must be '
pymongo.errors.ConfigurationError: The "dnspython" module must be installed to use mongodb+srv:// URIs. 
container_command 01_migrate in .ebextensions/db-migrate.config failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
2018-09-26 19:04:06    INFO    Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
2018-09-26 19:04:06    ERROR   Unsuccessful command execution on instance id(s) 'i-07007dda5fe7bc81a'. Aborting the operation.

这是来自/var/log/eb-activity.log的完整错误日志:

[2018-09-26T18:55:12.437Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/AppDeployPreHook/03deploy.py] : Completed activity. Result:
  Requirement already satisfied: Django==2.1.1 in /opt/python/run/venv/lib/python3.6/site-packages (from -r /opt/python/ondeck/app/requirements.txt (line 1))
  Requirement already satisfied: pytz==2018.5 in /opt/python/run/venv/lib/python3.6/site-packages (from -r /opt/python/ondeck/app/requirements.txt (line 2))
  Requirement already satisfied: djongo==1.2.30 in /opt/python/run/venv/lib/python3.6/site-packages (from -r /opt/python/ondeck/app/requirements.txt (line 3))
  Requirement already satisfied: django-dotenv==1.4.2 in /opt/python/run/venv/lib/python3.6/site-packages (from -r /opt/python/ondeck/app/requirements.txt (line 4))
  Requirement already satisfied: requests==2.19.1 in /opt/python/run/venv/lib/python3.6/site-packages (from -r /opt/python/ondeck/app/requirements.txt (line 5))
  Requirement already satisfied: pymongo>=3.2.0 in /opt/python/run/venv/lib64/python3.6/site-packages (from djongo==1.2.30->-r /opt/python/ondeck/app/requirements.txt (line 3))
  Requirement already satisfied: sqlparse>=0.2.3 in /opt/python/run/venv/lib/python3.6/site-packages (from djongo==1.2.30->-r /opt/python/ondeck/app/requirements.txt (line 3))
  Requirement already satisfied: dataclasses>=0.1 in /opt/python/run/venv/lib/python3.6/site-packages (from djongo==1.2.30->-r /opt/python/ondeck/app/requirements.txt (line 3))
  Requirement already satisfied: urllib3<1.24,>=1.21.1 in /opt/python/run/venv/lib/python3.6/site-packages (from requests==2.19.1->-r /opt/python/ondeck/app/requirements.txt (line 5))
  Requirement already satisfied: idna<2.8,>=2.5 in /opt/python/run/venv/lib/python3.6/site-packages (from requests==2.19.1->-r /opt/python/ondeck/app/requirements.txt (line 5))
  Requirement already satisfied: certifi>=2017.4.17 in /opt/python/run/venv/lib/python3.6/site-packages (from requests==2.19.1->-r /opt/python/ondeck/app/requirements.txt (line 5))
  Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /opt/python/run/venv/lib/python3.6/site-packages (from requests==2.19.1->-r /opt/python/ondeck/app/requirements.txt (line 5))
  You are using pip version 9.0.1, however version 18.0 is available.
  You should consider upgrading via the 'pip install --upgrade pip' command.
[2018-09-26T18:55:12.438Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/AppDeployPreHook/04configen.py] : Starting activity...
[2018-09-26T18:55:13.690Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/AppDeployPreHook/04configen.py] : Completed activity.
[2018-09-26T18:55:13.690Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/AppDeployPreHook] : Completed activity. Result:
  Successfully execute hooks in directory /opt/elasticbeanstalk/hooks/appdeploy/pre.
[2018-09-26T18:55:13.690Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/EbExtensionPostBuild] : Starting activity...
[2018-09-26T18:55:14.088Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild] : Starting activity...
[2018-09-26T18:55:14.092Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_cauradata] : Starting activity...
[2018-09-26T18:55:14.965Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_cauradata/Test for Command 01_migrate] : Starting activity...
[2018-09-26T18:55:14.968Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_cauradata/Test for Command 01_migrate] : Completed activity. Result:

  Completed successfully.
[2018-09-26T18:55:14.969Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_cauradata/Command 01_migrate] : Starting activity...
[2018-09-26T18:55:15.463Z] INFO  [25107] - [Application update app-64e9-180926_195501@21/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_cauradata/Command 01_migrate] : Activity execution failed, because: Traceback (most recent call last):
  File "/opt/python/run/venv/bin/django-admin.py", line 5, in <module>
  management.execute_from_command_line()
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
  utility.execute()
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)

我的.ebextensions/db-migrate.config说:

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

option_settings:
  aws:elasticbeanstalk:application:environment:
    DJANGO_SETTINGS_MODULE: cauradata.settings

我尝试从db-migrate.config文件中删除01_migrate,但这不起作用。

(即删除此位:)

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

我曾尝试像这样在db-migrate.config中单独添加软件包。这不会改变任何东西。

...
packages:
  yum:
    dnspython: []

在我的开发环境中,我确实安装了DNSPython。点冻结说:

certifi==2018.8.24
chardet==3.0.4
dataclasses==0.6
Django==2.1.1
django-admin-json-editor==0.1.5
django-dotenv==1.4.2
django-jsonfield==1.0.1
django-test-addons==1.0
djongo==1.2.30
dnspython==1.15.0
idna==2.7
mongoengine==0.15.3
pymongo==3.7.1
pytz==2018.5
requests==2.19.1
six==1.11.0
sqlparse==0.2.4
urllib3==1.23

当我通过SSH进入服务器并运行pip冻结时,得到以下列表,其中不包含DNSPython。因此未安装DNSPython。

[ec2-user@ip-111111~]$ pip freeze
aws-cfn-bootstrap==1.4
aws-elasticbeanstalk-tools==1.20
awscli==1.14.9
awscli-cwlogs==1.4.4
Babel==0.9.4
backports.ssl-match-hostname==3.4.0.2
boto==2.48.0
botocore==1.8.13
chardet==2.0.1
cloud-init==0.7.6
colorama==0.2.5
configobj==4.7.2
docutils==0.11
ecdsa==0.11
futures==3.0.3
hibagent==1.0.0
iniparse==0.3.1
Jinja2==2.7.2
jmespath==0.9.2
jsonpatch==1.2
jsonpointer==1.0
kitchen==1.1.1
lockfile==0.8
MarkupSafe==0.11
meld3==1.0.2
paramiko==1.15.1
PIL==1.1.6
ply==3.4
pyasn1==0.1.7
pycrypto==2.6.1
pycurl==7.19.0
pygpgme==0.3
pyliblzma==0.5.3
pystache==0.5.3
python-daemon==1.5.2
python-dateutil==2.1
pyxattr==0.5.0
PyYAML==3.10
requests==1.2.3
rsa==3.4.1
simplejson==3.6.5
six==1.8.0
supervisor==3.1.3
urlgrabber==3.10
urllib3==1.8.2
virtualenv==15.1.0
yum-metadata-parser==1.1.4

我已经尝试在pip install dnspython==1.15.0中使用SSH进行登录,然后进行部署。这没用。

我在EB控制台中尝试过“重建环境”-无效

0 个答案:

没有答案