【问题标题】:unable to update source code using cfn-hup in aws无法在 aws 中使用 cfn-hup 更新源代码
【发布时间】:2016-03-31 05:52:33
【问题描述】:

我正在尝试使用云形成 (AWS) 中的 cfn-hup 服务更新 EC2 实例上的源代码。

当我使用内部版本号用新的源代码更新堆栈时,源代码在 EC2 上确实发生了变化。

cfn-hup服务运行正常,所有配置都OK。

以下是cfn-hup的日志。

2016-03-05 08:48:19,912 [INFO] Data has changed from previous state; action for cfn-auto-reloader-hook will be run
2016-03-05 08:48:19,912 [INFO] Running action for cfn-auto-reloader-hook
2016-03-05 08:48:20,191 [WARNING] Action for cfn-auto-reloader-hook exited with 1; will retry on next iteration

谁能帮帮我。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-cloudformation


    【解决方案1】:

    错误状态为Action for cfn-auto-reloader-hook exited with 1。这意味着您的cfn-auto-reloader-hook 中指定的action 已执行,但返回错误代码1 表示失败状态。好消息是其他所有设置都正确(cfn-hup 脚本已安装并运行,它正确检测到元数据更改,并找到了 cfn-auto-reloader 挂钩)。

    查看cfn-hup 条目中此挂钩的action= 行。一个典型的钩子看起来像这样:

    [cfn-auto-reloader-hook]
    triggers=post.update
    path=Resources.WebServerInstance.Metadata.AWS::CloudFormation::Init
    action=some_shell_command_here
    runas=root
    

    要找到挂钩,请在实例上运行 cat /etc/cfn/hooks.d/cfn-auto-reloader.conf,或追溯这些文件内容在 CloudFormation 模板中的定义位置(例如,在 example LAMP stack 中,此挂钩由AWS::CloudFormation::Init 元数据资源,由cfn-init 辅助脚本使用)。尝试在本地 shell 中手动执行该行。如果失败,请使用相关输出或错误日志继续调试。更改命令,cfn-hup 下次运行应该会成功。

    【讨论】:

    • 我遇到了退出错误为 127 的情况,但是当使用 sudo 或在 root 用户下运行时,该命令运行正常。还有什么可能失败?
    【解决方案2】:

    这意味着您的 cfn-init 项目之一失败。如果它第一次运行,很可能你有一个命令部分项,需要一个“测试”子句来确定它是否需要运行。

    【讨论】:

      猜你喜欢
      • 2017-02-07
      • 2017-09-11
      • 2018-06-26
      • 2014-11-27
      • 2020-06-17
      • 2021-02-04
      • 2019-06-13
      • 2015-01-10
      • 2016-02-14
      相关资源
      最近更新 更多