aws / aws-codedeploy-agent Goto Github PK
View Code? Open in Web Editor NEWHost Agent for AWS CodeDeploy
Home Page: https://aws.amazon.com/codedeploy
License: Apache License 2.0
Host Agent for AWS CodeDeploy
Home Page: https://aws.amazon.com/codedeploy
License: Apache License 2.0
Can you add more information about how the agent is supposed to work in the Readme?
using release v1.0-1.751
with bundler to install gem dependencies causes this error when trying to start child process:
2015-09-23 14:54:00 ERROR [codedeploy-agent(1506)]: Plugin codedeploy could not be loaded: Unable to activate codedeploy-commands-1.0.0, because aws-sdk-core-2.1.23 conflicts with aws-sdk-core (= 2.1.2).
2015-09-23 14:54:00 ERROR [codedeploy-agent(1506)]: booting child: error during start or run: Gem::ConflictError - Unable to activate codedeploy-commands-1.0.0, because aws-sdk-core-2.1.23 conflicts with aws-sdk-core (= 2.1.2) - /usr/lib/ruby/2.2.0/rubygems/specification.rb:2112:in `raise_if_conflicts'
looks like that lock to 2.1.2 is coming from: https://github.com/aws/aws-codedeploy-agent/blob/v1.0-1.751/vendor/specifications/codedeploy-commands-1.0.0.gemspec#L24
but the gemspec used by the Gemfile uses a pessimistic lock at (~> 2.1.0): https://github.com/aws/aws-codedeploy-agent/blob/v1.0-1.751/codedeploy_agent-1.1.0.gemspec#L18
causing aws-sdk-core 2.1.23
to be installed through bundler.
Hello,
In bin/install script there is a do_sanity_check('/sbin/service') call in when 'rpm' section (which is used on amazon linux). The problem is it actually waiting 3 min before running agent first time (when instance is created): sleep(3 * 60). What is the goal for this sleep (3 minutes!). Can we remove it?
Thanks
Tim
I noticed this issue with on of my hook scripts and didn't seem to find this gotcha mentioned in the docs. Maybe this is an obivous thing to know, but I figured I'd put a note here just incase someone else runs into this:
Here's what I was attempting to run in my hook script:
...
bundle --deployment
...
Seemed pretty normal except I kept getting error messages like this:
...
[stdout]The --deployment flag requires a Gemfile.lock. Please make sure you have checked
[stdout]your Gemfile.lock into version control before deploying.
...
I went to go look at the source and found that a Gemfile
is actually getting set here:
https://github.com/aws/aws-codedeploy-agent/blob/master/lib/instance_agent.rb#L9
This means that bundler is set to use that Gemfile
even if we are running bundler from a different directory in our hook scripts. This issue was discussed in this ticket:
Here's the area where the codedeploy-agent shells out to the hook scripts:
...
Open3.popen3(script_command, :pgroup => true) do |stdin, stdout, stderr, wait_thr|
stdin.close
stdout_thread = Thread.new{stdout.each_line { |line| log_script("[stdout]" + line.to_s, script_log_file)}}
stderr_thread = Thread.new{stderr.each_line { |line| log_script("[stderr]" + line.to_s, script_log_file)}}
if !wait_thr.join(script.timeout)
Process.kill('-TERM', wait_thr.pid) #kill the process group instead of pid
raise Timeout::Error
end
stdout_thread.join
stderr_thread.join
exit_status = wait_thr.value.exitstatus
end
...
Here's some options I found that can resolve this issue:
BUNDLE_GEMFILE
before you call bundler in hook scripts. Example:BUNDLE_GEMFILE=$PWD/Gemfile bundle
BUNDLE_GEMFILE
out of the environment before Open3.popen3
gets called. That way your environment will be clean before the hook script runs. The above snippet would then look something like this:...
tmp_gemfile = ENV.delete('BUNDLER_GEMFILE')
Open3.popen3(script_command, :pgroup => true) do |stdin, stdout, stderr, wait_thr|
stdin.close
stdout_thread = Thread.new{stdout.each_line { |line| log_script("[stdout]" + line.to_s, script_log_file)}}
stderr_thread = Thread.new{stderr.each_line { |line| log_script("[stderr]" + line.to_s, script_log_file)}}
if !wait_thr.join(script.timeout)
Process.kill('-TERM', wait_thr.pid) #kill the process group instead of pid
raise Timeout::Error
end
stdout_thread.join
stderr_thread.join
exit_status = wait_thr.value.exitstatus
end
ENV['BUNDLER_GEMFILE'] = tmp_gemfile unless tmp_gemfile.nil?
...
A recent release of codedeploy-agent broke our previously working scripts:
--> Script at specified location: script/system.sh failed with exit code 2
--> LifecycleEvent - AfterInstall
--> Script - script/system.sh
--> [stderr]/opt/codedeploy-agent/deployment-root/1a506db0-192b-4124-a869-359f1d001c5a/d-GVFM5I4BG/deployment-archi
ve/script/logger.sh: line 4: syntax error near unexpected token `>'
[ ✗ ] [ 0m 35s ] Error while performing step: Creating Deployment
Thor::Error: Deployment was unsuccessful!
Deployment was unsuccessful!
All of our scripts start with a shebang line pointing at bash:
#!/bin/bash
But for some reason, they are running in bash in POSIX mode which wasn't previously the case.
Our fix:
set +o posix
One potential cause for the change:
https://github.com/aws/aws-codedeploy-agent/commit/f2d8cba93bc6df6e3ca2480045ced6c8dc1ef6c8
It would be nice to be able to run AWS CodeDeploy on Ubuntu 15.10 (wily) which does not ship with Ruby version 2.0.
There are two workarounds I've listed below:
In the case of Ubuntu, I have a preference for being able to run under the system provided, current version of Ruby.
I tried to figure out why chkconfig wasn't being honoured for starting the code deploy agent at boot. I explicitly need this disabled to prevent clash between code deploy and cfn-init.
I couldn't figure out why code deploy agent was still starting despite chkconfig listing all flags as OFF.
Turns out a cron entry is added to AUTO UPDATE the agent. This is wrong for two reasons:
Add vendor/
to .gitignore
Attribution for the time involved in tracking down, courteously describing, exploit scenarios, and complete disclosure of security vulnerabilities (such as the recent root escalation vulnerabilities that I sent in a few weeks ago) even just in a project CHANGELOG would be courteous and greatly appreciated.
It's awesome that you resolved (fa3caad) the flaws but you didn't notify me or your users until I asked what happened and I don't know that you've notified your users. I'm guessing many of them manually integrate it into their build or config management and won't be affected by the automatic upgrade. (Many of our users do this as well, and we encourage them to go through a proper code review before integrating.)
What's strange is that there seems to be a lack of formal process around handling security breaches. It is stunning to me that the largest cloud platform in the universe as well as the largest storefront of any sort (online or off) on the planet do not even have a simple bug bounty program. We have one at Userify, and we're a tiny fraction of AWS or Amazon.
Perhaps a focus on growth, features, or frugality, noble aims all, have reduced security as a priority, but even just an acknowledgement and thanks for the efforts of outside, independent security professionals could be a great start! :)
Happy Thursday, All!
Running into a peculiar error: I'm getting notified that a script in my appspec.yml file doesn't exist even though it does.
Error Code ScriptMissing
Script Name /usr/local/codedeploy-scripts/deregister_from_elb.sh
Message Script does not exist at specified location: /usr/local/codedeploy-scripts/deregister_from_elb.sh
Log Tail LifecycleEvent - BeforeInstall
Are absolute paths to scripts allowed or does it have to be relative to the deployment-archive path?
Hi,
We are testing out the code deployment agent on Centos7, we are seeing memory consumption spike after each deployment. The application revision we are are deploying is about 100MB and is in tar.gz format. The workaround we have been using is to execute the following commands.
/etc/init.d/codedeploy-agent stop; /etc/init.d/codedeploy-agent start;sync && echo 3 > /proc/sys/vm/drop_caches && free -m
Thanks,
Larry
Hi Guys,
I am getting this error on deployments. This is from the log:
ERROR [codedeploy-agent(26296)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandExecutor: Could not download bundle at 'https://api.github.com/repos/my_organisation/my_repo/tarball/my_comitt_id'. Server returned code 404 'Not Found'
This is a private repo, so i created a Personal Access Token with "repo" scope and added the Token ID to the "Github Token" field under the AWS CodeDeploy Service.
Still the error happens. I am not sure if the codedeploy-agent gets this Token ID injected to it by the service when the deployment is called?
Any help will be appreciated.
regards
It can take a while before processes are ready to respond requests, but there's no retry(wait) concept for ValidateService
hook of appspec.yml
. So you need to write your own poll-until-apps-are-ready logics.
So it would be great if you can write something like ::
ValidateService:
- location: Scripts/MonitorService.sh
timeout: 3600
retry: 5
retry_interval: 30
runas: codedeployuser
and put only the core logic to ValidateService
scripts
Hi, Can you guy consider supporting CentOS / Redhat linux environments?
TL;DR - this thing is a steaming pile.
Allow me to count the ways:
vendor/*
breaks convention with basically every other gem out there.In addition, this "issues" board is a ghost town. Unresolved issues have lingered far too long without comment.
In need of a working CodeDeploy agent with actual tests, documentation and support, I propose the following:
Who's with me?
Would like the ability to have an "overwrite" instruction in the appspec.yml "Files" section.
In my initial testing, I wanted to clobber all files in /var/www/html
with new files. This resulted in a failure because the files already existed. Specifically, the following failure: 2015-06-13 20:58:40 ERROR [codedeploy-agent(7589)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Error during perform: RuntimeError - File already exists at location /var/www/html/index.html - /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/installer.rb:113:in
generate_normal_copy'`
I'd like to be able to create an appspec.yml file with the following section:
files:
- source: web
destination: /var/www/html/
overwrite: true
Notice I've added the "overwrite" instruction, which is currently not offered.
I've been working around by utilizing the hook section to do file copies. The hooks/shell script workaround is sufficient, rendering this a lower priority feature request.
I have a pre-packaged Windows application that has very long file paths (ie. vendor/Website/blahblah/shell/client/Applications/ContentTesting/Components/DataSource/MyVeryBigFilenameThatForSomeReasonIsHuge/MyVeryBigFilenameThatForSomeReasonIsHuge.cshtml). When combined with the default CodeDeploy Agent working directory (ie. C:\ProgramData/Amazon/CodeDeploy/af1d3bc9-b218-4209-bcea-2e2be521f1d7/d-4LZ8QQKED/deployment-archive) I end up with a file path that is greater than 260 characters. In order to work with file paths that large you have to do some things differently[0].
Can you give me any guidance as to who I might get around this issue?
[0]https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath
It is limited to 2048 for now.
I see all my ruby traces truncated... Would be cool to save the whole log somewhere on disk and just point to it too.
Or return more information to the server.
CodeDeploy is missing a mechanism for doing cleanup after a deployment error. This could be implemented as another lifecycle event that is triggered only when a deployment fails for some reason. This reason could be e.g. a non-zero exit status of a hook script, a timeout or a user-triggered cancellation of the deployment.
The idea of this originates from a more specific issue regarding ASG lifecycle scripts. In that case, an auto-scaling group is left in an unclean state after an error during a deployment.
One remotely similar mechanism for error handling is the rescue
block in Ansible:
http://docs.ansible.com/ansible/playbooks_blocks.html
I have a program like this:
#!/usr/bin/env python
import sys
import os
pid = os.fork()
if pid > 0:
sys.exit(0)
command_that_runs_forever()
If I use this script as my ApplicationStart
command, the code deploy agent will hang forever in the application start stage. I don't understand why this would happen. When I run the program from the command line, it returns immediately (the child being forked, and parent exiting immediately) and the status code is 0.
Any light shed on this would be appreciated. Thanks!
Hi -
I'm using the deb version of the plugin on ubuntu trusty 64 in us-east-1. A new deploymentgroup I setup on Friday late afternoon was failing, so I looked at it this morning. Every time it tries to make a request to the codedeploycommands service it receives a 400 error response.
HTTP log below:
Note: host is https://codedeploy-commands.us-east-1.amazonaws.com/
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1
Accept-Encoding:
User-Agent: aws-sdk-ruby2/2.0.42 ruby/2.0.0 x86_64-linux-gnu
X-Amz-Target: CodeDeployCommandService_v20141006.PollHostCommand
X-Amz-Date: 20150629T180026Z
Host: codedeploy-commands.us-east-1.amazonaws.com
X-Amz-Content-Sha256: f0e32927247ca0d80e05a755a56484220f21826393f82d675353e70e92336251
Authorization: AWS4-HMAC-SHA256 Credential=AKIAID7KXXXXXXXXXXXX/20150629/us-east-1/codedeploy-commands/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date;x-amz-target, Signature=35d962fdd26919d00e10863c915dfb49dc8eac01f4bb8c5fb6d076325b02d25e
Content-Length: 75
Accept: */*
HTTP/1.1 400 Bad Request
x-amzn-RequestId: b8902d1e-1e88-11e5-bd9d-458065df3e1e
Content-Type: application/x-amz-json-1.1
Content-Length: 34
{"__type":"AccessDeniedException"}
Hi,
It'll be nice to add an option to the configuration file to set ARCHIVES_TO_RETAIN
On some project I have 20 applications, so I can have potentially 20_5_ size of the app (100MB) on the filesystem
Best regards
After I modified codedeploy-agent's config file to reduce the number of builds it keeps around, I restarted it to get it to reread the config file by running:
sudo /etc/init.d/codedeploy-agent restart
The restart itself worked fine, but after the agent came back up it started to report a bunch of "access denied" errors in its logs, and deployments to that instance ceased to work. Eventually I tried rebooting the server itself, at which point everything began to work properly again.
Here is the relevant section of my logs from /var/log/aws/codedeploy-agent
from around the time I restarted the agent:
2016-06-06 21:02:20 INFO [codedeploy-agent(6665)]: Version file found in /opt/codedeploy-agent/.version.
2016-06-06 21:03:20 INFO [codedeploy-agent(6665)]: [Aws::CodeDeployCommand::Client 200 60.365945 0 retries] poll_host_command(host_identifier:"arn:aws:ec2:us-east-1:XXXX:instance/i-YYYY")
2016-06-06 21:03:21 INFO [codedeploy-agent(6665)]: Version file found in /opt/codedeploy-agent/.version.
2016-06-06 21:05:01 INFO [codedeploy-agent(15321)]: Stopping master 6660
2016-06-06 21:05:01 INFO [codedeploy-agent(6660)]: master 6660: Received TERM - stopping children and shutting down
2016-06-06 21:05:01 INFO [codedeploy-agent(6665)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller of master 6660: Received TERM - setting internal shutting down flag and possibly finishing last run
2016-06-06 21:05:22 INFO [codedeploy-agent(6665)]: [Aws::CodeDeployCommand::Client 200 121.037746 1 retries] poll_host_command(host_identifier:"arn:aws:ec2:us-east-1:XXXX:instance/i-YYYY")
2016-06-06 21:05:23 INFO [codedeploy-agent(6665)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller of master 6660: shutting down
2016-06-06 21:05:25 INFO [codedeploy-agent(15352)]: master 15352: Spawned child 1/1
2016-06-06 21:05:25 INFO [codedeploy-agent(15352)]: master 15352: Spawned child 1/1
2016-06-06 21:05:25 INFO [codedeploy-agent(15356)]: On Premises config file does not exist or not readable
2016-06-06 21:05:25 INFO [codedeploy-agent(15356)]: On Premises config file does not exist or not readable
2016-06-06 21:05:25 INFO [codedeploy-agent(15356)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandExecutor: Archives to retain is: 1}
2016-06-06 21:05:25 INFO [codedeploy-agent(15356)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandExecutor: Archives to retain is: 1}
2016-06-06 21:05:25 INFO [codedeploy-agent(15356)]: Version file found in /opt/codedeploy-agent/.version.
2016-06-06 21:05:25 INFO [codedeploy-agent(15356)]: Version file found in /opt/codedeploy-agent/.version.
2016-06-06 21:05:25 INFO [codedeploy-agent(15356)]: [Aws::CodeDeployCommand::Client 400 0.062063 0 retries] poll_host_command(host_identifier:"arn:aws:ec2:us-east-1:XXXX:instance/i-YYYY") Aws::CodeDeployCommand::Errors::AccessDeniedException
2016-06-06 21:05:25 INFO [codedeploy-agent(15356)]: [Aws::CodeDeployCommand::Client 400 0.062063 0 retries] poll_host_command(host_identifier:"arn:aws:ec2:us-east-1:XXXX:instance/i-YYYY") Aws::CodeDeployCommand::Errors::AccessDeniedException
I'm not sure why restarting the server would work, I tried it on a guess because I thought it might be IAM-related or something.
I have a few related issues here that are about how many copies of my application codedeploy-agent keeps around on disk.
With the default settings, codedeploy-agent will keep 11 copies of my application on disk after enough deployments happen:
.tar
application revision from s3deployment-archive
directoryThis seems excessive. I'm deploying a 160MB jar file to an instance with 8GB of disk space, and codedeploy-agent is consuming 1.6GB of disk just to keep old revisions around.
I can moderate this somewhat by changing the max_revisions
setting in /etc/codedeploy-agent/conf/codedeployagent.yml
(although this feature is not documented anywhere, as far as I can tell). But thanks to #57, the lowest value I can set this to is 1, which winds up keeping 5 copies of my application on disk:
Some suggestions for how this could be improved:
deployment-archive
or the application revision archive file file around, but not both - it should delete one or the other after a successful deployment.max_revisions
should be set to 1 (which actually means two previous deployments)Stopping the codedeploy-agent service doesn't kill the CodeDeployPlugin::CommandPoller immediately and the command takes about 2 minutes to execute.
Just wondering if there is a way to cleanly stop the agent service without using kill/pkill?
[root@cli-2-0-8 ec2-user]# service codedeploy-agent status
error: No AWS CodeDeploy agent running
[root@cli-2-0-8 ec2-user]# time service codedeploy-agent start
Starting codedeploy-agent:
real 0m0.262s
user 0m0.240s
sys 0m0.004s
[root@cli-2-0-8 ec2-user]# ps aux | grep codedeploy
root 7967 0.0 1.9 215532 19640 pts/0 Sl 04:34 0:00 codedeploy-agent: master 7967
root 7971 2.8 2.9 294460 30376 pts/0 Sl 04:34 0:00 codedeploy-agent: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller of master 7967
root 7983 0.0 0.2 110460 2276 pts/0 S+ 04:34 0:00 grep --color=auto codedeploy
[root@cli-2-0-8 ec2-user]# service codedeploy-agent status
The AWS CodeDeploy agent is running as PID 7967
[root@cli-2-0-8 ec2-user]# time service codedeploy-agent stop
Stopping codedeploy-agent:
real 1m20.242s
user 0m0.220s
sys 0m0.012s
[root@cli-2-0-8 ec2-user]# service codedeploy-agent status
Pidfile /opt/codedeploy-agent/state/.pid/codedeploy-agent.pid present but no matching process running - cleaning up
error: No AWS CodeDeploy agent running
[root@cli-2-0-8 ec2-user]# ps aux | grep codedeploy
root 7971 0.1 3.0 360576 30796 pts/0 Sl 04:34 0:00 codedeploy-agent: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller of master 7967 - shutting down
root 8109 0.0 0.2 110456 2132 pts/0 S+ 04:36 0:00 grep --color=auto codedeploy
If RVM is installed in the system-wide mode, with rvm.sh in the default /etc/profile.d/rvm.sh, the init scripts will not work properly due to this line.
Commenting it out seems to work fine in my case. Is it necessary to load /etc/profile?
OS: Ubuntu 14.04 LTS
Core Dump:
# service codedeploy-agent status
/usr/lib/ruby/2.0.0/rubygems/specification.rb:1395: [BUG] Segmentation fault
ruby 2.0.0p384 (2014-01-12) [x86_64-linux-gnu]
-- Control frame information -----------------------------------------------
c:0020 p:0019 s:0087 e:000081 BLOCK /usr/lib/ruby/2.0.0/rubygems/specification.rb:1395 [FINISH]
c:0019 p:---- s:0078 e:000077 IFUNC
c:0018 p:---- s:0076 e:000075 CFUNC :each
c:0017 p:---- s:0074 e:000073 CFUNC :any?
c:0016 p:0029 s:0071 e:000070 METHOD /usr/lib/ruby/2.0.0/rubygems/specification.rb:1394
c:0015 p:0018 s:0065 e:000064 BLOCK /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:63 [FINISH]
c:0014 p:---- s:0062 e:000061 IFUNC
c:0013 p:0008 s:0060 e:000058 BLOCK /usr/lib/ruby/2.0.0/rubygems/specification.rb:823 [FINISH]
c:0012 p:---- s:0056 e:000055 CFUNC :each
c:0011 p:0026 s:0053 e:000052 METHOD /usr/lib/ruby/2.0.0/rubygems/specification.rb:822 [FINISH]
c:0010 p:---- s:0050 e:000049 CFUNC :find
c:0009 p:0129 s:0047 e:000046 METHOD /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:62
c:0008 p:0055 s:0037 e:000036 TOP /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/commands/help.rb:7 [FINISH]
c:0007 p:---- s:0035 e:000034 CFUNC :require
c:0006 p:0144 s:0031 e:000030 METHOD /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:66
c:0005 p:0127 s:0021 e:000020 TOP /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli.rb:16 [FINISH]
c:0004 p:---- s:0019 e:000018 CFUNC :require
c:0003 p:0144 s:0015 e:000014 METHOD /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:66
c:0002 p:0060 s:0005 E:0002d0 EVAL /opt/codedeploy-agent/bin/codedeploy-agent:23 [FINISH]
c:0001 p:0000 s:0002 E:000a58 TOP [FINISH]
-- Ruby level backtrace information ----------------------------------------
/opt/codedeploy-agent/bin/codedeploy-agent:23:in `<main>'
/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:66:in `require'
/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:66:in `require'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli.rb:16:in `<top (required)>'
/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:66:in `require'
/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:66:in `require'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/commands/help.rb:7:in `<top (required)>'
/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:62:in `require'
/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:62:in `find'
/usr/lib/ruby/2.0.0/rubygems/specification.rb:822:in `each'
/usr/lib/ruby/2.0.0/rubygems/specification.rb:822:in `each'
/usr/lib/ruby/2.0.0/rubygems/specification.rb:823:in `block in each'
/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:63:in `block in require'
/usr/lib/ruby/2.0.0/rubygems/specification.rb:1394:in `contains_requirable_file?'
/usr/lib/ruby/2.0.0/rubygems/specification.rb:1394:in `any?'
/usr/lib/ruby/2.0.0/rubygems/specification.rb:1394:in `each'
/usr/lib/ruby/2.0.0/rubygems/specification.rb:1395:in `block in contains_requirable_file?'
-- C level backtrace information -------------------------------------------
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x177bbb) [0x7f81b02abbbb]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x64afa) [0x7f81b0198afa]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_bug+0xb3) [0x7f81b0199203]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x112196) [0x7f81b0246196]
/lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f81afda5d40]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x3c) [0x7f81afdf1e2c]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x7d17e) [0x7f81b01b117e]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x7da07) [0x7f81b01b1a07]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x7e368) [0x7f81b01b2368]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x11df66) [0x7f81b0251f66]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_str_modify+0x81) [0x7f81b02592d1]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x12540c) [0x7f81b025940c]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x12b73a) [0x7f81b025f73a]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_str_buf_append+0x5a) [0x7f81b025fc3a]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_str_append+0x78) [0x7f81b025fd48]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x1635d8) [0x7f81b02975d8]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x169a87) [0x7f81b029da87]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_yield_values2+0x204) [0x7f81b02a6784]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x5ce1e) [0x7f81b0190e1e]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_yield+0x9a2) [0x7f81b02a6262]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_ary_each+0x52) [0x7f81b0162f02]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x16a69f) [0x7f81b029e69f]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x16ffa7) [0x7f81b02a3fa7]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_iterate+0xd4) [0x7f81b02962d4]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_block_call+0x2b) [0x7f81b02964fb]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x5cbe9) [0x7f81b0190be9]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x161784) [0x7f81b0295784]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x16e29e) [0x7f81b02a229e]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x164c35) [0x7f81b0298c35]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x169a87) [0x7f81b029da87]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_yield+0x204) [0x7f81b02a5ac4]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x5fbbe) [0x7f81b0193bbe]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x167617) [0x7f81b029b617]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x169a87) [0x7f81b029da87]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_yield+0x204) [0x7f81b02a5ac4]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_ary_each+0x52) [0x7f81b0162f02]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x161784) [0x7f81b0295784]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x16e29e) [0x7f81b02a229e]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x164c35) [0x7f81b0298c35]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x169a87) [0x7f81b029da87]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x16a5b4) [0x7f81b029e5b4]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x16ffa7) [0x7f81b02a3fa7]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_iterate+0xd4) [0x7f81b02962d4]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_block_call+0x2b) [0x7f81b02964fb]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x5ccbd) [0x7f81b0190cbd]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x161784) [0x7f81b0295784]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x16e29e) [0x7f81b02a229e]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x164c35) [0x7f81b0298c35]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x169a87) [0x7f81b029da87]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_iseq_eval+0x129) [0x7f81b02a7ae9]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x6c3ea) [0x7f81b01a03ea]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_require_safe+0x554) [0x7f81b01a1a84]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x161784) [0x7f81b0295784]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x16e29e) [0x7f81b02a229e]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x164cac) [0x7f81b0298cac]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x169a87) [0x7f81b029da87]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_iseq_eval+0x129) [0x7f81b02a7ae9]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x6c3ea) [0x7f81b01a03ea]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_require_safe+0x554) [0x7f81b01a1a84]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x161784) [0x7f81b0295784]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x16e29e) [0x7f81b02a229e]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x164cac) [0x7f81b0298cac]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x169a87) [0x7f81b029da87]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(rb_iseq_eval_main+0x7f) [0x7f81b02a7b9f]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(+0x680fa) [0x7f81b019c0fa]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(ruby_exec_node+0x1d) [0x7f81b019d7fd]
/usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0(ruby_run_node+0x1e) [0x7f81b019f3fe]
/usr/bin/ruby2.0() [0x40086b]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f81afd90ec5]
/usr/bin/ruby2.0() [0x400899]
-- Other runtime information -----------------------------------------------
* Loaded script: /opt/codedeploy-agent/bin/codedeploy-agent
* Loaded features:
0 enumerator.so
1 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/encdb.so
2 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/trans/transdb.so
3 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/rbconfig.rb
4 /usr/lib/ruby/2.0.0/rubygems/compatibility.rb
5 /usr/lib/ruby/2.0.0/rubygems/defaults.rb
6 /usr/lib/ruby/2.0.0/rubygems/deprecate.rb
7 /usr/lib/ruby/2.0.0/rubygems/errors.rb
8 /usr/lib/ruby/2.0.0/rubygems/version.rb
9 /usr/lib/ruby/2.0.0/rubygems/requirement.rb
10 /usr/lib/ruby/2.0.0/rubygems/platform.rb
11 /usr/lib/ruby/2.0.0/rubygems/specification.rb
12 /usr/lib/ruby/2.0.0/rubygems/exceptions.rb
13 /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb
14 /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb
15 /usr/lib/ruby/2.0.0/thread.rb
16 /usr/lib/ruby/2.0.0/monitor.rb
17 /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb
18 /usr/lib/ruby/2.0.0/rubygems.rb
19 /usr/lib/ruby/2.0.0/rubygems/path_support.rb
20 /opt/codedeploy-agent/lib/core_ext.rb
21 /usr/lib/ruby/2.0.0/rubygems/dependency.rb
22 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/socket.so
23 /usr/lib/ruby/2.0.0/socket.rb
24 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/etc.so
25 /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/config.rb
26 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/utils.rb
27 /usr/lib/ruby/2.0.0/psych/syntax_error.rb
28 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/psych.so
29 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/stringio.so
30 /usr/lib/ruby/2.0.0/psych/nodes/node.rb
31 /usr/lib/ruby/2.0.0/psych/nodes/stream.rb
32 /usr/lib/ruby/2.0.0/psych/nodes/document.rb
33 /usr/lib/ruby/2.0.0/psych/nodes/sequence.rb
34 /usr/lib/ruby/2.0.0/psych/nodes/scalar.rb
35 /usr/lib/ruby/2.0.0/psych/nodes/mapping.rb
36 /usr/lib/ruby/2.0.0/psych/nodes/alias.rb
37 /usr/lib/ruby/2.0.0/psych/nodes.rb
38 /usr/lib/ruby/2.0.0/psych/streaming.rb
39 /usr/lib/ruby/2.0.0/psych/visitors/visitor.rb
40 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/strscan.so
41 /usr/lib/ruby/2.0.0/psych/scalar_scanner.rb
42 /usr/lib/ruby/2.0.0/psych/visitors/to_ruby.rb
43 /usr/lib/ruby/2.0.0/psych/visitors/emitter.rb
44 /usr/lib/ruby/2.0.0/psych/visitors/yaml_tree.rb
45 /usr/lib/ruby/2.0.0/psych/json/ruby_events.rb
46 /usr/lib/ruby/2.0.0/psych/visitors/json_tree.rb
47 /usr/lib/ruby/2.0.0/psych/visitors/depth_first.rb
48 /usr/lib/ruby/2.0.0/psych/visitors.rb
49 /usr/lib/ruby/2.0.0/psych/handler.rb
50 /usr/lib/ruby/2.0.0/psych/tree_builder.rb
51 /usr/lib/ruby/2.0.0/psych/parser.rb
52 /usr/lib/ruby/2.0.0/psych/omap.rb
53 /usr/lib/ruby/2.0.0/psych/set.rb
54 /usr/lib/ruby/2.0.0/psych/coder.rb
55 /usr/lib/ruby/2.0.0/psych/core_ext.rb
56 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/date_core.so
57 /usr/lib/ruby/2.0.0/date/format.rb
58 /usr/lib/ruby/2.0.0/date.rb
59 /usr/lib/ruby/2.0.0/psych/deprecated.rb
60 /usr/lib/ruby/2.0.0/psych/stream.rb
61 /usr/lib/ruby/2.0.0/psych/json/yaml_events.rb
62 /usr/lib/ruby/2.0.0/psych/json/tree_builder.rb
63 /usr/lib/ruby/2.0.0/psych/json/stream.rb
64 /usr/lib/ruby/2.0.0/psych/handlers/document_stream.rb
65 /usr/lib/ruby/2.0.0/psych.rb
66 /usr/lib/ruby/2.0.0/yaml.rb
67 /usr/lib/ruby/2.0.0/fileutils.rb
68 /opt/codedeploy-agent/vendor/gems/little-plugger-1.1.3/lib/little-plugger.rb
69 /usr/local/rvm/gems/ruby-2.2.2/gems/multi_json-1.11.2/lib/multi_json/options.rb
70 /usr/local/rvm/gems/ruby-2.2.2/gems/multi_json-1.11.2/lib/multi_json/version.rb
71 /usr/local/rvm/gems/ruby-2.2.2/gems/multi_json-1.11.2/lib/multi_json/adapter_error.rb
72 /usr/local/rvm/gems/ruby-2.2.2/gems/multi_json-1.11.2/lib/multi_json/parse_error.rb
73 /usr/local/rvm/gems/ruby-2.2.2/gems/multi_json-1.11.2/lib/multi_json.rb
74 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/syslog.so
75 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appender.rb
76 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/layout.rb
77 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/log_event.rb
78 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/logger.rb
79 /usr/lib/ruby/2.0.0/singleton.rb
80 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/repository.rb
81 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/root_logger.rb
82 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/stats.rb
83 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/color_scheme.rb
84 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders/buffering.rb
85 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders/io.rb
86 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders/console.rb
87 /usr/lib/ruby/2.0.0/timeout.rb
88 /usr/lib/ruby/2.0.0/net/protocol.rb
89 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest.so
90 /usr/lib/ruby/2.0.0/digest.rb
91 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest/md5.so
92 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/openssl.so
93 /usr/lib/ruby/2.0.0/openssl/bn.rb
94 /usr/lib/ruby/2.0.0/openssl/cipher.rb
95 /usr/lib/ruby/2.0.0/openssl/config.rb
96 /usr/lib/ruby/2.0.0/openssl/digest.rb
97 /usr/lib/ruby/2.0.0/openssl/x509.rb
98 /usr/lib/ruby/2.0.0/openssl/buffering.rb
99 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/fcntl.so
100 /usr/lib/ruby/2.0.0/openssl/ssl.rb
101 /usr/lib/ruby/2.0.0/openssl.rb
102 /usr/lib/ruby/2.0.0/net/smtp.rb
103 /usr/lib/ruby/2.0.0/time.rb
104 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders/email.rb
105 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders/file.rb
106 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders/growl.rb
107 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders/rolling_file.rb
108 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders/string_io.rb
109 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders/syslog.rb
110 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/appenders.rb
111 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/layouts/basic.rb
112 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/layouts/parseable.rb
113 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/layouts/pattern.rb
114 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/layouts.rb
115 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/proxy.rb
116 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/diagnostic_context.rb
117 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/config/configurator.rb
118 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/config/yaml_configurator.rb
119 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/rails_compat.rb
120 /opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging.rb
121 /usr/lib/ruby/2.0.0/logger.rb
122 /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/log.rb
123 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/pathname.so
124 /usr/lib/ruby/2.0.0/pathname.rb
125 /opt/codedeploy-agent/vendor/gems/simple_pid-0.2.1/lib/core_ext/string.rb
126 /opt/codedeploy-agent/vendor/gems/simple_pid-0.2.1/lib/core_ext.rb
127 /opt/codedeploy-agent/vendor/gems/simple_pid-0.2.1/lib/simple_pid.rb
128 /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/blank.rb
129 /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb
130 /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb
131 /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager.rb
132 /opt/codedeploy-agent/lib/instance_agent/config.rb
133 /opt/codedeploy-agent/lib/instance_agent/log.rb
134 /opt/codedeploy-agent/lib/instance_agent/platform.rb
135 /opt/codedeploy-agent/lib/instance_agent/platform/linux_util.rb
136 /usr/lib/ruby/2.0.0/set.rb
137 /opt/codedeploy-agent/lib/instance_agent/agent/plugin.rb
138 /opt/codedeploy-agent/lib/instance_agent/agent/base.rb
139 /usr/lib/ruby/2.0.0/uri/common.rb
140 /usr/lib/ruby/2.0.0/uri/generic.rb
141 /usr/lib/ruby/2.0.0/uri/ftp.rb
142 /usr/lib/ruby/2.0.0/uri/http.rb
143 /usr/lib/ruby/2.0.0/uri/https.rb
144 /usr/lib/ruby/2.0.0/uri/ldap.rb
145 /usr/lib/ruby/2.0.0/uri/ldaps.rb
146 /usr/lib/ruby/2.0.0/uri/mailto.rb
147 /usr/lib/ruby/2.0.0/uri.rb
148 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/zlib.so
149 /usr/lib/ruby/2.0.0/net/http/exceptions.rb
150 /usr/lib/ruby/2.0.0/net/http/header.rb
151 /usr/lib/ruby/2.0.0/net/http/generic_request.rb
152 /usr/lib/ruby/2.0.0/net/http/request.rb
153 /usr/lib/ruby/2.0.0/net/http/requests.rb
154 /usr/lib/ruby/2.0.0/net/http/response.rb
155 /usr/lib/ruby/2.0.0/net/http/responses.rb
156 /usr/lib/ruby/2.0.0/net/http/proxy_delta.rb
157 /usr/lib/ruby/2.0.0/net/http/backward.rb
158 /usr/lib/ruby/2.0.0/net/http.rb
159 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/version.rb
160 /usr/lib/ruby/2.0.0/ostruct.rb
161 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/generic_object.rb
162 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/common.rb
163 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16be.so
164 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16le.so
165 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32be.so
166 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32le.so
167 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/parser.so
168 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/generator.so
169 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext.rb
170 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json.rb
171 /opt/codedeploy-agent/lib/instance_metadata.rb
172 /opt/codedeploy-agent/lib/instance_agent/runner/master.rb
173 /opt/codedeploy-agent/lib/instance_agent/runner/child.rb
174 /opt/codedeploy-agent/lib/instance_agent.rb
175 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/option_parser_factory.rb
176 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/gli_option_parser.rb
177 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb
178 /usr/lib/ruby/2.0.0/optparse.rb
179 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/copy_options_to_aliases.rb
180 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/dsl.rb
181 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app.rb
182 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_support.rb
183 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_line_token.rb
184 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command.rb
185 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_line_option.rb
186 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/exceptions.rb
187 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/flag.rb
188 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/options.rb
189 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/switch.rb
190 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/version.rb
191 /usr/lib/ruby/2.0.0/cgi/util.rb
192 /usr/lib/ruby/2.0.0/erb.rb
193 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/terminal.rb
194 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/commands/help_modules/list_formatter.rb
195 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/commands/help_modules/text_wrapper.rb
196 /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/commands/help_modules/one_line_wrapper.rb
* Process memory map:
00400000-00401000 r-xp 00000000 ca:01 31337 /usr/bin/ruby2.0
00600000-00601000 r--p 00000000 ca:01 31337 /usr/bin/ruby2.0
00601000-00602000 rw-p 00001000 ca:01 31337 /usr/bin/ruby2.0
00a85000-01aa1000 rw-p 00000000 00:00 0 [heap]
7f81ab229000-7f81ab23f000 r-xp 00000000 ca:01 396054 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f81ab23f000-7f81ab43e000 ---p 00016000 ca:01 396054 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f81ab43e000-7f81ab43f000 rw-p 00015000 ca:01 396054 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f81ab43f000-7f81ab449000 r-xp 00000000 ca:01 171041 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/generator.so
7f81ab449000-7f81ab648000 ---p 0000a000 ca:01 171041 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/generator.so
7f81ab648000-7f81ab649000 r--p 00009000 ca:01 171041 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/generator.so
7f81ab649000-7f81ab64a000 rw-p 0000a000 ca:01 171041 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/generator.so
7f81ab64a000-7f81ab64b000 r-xp 00000000 ca:01 31412 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32le.so
7f81ab64b000-7f81ab84a000 ---p 00001000 ca:01 31412 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32le.so
7f81ab84a000-7f81ab84b000 r--p 00000000 ca:01 31412 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32le.so
7f81ab84b000-7f81ab84c000 rw-p 00001000 ca:01 31412 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32le.so
7f81ab84c000-7f81ab84d000 r-xp 00000000 ca:01 31382 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32be.so
7f81ab84d000-7f81aba4c000 ---p 00001000 ca:01 31382 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32be.so
7f81aba4c000-7f81aba4d000 r--p 00000000 ca:01 31382 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32be.so
7f81aba4d000-7f81aba4e000 rw-p 00001000 ca:01 31382 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_32be.so
7f81aba4e000-7f81aba4f000 r-xp 00000000 ca:01 31410 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16le.so
7f81aba4f000-7f81abc4f000 ---p 00001000 ca:01 31410 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16le.so
7f81abc4f000-7f81abc50000 r--p 00001000 ca:01 31410 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16le.so
7f81abc50000-7f81abc51000 rw-p 00002000 ca:01 31410 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16le.so
7f81abc51000-7f81abc52000 r-xp 00000000 ca:01 31433 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16be.so
7f81abc52000-7f81abe52000 ---p 00001000 ca:01 31433 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16be.so
7f81abe52000-7f81abe53000 r--p 00001000 ca:01 31433 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16be.so
7f81abe53000-7f81abe54000 rw-p 00002000 ca:01 31433 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/utf_16be.so
7f81abe54000-7f81abec0000 r-xp 00000000 ca:01 26084 /usr/lib/x86_64-linux-gnu/libgmp.so.10.1.3
7f81abec0000-7f81ac0bf000 ---p 0006c000 ca:01 26084 /usr/lib/x86_64-linux-gnu/libgmp.so.10.1.3
7f81ac0bf000-7f81ac0c0000 r--p 0006b000 ca:01 26084 /usr/lib/x86_64-linux-gnu/libgmp.so.10.1.3
7f81ac0c0000-7f81ac0c8000 rw-p 0006c000 ca:01 26084 /usr/lib/x86_64-linux-gnu/libgmp.so.10.1.3
7f81ac0c8000-7f81ac38c000 r-xp 00000000 ca:01 420955 /usr/local/rvm/rubies/ruby-2.2.2/lib/libruby.so.2.2.0
7f81ac38c000-7f81ac58c000 ---p 002c4000 ca:01 420955 /usr/local/rvm/rubies/ruby-2.2.2/lib/libruby.so.2.2.0
7f81ac58c000-7f81ac591000 r--p 002c4000 ca:01 420955 /usr/local/rvm/rubies/ruby-2.2.2/lib/libruby.so.2.2.0
7f81ac591000-7f81ac594000 rw-p 002c9000 ca:01 420955 /usr/local/rvm/rubies/ruby-2.2.2/lib/libruby.so.2.2.0
7f81ac594000-7f81ac5a6000 rw-p 00000000 00:00 0
7f81ac5a6000-7f81ac5ac000 r-xp 00000000 ca:01 171050 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/parser.so
7f81ac5ac000-7f81ac7ab000 ---p 00006000 ca:01 171050 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/parser.so
7f81ac7ab000-7f81ac7ac000 r--p 00005000 ca:01 171050 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/parser.so
7f81ac7ac000-7f81ac7ad000 rw-p 00006000 ca:01 171050 /usr/local/rvm/gems/ruby-2.2.2/gems/json-1.8.3/lib/json/ext/parser.so
7f81ac7ad000-7f81ac7c5000 r-xp 00000000 ca:01 396113 /lib/x86_64-linux-gnu/libz.so.1.2.8
7f81ac7c5000-7f81ac9c4000 ---p 00018000 ca:01 396113 /lib/x86_64-linux-gnu/libz.so.1.2.8
7f81ac9c4000-7f81ac9c5000 r--p 00017000 ca:01 396113 /lib/x86_64-linux-gnu/libz.so.1.2.8
7f81ac9c5000-7f81ac9c6000 rw-p 00018000 ca:01 396113 /lib/x86_64-linux-gnu/libz.so.1.2.8
7f81ac9c6000-7f81ac9d3000 r-xp 00000000 ca:01 31443 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/zlib.so
7f81ac9d3000-7f81acbd2000 ---p 0000d000 ca:01 31443 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/zlib.so
7f81acbd2000-7f81acbd3000 r--p 0000c000 ca:01 31443 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/zlib.so
7f81acbd3000-7f81acbd4000 rw-p 0000d000 ca:01 31443 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/zlib.so
7f81acbd4000-7f81acbda000 r-xp 00000000 ca:01 31360 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/pathname.so
7f81acbda000-7f81acdd9000 ---p 00006000 ca:01 31360 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/pathname.so
7f81acdd9000-7f81acdda000 r--p 00005000 ca:01 31360 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/pathname.so
7f81acdda000-7f81acddb000 rw-p 00006000 ca:01 31360 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/pathname.so
7f81acddb000-7f81acddc000 r-xp 00000000 ca:01 31451 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/fcntl.so
7f81acddc000-7f81acfdb000 ---p 00001000 ca:01 31451 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/fcntl.so
7f81acfdb000-7f81acfdc000 r--p 00000000 ca:01 31451 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/fcntl.so
7f81acfdc000-7f81acfdd000 rw-p 00001000 ca:01 31451 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/fcntl.so
7f81acfdd000-7f81ad032000 r-xp 00000000 ca:01 404249 /lib/x86_64-linux-gnu/libssl.so.1.0.0
7f81ad032000-7f81ad232000 ---p 00055000 ca:01 404249 /lib/x86_64-linux-gnu/libssl.so.1.0.0
7f81ad232000-7f81ad235000 r--p 00055000 ca:01 404249 /lib/x86_64-linux-gnu/libssl.so.1.0.0
7f81ad235000-7f81ad23c000 rw-p 00058000 ca:01 404249 /lib/x86_64-linux-gnu/libssl.so.1.0.0
7f81ad23c000-7f81ad288000 r-xp 00000000 ca:01 31345 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/openssl.so
7f81ad288000-7f81ad488000 ---p 0004c000 ca:01 31345 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/openssl.so
7f81ad488000-7f81ad489000 r--p 0004c000 ca:01 31345 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/openssl.so
7f81ad489000-7f81ad48b000 rw-p 0004d000 ca:01 31345 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/openssl.so
7f81ad48b000-7f81ad48c000 rw-p 00000000 00:00 0
7f81ad48c000-7f81ad48f000 r-xp 00000000 ca:01 31344 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest.so
7f81ad48f000-7f81ad68e000 ---p 00003000 ca:01 31344 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest.so
7f81ad68e000-7f81ad68f000 r--p 00002000 ca:01 31344 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest.so
7f81ad68f000-7f81ad690000 rw-p 00003000 ca:01 31344 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest.so
7f81ad690000-7f81ad842000 r-xp 00000000 ca:01 404248 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f81ad842000-7f81ada41000 ---p 001b2000 ca:01 404248 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f81ada41000-7f81ada5c000 r--p 001b1000 ca:01 404248 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f81ada5c000-7f81ada67000 rw-p 001cc000 ca:01 404248 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f81ada67000-7f81ada6b000 rw-p 00000000 00:00 0
7f81ada6b000-7f81ada6c000 r-xp 00000000 ca:01 31441 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest/md5.so
7f81ada6c000-7f81adc6b000 ---p 00001000 ca:01 31441 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest/md5.so
7f81adc6b000-7f81adc6c000 r--p 00000000 ca:01 31441 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest/md5.so
7f81adc6c000-7f81adc6d000 rw-p 00001000 ca:01 31441 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/digest/md5.so
7f81adc6d000-7f81adc70000 r-xp 00000000 ca:01 31351 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/syslog.so
7f81adc70000-7f81ade6f000 ---p 00003000 ca:01 31351 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/syslog.so
7f81ade6f000-7f81ade70000 r--p 00002000 ca:01 31351 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/syslog.so
7f81ade70000-7f81ade71000 rw-p 00003000 ca:01 31351 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/syslog.so
7f81ade71000-7f81ade9f000 r-xp 00000000 ca:01 31452 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/date_core.so
7f81ade9f000-7f81ae09f000 ---p 0002e000 ca:01 31452 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/date_core.so
7f81ae09f000-7f81ae0a0000 r--p 0002e000 ca:01 31452 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/date_core.so
7f81ae0a0000-7f81ae0a1000 rw-p 0002f000 ca:01 31452 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/date_core.so
7f81ae0a1000-7f81ae0a2000 rw-p 00000000 00:00 0
7f81ae0a2000-7f81ae0a7000 r-xp 00000000 ca:01 31355 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/strscan.so
7f81ae0a7000-7f81ae2a6000 ---p 00005000 ca:01 31355 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/strscan.so
7f81ae2a6000-7f81ae2a7000 r--p 00004000 ca:01 31355 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/strscan.so
7f81ae2a7000-7f81ae2a8000 rw-p 00005000 ca:01 31355 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/strscan.so
7f81ae2a8000-7f81ae2af000 r-xp 00000000 ca:01 31347 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/stringio.so
7f81ae2af000-7f81ae4ae000 ---p 00007000 ca:01 31347 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/stringio.so
7f81ae4ae000-7f81ae4af000 r--p 00006000 ca:01 31347 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/stringio.so
7f81ae4af000-7f81ae4b0000 rw-p 00007000 ca:01 31347 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/stringio.so
7f81ae4b0000-7f81ae4cf000 r-xp 00000000 ca:01 8138 /usr/lib/x86_64-linux-gnu/libyaml-0.so.2.0.2
7f81ae4cf000-7f81ae6ce000 ---p 0001f000 ca:01 8138 /usr/lib/x86_64-linux-gnu/libyaml-0.so.2.0.2
7f81ae6ce000-7f81ae6cf000 r--p 0001e000 ca:01 8138 /usr/lib/x86_64-linux-gnu/libyaml-0.so.2.0.2
7f81ae6cf000-7f81ae6d0000 rw-p 0001f000 ca:01 8138 /usr/lib/x86_64-linux-gnu/libyaml-0.so.2.0.2
7f81ae6d0000-7f81ae6d6000 r-xp 00000000 ca:01 31348 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/psych.so
7f81ae6d6000-7f81ae8d5000 ---p 00006000 ca:01 31348 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/psych.so
7f81ae8d5000-7f81ae8d6000 r--p 00005000 ca:01 31348 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/psych.so
7f81ae8d6000-7f81ae8d7000 rw-p 00006000 ca:01 31348 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/psych.so
7f81ae8d7000-7f81ae8da000 r-xp 00000000 ca:01 31444 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/etc.so
7f81ae8da000-7f81aead9000 ---p 00003000 ca:01 31444 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/etc.so
7f81aead9000-7f81aeada000 r--p 00002000 ca:01 31444 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/etc.so
7f81aeada000-7f81aeadb000 rw-p 00003000 ca:01 31444 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/etc.so
7f81aeadb000-7f81aeafd000 r-xp 00000000 ca:01 31375 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/socket.so
▽
7f81aeafd000-7f81aecfc000 ---p 00022000 ca:01 31375 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/socket.so
▽
7f81aecfc000-7f81aecfd000 r--p 00021000 ca:01 31375 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/socket.so
7f81aecfd000-7f81aecfe000 rw-p 00022000 ca:01 31375 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/socket.so
7f81aecfe000-7f81aed00000 r-xp 00000000 ca:01 31401 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/trans/transdb.so
7f81aed00000-7f81aef00000 ---p 00002000 ca:01 31401 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/trans/transdb.so
7f81aef00000-7f81aef01000 r--p 00002000 ca:01 31401 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/trans/transdb.so
7f81aef01000-7f81aef02000 rw-p 00003000 ca:01 31401 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/trans/transdb.so
7f81aef02000-7f81aef04000 r-xp 00000000 ca:01 31426 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/encdb.so
7f81aef04000-7f81af103000 ---p 00002000 ca:01 31426 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/encdb.so
7f81af103000-7f81af104000 r--p 00001000 ca:01 31426 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/encdb.so
7f81af104000-7f81af105000 rw-p 00002000 ca:01 31426 /usr/lib/x86_64-linux-gnu/ruby/2.0.0/enc/encdb.so
7f81af105000-7f81af206000 rw-p 00000000 00:00 0
7f81af206000-7f81af30b000 r-xp 00000000 ca:01 396063 /lib/x86_64-linux-gnu/libm-2.19.so
7f81af30b000-7f81af50a000 ---p 00105000 ca:01 396063 /lib/x86_64-linux-gnu/libm-2.19.so
7f81af50a000-7f81af50b000 r--p 00104000 ca:01 396063 /lib/x86_64-linux-gnu/libm-2.19.so
7f81af50b000-7f81af50c000 rw-p 00105000 ca:01 396063 /lib/x86_64-linux-gnu/libm-2.19.so
7f81af50c000-7f81af515000 r-xp 00000000 ca:01 396045 /lib/x86_64-linux-gnu/libcrypt-2.19.so
7f81af515000-7f81af715000 ---p 00009000 ca:01 396045 /lib/x86_64-linux-gnu/libcrypt-2.19.so
7f81af715000-7f81af716000 r--p 00009000 ca:01 396045 /lib/x86_64-linux-gnu/libcrypt-2.19.so
7f81af716000-7f81af717000 rw-p 0000a000 ca:01 396045 /lib/x86_64-linux-gnu/libcrypt-2.19.so
7f81af717000-7f81af745000 rw-p 00000000 00:00 0
7f81af745000-7f81af748000 r-xp 00000000 ca:01 396049 /lib/x86_64-linux-gnu/libdl-2.19.so
7f81af748000-7f81af947000 ---p 00003000 ca:01 396049 /lib/x86_64-linux-gnu/libdl-2.19.so
7f81af947000-7f81af948000 r--p 00002000 ca:01 396049 /lib/x86_64-linux-gnu/libdl-2.19.so
7f81af948000-7f81af949000 rw-p 00003000 ca:01 396049 /lib/x86_64-linux-gnu/libdl-2.19.so
7f81af949000-7f81af950000 r-xp 00000000 ca:01 396096 /lib/x86_64-linux-gnu/librt-2.19.so
7f81af950000-7f81afb4f000 ---p 00007000 ca:01 396096 /lib/x86_64-linux-gnu/librt-2.19.so
7f81afb4f000-7f81afb50000 r--p 00006000 ca:01 396096 /lib/x86_64-linux-gnu/librt-2.19.so
7f81afb50000-7f81afb51000 rw-p 00007000 ca:01 396096 /lib/x86_64-linux-gnu/librt-2.19.so
7f81afb51000-7f81afb6a000 r-xp 00000000 ca:01 396093 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f81afb6a000-7f81afd69000 ---p 00019000 ca:01 396093 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f81afd69000-7f81afd6a000 r--p 00018000 ca:01 396093 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f81afd6a000-7f81afd6b000 rw-p 00019000 ca:01 396093 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f81afd6b000-7f81afd6f000 rw-p 00000000 00:00 0
7f81afd6f000-7f81aff2a000 r-xp 00000000 ca:01 396040 /lib/x86_64-linux-gnu/libc-2.19.so
7f81aff2a000-7f81b0129000 ---p 001bb000 ca:01 396040 /lib/x86_64-linux-gnu/libc-2.19.so
7f81b0129000-7f81b012d000 r--p 001ba000 ca:01 396040 /lib/x86_64-linux-gnu/libc-2.19.so
7f81b012d000-7f81b012f000 rw-p 001be000 ca:01 396040 /lib/x86_64-linux-gnu/libc-2.19.so
7f81b012f000-7f81b0134000 rw-p 00000000 00:00 0
7f81b0134000-7f81b0366000 r-xp 00000000 ca:01 31342 /usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0.0
7f81b0366000-7f81b0566000 ---p 00232000 ca:01 31342 /usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0.0
7f81b0566000-7f81b056b000 r--p 00232000 ca:01 31342 /usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0.0
7f81b056b000-7f81b056e000 rw-p 00237000 ca:01 31342 /usr/lib/x86_64-linux-gnu/libruby-2.0.so.2.0.0
7f81b056e000-7f81b058e000 rw-p 00000000 00:00 0
7f81b058e000-7f81b05b1000 r-xp 00000000 ca:01 396030 /lib/x86_64-linux-gnu/ld-2.19.so
7f81b0617000-7f81b07a0000 r--p 00000000 ca:01 1578 /usr/lib/locale/locale-archive
7f81b07a0000-7f81b07a5000 rw-p 00000000 00:00 0
7f81b07a9000-7f81b07aa000 rw-p 00000000 00:00 0
7f81b07aa000-7f81b07ab000 ---p 00000000 00:00 0
7f81b07ab000-7f81b07b0000 rw-p 00000000 00:00 0 [stack:26720]
7f81b07b0000-7f81b07b1000 r--p 00022000 ca:01 396030 /lib/x86_64-linux-gnu/ld-2.19.so
7f81b07b1000-7f81b07b2000 rw-p 00023000 ca:01 396030 /lib/x86_64-linux-gnu/ld-2.19.so
7f81b07b2000-7f81b07b3000 rw-p 00000000 00:00 0
7ffc1775e000-7ffc1777f000 rw-p 00000000 00:00 0
7ffc177c5000-7ffc177c7000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
/etc/init.d/codedeploy-agent: line 50: 26719 Aborted (core dumped) $BIN status
The install scripts ensures gdebi
on debian based system. However, this also installs a very large number of dependencies (105 MB). Wouldn't gdebi-core
make more sense in a non-interactive environment? It's only 17.5 MB.
Ref: https://github.com/aws/aws-codedeploy-agent/blob/master/bin/install#L221
Our CI systems precompiles some artifacts and stores them in S3 with the git revision as the unique identifier.
We'd like the scripts that run on deploy to download the correct version based on the deployed git commit id. Right now it's awkward, since we need to query for the deployment ID and then get the git commit id from there.
When creating a base Ubuntu AMI with the codedeploy agent pre-installed, I'd like to be able to install the codedeploy agent w/out the daemon starting.
After installing on the base AMI, I need to manually stop the daemon and clean up log files.
The idiomatic way to handle whether to start a service during installation is to use invoke-rc.d
.
Instead of invoking service codedeploy-agent {start,stop}
in postinst
/prerm
, use invoke-rc.d
:
# In postinst:
invoke-rc.d codedeploy-agent start
See the nginx package's postinst script for example.
invoke-rc.d
runs /usr/sbin/policy-rc.d
to determine whether a service should be started.
I looked for how to make this change myself in a pull request, but I couldn't figure out how the controls scripts in the deb package is generated from this repo.
Follow-up to #43 (which I believe no one is reading).
I'm fine with auto updating the agent as long as the update process does not start the agent daemon. There are scenarios where we want to honour chkconfig and not start the agent at boot.
Either the update process should not start the agent (restart is OK since it's obviously already running) or we shouldn't have a cron entry that runs at reboot to update the agent (since we already update every hour).
The specific requirement for "ruby2.0" means that CodeDeploy cannot be installed on Ubuntu 16.04 LTS.
Considering that maintenance for Ruby 2.0 ended in February 2016, CodeDeploy is now relying on an unmaintained version. It was advised well over a year ago to move all Ruby 2.0 projects to a newer version.
This also means that the CodeDeploy install instructions no longer work for Ubuntu as they say they should.
How should users who are on Ubuntu LTS install the CodeDeploy agent?
Is CodeDeploy still going to be maintained going forward? (Ruby 2.0 is over three years old now!)
The initial problem I have is that there seems to be no way to manage target revisions (eg, "promote as target revision") through CLI. Correct me if I am wrong?
It would be great if there is a way to specify which revision agent should deploy.
It is not always best idea to deploy "latest successfully deployed", because DB may have changed, or when doing debugging, or when scripts used for deployment are not idempotent (on purpose).
I can think of specific env like AWS_DEPLOY_S3_LOCATION="bucket=BucketName,key=123.zip,bundleType=zip"
which can be used during deployment, if not empty.
Because of the restriction here:
The agent is now crashing with aws-sdk-core 2.3.0
It would be nice to be able to run the agent as a non-root user, or, only run the supervisor as root, and drop privileges on the child process if they're not needed.
In our case, we'd like to only deploy signed binaries which are checked by a server agent as part of the deploy process (with the agent only decrypting a payload if the signatures are verified). Because code-deploy runs as root, it is possible that compromised credentials could lead to an unauthorized payload being deployed.
Hi:
I'm trying to run composer in my before deployment to my httpd server. This is my configuration:
version: 0.0
os: linux
files:
- source: .
destination: /var/www/html/
permissions:
- object: ./build.sh
mode: 644
hooks:
BeforeInstall:
- location: ./build.sh
timeout: 300
However, I'm getting this error:
2016-06-07 22:37:20 WARN [codedeploy-agent(2469)]: InstanceAgent::Plugins::CodeDeployPlugin::HookExecutor: Script at specified location: ./build.sh is not executable. Trying to make it executable.
2016-06-07 22:37:21 INFO [codedeploy-agent(2469)]: Version file found in /opt/codedeploy-a gent/.version.
2016-06-07 22:37:21 INFO [codedeploy-agent(2469)]: [Aws::CodeDeployCommand::Client 200 0.03208 0 retries] put_host_command_complete(command_status:"Failed",diagnostics: {format:"JSON",payload:"{\"error_code\":4,\"script_name\":\"./build.sh\",\"message\":\"Script at specified location: ./build.sh failed with exit code 1\",\"log\":\"LifecycleEvent - BeforeInstall\\nScript - ./build.sh\\n[stderr]Running composer as root/super user is highly discouraged as packages, plugins and scripts cannot always be trusted\\n[stderr]Composer could not find a composer.json file in /opt/codedeploy-agent\\n[stderr]To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ \\\"Getting Started\\\" section\\n[stderr]sudo: vendor/bin/phing: command not found\\n\"}"},host_command_identifier:"WyJjb20uYW1hem9uLmFwb2xsby5kZXBsb3ljb250cm9sLm RvbWFpbi5Ib3N0Q29tbWFuZElkZW50aWZpZXIiLHsiZGVwbG95bWVudElkIjoiQ29kZURlcGxveS91c y13ZXN0LTIvUHJvZC9hcm46YXdzOnNkczp1cy13ZXN0LTI6ODYyODgzMjM3MDgwOmRlcGxveW1l bnQvZC1CVkwzQUxRMkciLCJob3N0SWQiOiJhcm46YXdzOmVjMjp1cy13ZXN0LTI6ODYyODgzMjM 3MDgwOmluc3RhbmNlL2ktZmE1MTk4MjEiLCJjb21tYW5kTmFtZSI6IkJlZm9yZUluc3RhbGwiLCJjb2 1tYW5kUG9zaXRpb24iOjMsImNvbW1hbmRBdHRlbXB0IjoxfV0=")
2016-06-07 22:37:21 ERROR [codedeploy-agent(2469)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Error during perform: InstanceAgent::Plugins::CodeDeployPlugin::ScriptError - Script at specified location: ./build.sh failed with exit code 1 - /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/hook_executor.rb:153:in `execute_script'
/opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/hook_executor.rb:110:in `block (2 levels) in execute'
/opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/hook_executor.rb:98:in each' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/hook_executor.rb:98:in
block in execute'
/opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/hook_executor.rb:168:in create_script_log_file_if_needed' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/hook_executor.rb:96:in
execute'
/opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_executor.rb:134:in block (3 levels) in map' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_executor.rb:125:in
each'
/opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_executor.rb:125:in block (2 levels) in map' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_executor.rb:63:in
execute_command'
/opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:132:in process_command' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:65:in
perform'
/opt/codedeploy-agent/lib/instance_agent/agent/base.rb:28:in run' /opt/codedeploy-agent/lib/instance_agent/runner/child.rb:38:in
block in run'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in with_error_handling' /opt/codedeploy-agent/lib/instance_agent/runner/child.rb:37:in
run'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:70:in block in run_with_error_handling' /opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in
with_error_handling'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:69:in run_with_error_handling' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:33:in
block in start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:22:in loop' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:22:in
start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:202:in block in spawn_child' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:200:in
fork'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:200:in spawn_child' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:192:in
block in spawn_children'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:191:in times' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:191:in
spawn_children'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:134:in start' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:37:in
block in start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:36:in fork' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:36:in
start'
/opt/codedeploy-agent/bin/codedeploy-agent:37:in block (2 levels) in <main>' /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_support.rb:130:in
call'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_support.rb:130:in execute' /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:262:in
block in call_command'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:275:in call' /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:275:in
call_command'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:69:in run' /opt/codedeploy-agent/bin/codedeploy-agent:84:in
This is my build.sh
#!/bin/bash
echo pwd
sudo composer install
sudo vendor/bin/phing www
I am getting the following SSL certificate error with an on-premises Windows machine:
2015-11-06 07:47:57 ERROR [codedeploy-agent(21272)]: InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControl: Error during certificate verification on codedeploy endpoint https://codedeploy-commands.eu-west-1.amazonaws.com
2015-11-06 07:47:57 DEBUG [codedeploy-agent(21272)]: InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControl: #<OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed>
2015-11-06 07:47:57 ERROR [codedeploy-agent(21272)]: Error validating the SSL configuration: Invalid server certificate
2015-11-06 07:47:57 ERROR [codedeploy-agent(21272)]: CodeDeploy Instance Agent Service: CodeDeploy Instance Agent Service: error during start or run: SystemExit - Stopping CodeDeploy agent due to SSL validation error. - c:/temp/ocr7A98.tmp/src/lib/instance_agent/plugins/codedeploy/command_poller.rb:44:in `abort'
c:/temp/ocr7A98.tmp/src/lib/instance_agent/plugins/codedeploy/command_poller.rb:44:in `validate'
To install the CodeDeploy agent, I installed the AWS CLI, copied conf.onpremises.yml to C:\ProgramData\Amazon\CodeDeploy, downloaded codedeploy-agent.msi, and ran the MSI installation.
What am I missing?
I would like the ability (or clarification on how) to exclude sub-directories and their contents in the permissions section of the appspec.yml
.
Given I have a file structure
/tmp/test
├── file1
├── folder1
└── folder2
├── file2
└── folderA
├── folderI
└── folderII
I would like to create an appspec.yml
file with the following section:
permissions:
- origin: /tmp/test
owner: user1
group: group1
exclude: [ folder2/folderA ]
mode: 644
- origin: /tmp/test/folder2/folderA
mode: 664
owner: user1
group: group1
This would set the mode for all files and folder under /tmp/test
except for those in /tmp/test/folder2/folderA
to 644, while all files and folders under /tmp/test/folder2/folderA
have a mode of 664.
Currently, when I try this I get an error saying /tmp/test/folder2/folderA/folderI
has duplicate permission setting instructions.
Hi,
If you change ":root_dir:", version 1.0-1.854 of codedeploy is looking for ".version" in the :root_dir:, but this file stays in /opt/codedeploy-agent/.version
Best regards
Please refer to this post for the issue description: https://forums.aws.amazon.com/thread.jspa?messageID=711273
Based on my reading of the code, this is what happens:
command_executor#execute_command
is called with command = DownloadBundle
.download_bundle
which performs a cleanup: https://github.com/aws/aws-codedeploy-agent/blob/master/lib/instance_agent/plugins/codedeploy/command_executor.rb#L71.:max-revisions = 0
, cleanup_old_archives
removes all the deployment directories except for the last successful one, including the newly-created one.download_from_s3
: https://github.com/aws/aws-codedeploy-agent/blob/master/lib/instance_agent/plugins/codedeploy/command_executor.rb#L207.You either need to keep track of and exclude the newly-created directory from the cleanup, or perform the cleanup before creating new directories.
After I set :max-revisions
to 2, the deployments were able to proceed.
I would appreciate a way to bypass the SSL verification check. We intercept all outbound traffic, including HTTPS for PCI reasons. Even though I have a file in /etc/profile.d
with the following contents:
export AWS_SSL_CA_DIRECTORY="/etc/ssl/certs"
export AWS_SSL_CA_BUNDLE="/etc/ssl/certs/squid-proxy.pem"
export SSL_CERT_FILE="/etc/ssl/certs/squid-proxy.pem"
On first boot, the agent still errors. It eventually starts working after failing twice.
2015-09-18 10:40:03 INFO [codedeploy-agent(4057)]: master 4057: Spawned child 1/1
2015-09-18 10:40:04 INFO [codedeploy-agent(4061)]: On Premises config file does not exist or not readable
2015-09-18 10:40:04 INFO [codedeploy-agent(4057)]: Started master 4057 with 1 children
2015-09-18 10:42:11 ERROR [codedeploy-agent(4061)]: InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControl: Error during certificate verification on codedeploy endpoint https://codedeploy-commands.us-east-1.amazonaws.com
2015-09-18 10:42:11 ERROR [codedeploy-agent(4061)]: Error validating the SSL configuration: Invalid server certificate
2015-09-18 10:42:11 ERROR [codedeploy-agent(4061)]: booting child: error during start or run: SystemExit - Stopping CodeDeploy agent due to SSL validation error. - /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:53:in `abort'
/opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:53:in `validate'
/opt/codedeploy-agent/lib/instance_agent/agent/base.rb:11:in `runner'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:31:in `block in prepare_run'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:30:in `prepare_run'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:64:in `block in prepare_run_with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:63:in `prepare_run_with_error_handling'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:20:in `start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:198:in `block in spawn_child'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:196:in `fork'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:196:in `spawn_child'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:188:in `block in spawn_children'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:187:in `times'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:187:in `spawn_children'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:133:in `start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:36:in `block in start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:35:in `fork'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:35:in `start'
/opt/codedeploy-agent/bin/codedeploy-agent:37:in `block (2 levels) in <main>'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_support.rb:130:in `call'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_support.rb:130:in `execute'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:262:in `block in call_command'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:275:in `call'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:275:in `call_command'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:69:in `run'
/opt/codedeploy-agent/bin/codedeploy-agent:84:in `<main>'
2015-09-18 10:42:11 ERROR [codedeploy-agent(4061)]: booting child: error during start or run: SystemExit - exit - /opt/codedeploy-agent/lib/instance_agent/runner/child.rb:67:in `exit'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:67:in `rescue in with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:30:in `prepare_run'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:64:in `block in prepare_run_with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:63:in `prepare_run_with_error_handling'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:20:in `start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:198:in `block in spawn_child'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:196:in `fork'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:196:in `spawn_child'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:188:in `block in spawn_children'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:187:in `times'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:187:in `spawn_children'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:133:in `start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:36:in `block in start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:35:in `fork'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:35:in `start'
/opt/codedeploy-agent/bin/codedeploy-agent:37:in `block (2 levels) in <main>'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_support.rb:130:in `call'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_support.rb:130:in `execute'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:262:in `block in call_command'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:275:in `call'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:275:in `call_command'
/opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:69:in `run'
/opt/codedeploy-agent/bin/codedeploy-agent:84:in `<main>'
2015-09-18 10:42:11 INFO [codedeploy-agent(4057)]: master 4057: Received CHLD - cleaning dead child process
2015-09-18 10:42:11 INFO [codedeploy-agent(4057)]: master 4057: been told to replace child 4061
2015-09-18 10:42:11 INFO [codedeploy-agent(4057)]: master 4057: not enough child processes running - missing at least 1 - respawning
2015-09-18 10:42:16 INFO [codedeploy-agent(4057)]: master 4057: Spawned child 1/1
2015-09-18 10:42:16 INFO [codedeploy-agent(4910)]: On Premises config file does not exist or not readable
2015-09-18 10:44:23 ERROR [codedeploy-agent(4910)]: InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControl: Error during certificate verification on codedeploy endpoint https://codedeploy-commands.us-east-1.amazonaws.com
2015-09-18 10:44:23 ERROR [codedeploy-agent(4910)]: Error validating the SSL configuration: Invalid server certificate
2015-09-18 10:44:23 ERROR [codedeploy-agent(4910)]: booting child: error during start or run: SystemExit - Stopping CodeDeploy agent due to SSL validation error. - /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:53:in `abort'
/opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:53:in `validate'
/opt/codedeploy-agent/lib/instance_agent/agent/base.rb:11:in `runner'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:31:in `block in prepare_run'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:30:in `prepare_run'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:64:in `block in prepare_run_with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:63:in `prepare_run_with_error_handling'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:20:in `start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:198:in `block in spawn_child'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:196:in `fork'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:196:in `spawn_child'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:275:in `block (2 levels) in replace_terminated_children'
/opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `call'
/opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
2015-09-18 10:44:23 ERROR [codedeploy-agent(4910)]: booting child: error during start or run: SystemExit - exit - /opt/codedeploy-agent/lib/instance_agent/runner/child.rb:67:in `exit'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:67:in `rescue in with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:30:in `prepare_run'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:64:in `block in prepare_run_with_error_handling'
/opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:63:in `prepare_run_with_error_handling'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:20:in `start'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:198:in `block in spawn_child'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:196:in `fork'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:196:in `spawn_child'
/opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:275:in `block (2 levels) in replace_terminated_children'
/opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `call'
/opt/codedeploy-agent/vendor/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
2015-09-18 10:44:23 INFO [codedeploy-agent(4057)]: master 4057: Received CHLD - cleaning dead child process
2015-09-18 10:44:23 INFO [codedeploy-agent(4057)]: master 4057: been told to replace child 4910
2015-09-18 10:44:23 INFO [codedeploy-agent(4057)]: master 4057: not enough child processes running - missing at least 1 - respawning
2015-09-18 10:44:28 INFO [codedeploy-agent(4057)]: master 4057: Spawned child 1/1
2015-09-18 10:44:28 INFO [codedeploy-agent(4920)]: On Premises config file does not exist or not readable
2015-09-18 10:46:00 INFO [codedeploy-agent(4920)]: [Aws::CodeDeployCommand::Client 200 60.940396 0 retries] poll_host_command(host_identifier:"arn:aws:ec2:us-east-1:999999999999:instance/i-bbbbbbbb")
Is there a way to fix this or bypass the SSL check completely?
I'm not sure if this is the where I should be filing this issue but I've been getting an uninitialized constant Zip::File
error during the DownloadBundle
event when trying to do a deploy from a .zip file through CodeDeploy. I'm able to successfully deploy from a .tar.gz file without issue...as well as deploy directly through github directly.
I'm trying to use a Jenkins/AWS CodeDeploy plugin that compresses to a .zip before uploading to s3, otherwise I'd just use .tar.gz.
Hi,
Is there a native way to purge this directory ?
If no how are you managing it ? (post-action or via logrotate or ... ?)
Best regards,
Whenever I run "service codedeploy-agent start", I am given the usage of the command. The agent never starts. What other information do you need from me?
prod-app-1 i-XXXXXX ubuntu ~ $ cat /etc/init.d/codedeploy-agent
#!/bin/bash -ex
# Init file for codedeploy-agent
#
# chkconfig: 2345 98 02
# description: codedeploy-agent processes the deployments created by AWS CodeDeploy and installs \
# the deployment artifacts on to this instance.
### BEGIN INIT INFO
# Provides: codedeploy-agent
# Required-Start: $all
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: AWS CodeDeploy Host Agent
# Description: codedeploy-agent processes the deployments created by AWS CodeDeploy and installs
# the deployment artifacts on to this instance.
### END INIT INFO
RETVAL=0
[ -f /etc/profile ] && [ "`stat --format '%U %G' /etc/profile`" == "root root" ] && source /etc/profile
prog="codedeploy-agent"
AGENT_ROOT="/opt/codedeploy-agent/"
INSTALLER="/opt/codedeploy-agent/bin/install"
BIN="/opt/codedeploy-agent/bin/codedeploy-agent"
start() {
echo -n $"Starting $prog:"
cd $AGENT_ROOT
nohup $BIN start >/dev/null </dev/null 2>&1 # Try to start the server
exit $?
}
stop() {
echo -n $"Stopping $prog:"
cd $AGENT_ROOT
nohup $BIN stop >/dev/null </dev/null 2>&1 # Try to stop the server
exit $?
}
restart() {
echo -n $"Restarting $prog:"
cd $AGENT_ROOT
nohup $BIN restart >/dev/null </dev/null 2>&1 # Try to restart the server
exit $?
}
status() {
cd $AGENT_ROOT
$BIN status # Status of the server
exit $?
}
update() {
echo -n $"Updating $prog:"
cd $AGENT_ROOT
$INSTALLER auto #Update the agent
}
case "$1" in
start)
start
;;
start-no-update)
start
;;
start-with-update)
update
start
;;
stop)
stop
;;
restart)
restart
;;
force-reload)
stop
start
;;
status)
status
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
esac
prod-app-1 i-XXXXXXX ubuntu ~ $ sudo service codedeploy-agent start
+ RETVAL=0
+ '[' -f /etc/profile ']'
++ stat --format '%U %G' /etc/profile
+ '[' 'root root' == 'root root' ']'
+ source /etc/profile
++ '[' '' ']'
++ '[' -d /etc/profile.d ']'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/bash_completion.sh ']'
++ . /etc/profile.d/bash_completion.sh
+++ '[' -n '4.3.11(1)-release' -a -n '' -a -z '' ']'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/nvm.sh ']'
++ . /etc/profile.d/nvm.sh
+++ . /usr/local/src/nvm/nvm.sh
++++ NVM_SCRIPT_SOURCE=']'
++++ '[' -z '' ']'
++++ export NVM_CD_FLAGS=
++++ NVM_CD_FLAGS=
++++ nvm_has unsetopt
++++ type unsetopt
++++ '[' -z '' ']'
++++ '[' -n /usr/local/src/nvm/nvm.sh ']'
++++ NVM_SCRIPT_SOURCE=/usr/local/src/nvm/nvm.sh
++++++ dirname /usr/local/src/nvm/nvm.sh
+++++ cd /usr/local/src/nvm
+++++ pwd
++++ NVM_DIR=/usr/local/src/nvm
++++ export NVM_DIR
++++ unset NVM_SCRIPT_SOURCE
++++ '[' -z '' ']'
++++ export NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist
++++ NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist
++++ '[' -z '' ']'
++++ export NVM_IOJS_ORG_MIRROR=https://iojs.org/dist
++++ NVM_IOJS_ORG_MIRROR=https://iojs.org/dist
++++ NVM_AUTO_MODE=use
++++ nvm_supports_source_options
+++++ echo '[ $# -gt 0 ] && echo $1'
+++++ . /dev/stdin yes
++++ '[' _yes = _yes ']'
++++ '[' 1 -ne 0 ']'
++++ case "$1" in
++++ shift
++++ '[' 0 -ne 0 ']'
++++ nvm_auto use
++++ local NVM_MODE
++++ NVM_MODE=use
++++ local VERSION
++++ '[' _use = _install ']'
++++ '[' _use = _use ']'
+++++ nvm_alias default
++++ VERSION=v0.12.7
++++ '[' -n v0.12.7 ']'
++++ nvm use --silent v0.12.7
++++ '[' 3 -lt 1 ']'
++++ local GREP_OPTIONS
++++ GREP_OPTIONS=
++++ local VERSION
++++ local ADDITIONAL_PARAMETERS
++++ local ALIAS
++++ case $1 in
++++ local PROVIDED_VERSION
++++ local NVM_USE_SILENT
++++ NVM_USE_SILENT=0
++++ local NVM_DELETE_PREFIX
++++ NVM_DELETE_PREFIX=0
++++ shift
++++ '[' 2 -ne 0 ']'
++++ case "$1" in
++++ NVM_USE_SILENT=1
++++ shift
++++ '[' 1 -ne 0 ']'
++++ case "$1" in
++++ '[' -n v0.12.7 ']'
++++ PROVIDED_VERSION=v0.12.7
++++ shift
++++ '[' 0 -ne 0 ']'
++++ '[' -z v0.12.7 ']'
+++++ nvm_match_version v0.12.7
+++++ local NVM_IOJS_PREFIX
++++++ nvm_iojs_prefix
++++++ echo iojs
+++++ NVM_IOJS_PREFIX=iojs
+++++ local PROVIDED_VERSION
+++++ PROVIDED_VERSION=v0.12.7
+++++ case "_$PROVIDED_VERSION" in
+++++ nvm_version v0.12.7
+++++ local PATTERN
+++++ PATTERN=v0.12.7
+++++ local VERSION
+++++ '[' -z v0.12.7 ']'
+++++ '[' v0.12.7 = current ']'
+++++ local NVM_NODE_PREFIX
++++++ nvm_node_prefix
++++++ echo node
+++++ NVM_NODE_PREFIX=node
+++++ case "_$PATTERN" in
++++++ nvm_ls v0.12.7
++++++ command tail -n1
++++++ local PATTERN
++++++ PATTERN=v0.12.7
++++++ local VERSIONS
++++++ VERSIONS=
++++++ '[' v0.12.7 = current ']'
++++++ local NVM_IOJS_PREFIX
++++++ tail -n1
+++++++ nvm_iojs_prefix
+++++++ echo iojs
++++++ NVM_IOJS_PREFIX=iojs
++++++ local NVM_NODE_PREFIX
+++++++ nvm_node_prefix
+++++++ echo node
++++++ NVM_NODE_PREFIX=node
++++++ local NVM_VERSION_DIR_IOJS
+++++++ nvm_version_dir iojs
+++++++ local NVM_WHICH_DIR
+++++++ NVM_WHICH_DIR=iojs
+++++++ '[' -z iojs ']'
+++++++ '[' _iojs = _new ']'
+++++++ '[' _iojs = _iojs ']'
+++++++ echo /usr/local/src/nvm/versions/io.js
++++++ NVM_VERSION_DIR_IOJS=/usr/local/src/nvm/versions/io.js
++++++ local NVM_VERSION_DIR_NEW
+++++++ nvm_version_dir new
+++++++ local NVM_WHICH_DIR
+++++++ NVM_WHICH_DIR=new
+++++++ '[' -z new ']'
+++++++ '[' _new = _new ']'
+++++++ echo /usr/local/src/nvm/versions/node
++++++ NVM_VERSION_DIR_NEW=/usr/local/src/nvm/versions/node
++++++ local NVM_VERSION_DIR_OLD
+++++++ nvm_version_dir old
+++++++ local NVM_WHICH_DIR
+++++++ NVM_WHICH_DIR=old
+++++++ '[' -z old ']'
+++++++ '[' _old = _new ']'
+++++++ '[' _old = _iojs ']'
+++++++ '[' _old = _old ']'
+++++++ echo /usr/local/src/nvm
++++++ NVM_VERSION_DIR_OLD=/usr/local/src/nvm
++++++ case "$PATTERN" in
++++++ nvm_resolve_local_alias v0.12.7
++++++ '[' -z v0.12.7 ']'
++++++ local VERSION
++++++ local EXIT_CODE
+++++++ nvm_resolve_alias v0.12.7
+++++++ '[' -z v0.12.7 ']'
+++++++ local PATTERN
+++++++ PATTERN=v0.12.7
+++++++ local ALIAS
+++++++ ALIAS=v0.12.7
+++++++ local ALIAS_TEMP
+++++++ local SEEN_ALIASES
+++++++ SEEN_ALIASES=v0.12.7
+++++++ true
++++++++ nvm_alias v0.12.7
+++++++ ALIAS_TEMP=
+++++++ '[' -z '' ']'
+++++++ break
+++++++ '[' -n v0.12.7 ']'
+++++++ '[' _v0.12.7 '!=' _v0.12.7 ']'
+++++++ nvm_validate_implicit_alias v0.12.7
+++++++ return 2
++++++ VERSION=
++++++ EXIT_CODE=2
++++++ '[' -z '' ']'
++++++ return 2
+++++++ nvm_ensure_version_prefix v0.12.7
+++++++ local NVM_VERSION
++++++++ nvm_strip_iojs_prefix v0.12.7
++++++++ local NVM_IOJS_PREFIX
++++++++ command sed -e 's/^\([0-9]\)/v\1/g'
++++++++ sed -e 's/^\([0-9]\)/v\1/g'
+++++++++ nvm_iojs_prefix
+++++++++ echo iojs
++++++++ NVM_IOJS_PREFIX=iojs
++++++++ '[' _v0.12.7 = _iojs ']'
++++++++ echo v0.12.7
+++++++ NVM_VERSION=v0.12.7
+++++++ nvm_is_iojs_version v0.12.7
+++++++ case "$1" in
+++++++ return 1
+++++++ echo v0.12.7
++++++ PATTERN=v0.12.7
++++++ '[' _v0.12.7 = _N/A ']'
++++++ local NVM_PATTERN_STARTS_WITH_V
++++++ case $PATTERN in
++++++ NVM_PATTERN_STARTS_WITH_V=true
++++++ '[' true = true ']'
+++++++ nvm_num_version_groups v0.12.7
+++++++ local VERSION
+++++++ VERSION=v0.12.7
+++++++ VERSION=0.12.7
+++++++ VERSION=0.12.7
+++++++ '[' -z 0.12.7 ']'
+++++++ local NVM_NUM_DOTS
++++++++ echo 0.12.7
++++++++ command sed -e 's/[^\.]//g'
++++++++ sed -e 's/[^\.]//g'
+++++++ NVM_NUM_DOTS=..
+++++++ local NVM_NUM_GROUPS
+++++++ NVM_NUM_GROUPS=...
+++++++ echo 3
++++++ '[' _3 = _3 ']'
+++++++ nvm_version_path v0.12.7
+++++++ local VERSION
+++++++ VERSION=v0.12.7
+++++++ '[' -z v0.12.7 ']'
+++++++ nvm_is_iojs_version v0.12.7
+++++++ case "$1" in
+++++++ return 1
+++++++ nvm_version_greater 0.12.0 v0.12.7
+++++++ local LHS
++++++++ nvm_normalize_version 0.12.0
++++++++ echo 0.12.0
++++++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++++ LHS=0000012000000
+++++++ local RHS
++++++++ nvm_normalize_version v0.12.7
++++++++ echo 0.12.7
++++++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++++ RHS=0000012000007
+++++++ '[' 0000012000000 -gt 0000012000007 ']'
++++++++ nvm_version_dir new
++++++++ local NVM_WHICH_DIR
++++++++ NVM_WHICH_DIR=new
++++++++ '[' -z new ']'
++++++++ '[' _new = _new ']'
++++++++ echo /usr/local/src/nvm/versions/node
+++++++ echo /usr/local/src/nvm/versions/node/v0.12.7
++++++ '[' -d /usr/local/src/nvm/versions/node/v0.12.7 ']'
++++++ VERSIONS=v0.12.7
++++++ '[' '' = true ']'
++++++ '[' -z v0.12.7 ']'
++++++ echo v0.12.7
+++++ VERSION=v0.12.7
+++++ '[' -z v0.12.7 ']'
+++++ '[' _v0.12.7 = _N/A ']'
+++++ echo v0.12.7
++++ VERSION=v0.12.7
++++ '[' -z v0.12.7 ']'
++++ '[' _v0.12.7 = _system ']'
++++ '[' _v0.12.7 = _∞ ']'
++++ nvm_ensure_version_installed v0.12.7
++++ local PROVIDED_VERSION
++++ PROVIDED_VERSION=v0.12.7
++++ local LOCAL_VERSION
++++ local EXIT_CODE
+++++ nvm_version v0.12.7
+++++ local PATTERN
+++++ PATTERN=v0.12.7
+++++ local VERSION
+++++ '[' -z v0.12.7 ']'
+++++ '[' v0.12.7 = current ']'
+++++ local NVM_NODE_PREFIX
++++++ nvm_node_prefix
++++++ echo node
+++++ NVM_NODE_PREFIX=node
+++++ case "_$PATTERN" in
++++++ nvm_ls v0.12.7
++++++ command tail -n1
++++++ local PATTERN
++++++ tail -n1
++++++ PATTERN=v0.12.7
++++++ local VERSIONS
++++++ VERSIONS=
++++++ '[' v0.12.7 = current ']'
++++++ local NVM_IOJS_PREFIX
+++++++ nvm_iojs_prefix
+++++++ echo iojs
++++++ NVM_IOJS_PREFIX=iojs
++++++ local NVM_NODE_PREFIX
+++++++ nvm_node_prefix
+++++++ echo node
++++++ NVM_NODE_PREFIX=node
++++++ local NVM_VERSION_DIR_IOJS
+++++++ nvm_version_dir iojs
+++++++ local NVM_WHICH_DIR
+++++++ NVM_WHICH_DIR=iojs
+++++++ '[' -z iojs ']'
+++++++ '[' _iojs = _new ']'
+++++++ '[' _iojs = _iojs ']'
+++++++ echo /usr/local/src/nvm/versions/io.js
++++++ NVM_VERSION_DIR_IOJS=/usr/local/src/nvm/versions/io.js
++++++ local NVM_VERSION_DIR_NEW
+++++++ nvm_version_dir new
+++++++ local NVM_WHICH_DIR
+++++++ NVM_WHICH_DIR=new
+++++++ '[' -z new ']'
+++++++ '[' _new = _new ']'
+++++++ echo /usr/local/src/nvm/versions/node
++++++ NVM_VERSION_DIR_NEW=/usr/local/src/nvm/versions/node
++++++ local NVM_VERSION_DIR_OLD
+++++++ nvm_version_dir old
+++++++ local NVM_WHICH_DIR
+++++++ NVM_WHICH_DIR=old
+++++++ '[' -z old ']'
+++++++ '[' _old = _new ']'
+++++++ '[' _old = _iojs ']'
+++++++ '[' _old = _old ']'
+++++++ echo /usr/local/src/nvm
++++++ NVM_VERSION_DIR_OLD=/usr/local/src/nvm
++++++ case "$PATTERN" in
++++++ nvm_resolve_local_alias v0.12.7
++++++ '[' -z v0.12.7 ']'
++++++ local VERSION
++++++ local EXIT_CODE
+++++++ nvm_resolve_alias v0.12.7
+++++++ '[' -z v0.12.7 ']'
+++++++ local PATTERN
+++++++ PATTERN=v0.12.7
+++++++ local ALIAS
+++++++ ALIAS=v0.12.7
+++++++ local ALIAS_TEMP
+++++++ local SEEN_ALIASES
+++++++ SEEN_ALIASES=v0.12.7
+++++++ true
++++++++ nvm_alias v0.12.7
+++++++ ALIAS_TEMP=
+++++++ '[' -z '' ']'
+++++++ break
+++++++ '[' -n v0.12.7 ']'
+++++++ '[' _v0.12.7 '!=' _v0.12.7 ']'
+++++++ nvm_validate_implicit_alias v0.12.7
+++++++ return 2
++++++ VERSION=
++++++ EXIT_CODE=2
++++++ '[' -z '' ']'
++++++ return 2
+++++++ nvm_ensure_version_prefix v0.12.7
+++++++ local NVM_VERSION
++++++++ nvm_strip_iojs_prefix v0.12.7
++++++++ command sed -e 's/^\([0-9]\)/v\1/g'
++++++++ local NVM_IOJS_PREFIX
++++++++ sed -e 's/^\([0-9]\)/v\1/g'
+++++++++ nvm_iojs_prefix
+++++++++ echo iojs
++++++++ NVM_IOJS_PREFIX=iojs
++++++++ '[' _v0.12.7 = _iojs ']'
++++++++ echo v0.12.7
+++++++ NVM_VERSION=v0.12.7
+++++++ nvm_is_iojs_version v0.12.7
+++++++ case "$1" in
+++++++ return 1
+++++++ echo v0.12.7
++++++ PATTERN=v0.12.7
++++++ '[' _v0.12.7 = _N/A ']'
++++++ local NVM_PATTERN_STARTS_WITH_V
++++++ case $PATTERN in
++++++ NVM_PATTERN_STARTS_WITH_V=true
++++++ '[' true = true ']'
+++++++ nvm_num_version_groups v0.12.7
+++++++ local VERSION
+++++++ VERSION=v0.12.7
+++++++ VERSION=0.12.7
+++++++ VERSION=0.12.7
+++++++ '[' -z 0.12.7 ']'
+++++++ local NVM_NUM_DOTS
++++++++ echo 0.12.7
++++++++ command sed -e 's/[^\.]//g'
++++++++ sed -e 's/[^\.]//g'
+++++++ NVM_NUM_DOTS=..
+++++++ local NVM_NUM_GROUPS
+++++++ NVM_NUM_GROUPS=...
+++++++ echo 3
++++++ '[' _3 = _3 ']'
+++++++ nvm_version_path v0.12.7
+++++++ local VERSION
+++++++ VERSION=v0.12.7
+++++++ '[' -z v0.12.7 ']'
+++++++ nvm_is_iojs_version v0.12.7
+++++++ case "$1" in
+++++++ return 1
+++++++ nvm_version_greater 0.12.0 v0.12.7
+++++++ local LHS
++++++++ nvm_normalize_version 0.12.0
++++++++ echo 0.12.0
++++++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++++ LHS=0000012000000
+++++++ local RHS
++++++++ nvm_normalize_version v0.12.7
++++++++ echo 0.12.7
++++++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++++ RHS=0000012000007
+++++++ '[' 0000012000000 -gt 0000012000007 ']'
++++++++ nvm_version_dir new
++++++++ local NVM_WHICH_DIR
++++++++ NVM_WHICH_DIR=new
++++++++ '[' -z new ']'
++++++++ '[' _new = _new ']'
++++++++ echo /usr/local/src/nvm/versions/node
+++++++ echo /usr/local/src/nvm/versions/node/v0.12.7
++++++ '[' -d /usr/local/src/nvm/versions/node/v0.12.7 ']'
++++++ VERSIONS=v0.12.7
++++++ '[' '' = true ']'
++++++ '[' -z v0.12.7 ']'
++++++ echo v0.12.7
+++++ VERSION=v0.12.7
+++++ '[' -z v0.12.7 ']'
+++++ '[' _v0.12.7 = _N/A ']'
+++++ echo v0.12.7
++++ LOCAL_VERSION=v0.12.7
++++ EXIT_CODE=0
++++ local NVM_VERSION_DIR
++++ '[' _0 = _0 ']'
+++++ nvm_version_path v0.12.7
+++++ local VERSION
+++++ VERSION=v0.12.7
+++++ '[' -z v0.12.7 ']'
+++++ nvm_is_iojs_version v0.12.7
+++++ case "$1" in
+++++ return 1
+++++ nvm_version_greater 0.12.0 v0.12.7
+++++ local LHS
++++++ nvm_normalize_version 0.12.0
++++++ echo 0.12.0
++++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++ LHS=0000012000000
+++++ local RHS
++++++ nvm_normalize_version v0.12.7
++++++ echo 0.12.7
++++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++ RHS=0000012000007
+++++ '[' 0000012000000 -gt 0000012000007 ']'
++++++ nvm_version_dir new
++++++ local NVM_WHICH_DIR
++++++ NVM_WHICH_DIR=new
++++++ '[' -z new ']'
++++++ '[' _new = _new ']'
++++++ echo /usr/local/src/nvm/versions/node
+++++ echo /usr/local/src/nvm/versions/node/v0.12.7
++++ NVM_VERSION_DIR=/usr/local/src/nvm/versions/node/v0.12.7
++++ '[' _0 '!=' _0 ']'
++++ '[' '!' -d /usr/local/src/nvm/versions/node/v0.12.7 ']'
++++ EXIT_CODE=0
++++ '[' 0 '!=' 0 ']'
++++ local NVM_VERSION_DIR
+++++ nvm_version_path v0.12.7
+++++ local VERSION
+++++ VERSION=v0.12.7
+++++ '[' -z v0.12.7 ']'
+++++ nvm_is_iojs_version v0.12.7
+++++ case "$1" in
+++++ return 1
+++++ nvm_version_greater 0.12.0 v0.12.7
+++++ local LHS
++++++ nvm_normalize_version 0.12.0
++++++ echo 0.12.0
++++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++ LHS=0000012000000
+++++ local RHS
++++++ nvm_normalize_version v0.12.7
++++++ echo 0.12.7
++++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++ RHS=0000012000007
+++++ '[' 0000012000000 -gt 0000012000007 ']'
++++++ nvm_version_dir new
++++++ local NVM_WHICH_DIR
++++++ NVM_WHICH_DIR=new
++++++ '[' -z new ']'
++++++ '[' _new = _new ']'
++++++ echo /usr/local/src/nvm/versions/node
+++++ echo /usr/local/src/nvm/versions/node/v0.12.7
++++ NVM_VERSION_DIR=/usr/local/src/nvm/versions/node/v0.12.7
+++++ nvm_strip_path /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin
+++++ echo /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++++ command sed -e 's#/usr/local/src/nvm/[^/]*/bin[^:]*:##g' -e 's#:/usr/local/src/nvm/[^/]*/bin[^:]*##g' -e 's#/usr/local/src/nvm/[^/]*/bin[^:]*##g' -e 's#/usr/local/src/nvm/versions/[^/]*/[^/]*/bin[^:]*:##g' -e 's#:/usr/local/src/nvm/versions/[^/]*/[^/]*/bin[^:]*##g' -e 's#/usr/local/src/nvm/versions/[^/]*/[^/]*/bin[^:]*##g'
+++++ sed -e 's#/usr/local/src/nvm/[^/]*/bin[^:]*:##g' -e 's#:/usr/local/src/nvm/[^/]*/bin[^:]*##g' -e 's#/usr/local/src/nvm/[^/]*/bin[^:]*##g' -e 's#/usr/local/src/nvm/versions/[^/]*/[^/]*/bin[^:]*:##g' -e 's#:/usr/local/src/nvm/versions/[^/]*/[^/]*/bin[^:]*##g' -e 's#/usr/local/src/nvm/versions/[^/]*/[^/]*/bin[^:]*##g'
++++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++++ nvm_prepend_path /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/local/src/nvm/versions/node/v0.12.7/bin
+++++ '[' -z /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ']'
+++++ echo /usr/local/src/nvm/versions/node/v0.12.7/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++++ PATH=/usr/local/src/nvm/versions/node/v0.12.7/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++++ nvm_has manpath
++++ type manpath
++++ '[' -z '' ']'
+++++ manpath
++++ MANPATH=/usr/local/src/nvm/versions/node/v0.12.7/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man
+++++ nvm_strip_path /usr/local/src/nvm/versions/node/v0.12.7/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man /share/man
+++++ echo /usr/local/src/nvm/versions/node/v0.12.7/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man
+++++ command sed -e 's#/usr/local/src/nvm/[^/]*/share/man[^:]*:##g' -e 's#:/usr/local/src/nvm/[^/]*/share/man[^:]*##g' -e 's#/usr/local/src/nvm/[^/]*/share/man[^:]*##g' -e 's#/usr/local/src/nvm/versions/[^/]*/[^/]*/share/man[^:]*:##g' -e 's#:/usr/local/src/nvm/versions/[^/]*/[^/]*/share/man[^:]*##g' -e 's#/usr/local/src/nvm/versions/[^/]*/[^/]*/share/man[^:]*##g'
+++++ sed -e 's#/usr/local/src/nvm/[^/]*/share/man[^:]*:##g' -e 's#:/usr/local/src/nvm/[^/]*/share/man[^:]*##g' -e 's#/usr/local/src/nvm/[^/]*/share/man[^:]*##g' -e 's#/usr/local/src/nvm/versions/[^/]*/[^/]*/share/man[^:]*:##g' -e 's#:/usr/local/src/nvm/versions/[^/]*/[^/]*/share/man[^:]*##g' -e 's#/usr/local/src/nvm/versions/[^/]*/[^/]*/share/man[^:]*##g'
++++ MANPATH=/usr/local/man:/usr/local/share/man:/usr/share/man
+++++ nvm_prepend_path /usr/local/man:/usr/local/share/man:/usr/share/man /usr/local/src/nvm/versions/node/v0.12.7/share/man
+++++ '[' -z /usr/local/man:/usr/local/share/man:/usr/share/man ']'
+++++ echo /usr/local/src/nvm/versions/node/v0.12.7/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man
++++ MANPATH=/usr/local/src/nvm/versions/node/v0.12.7/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man
++++ export MANPATH
++++ export PATH
++++ hash -r
++++ export NVM_PATH=/usr/local/src/nvm/versions/node/v0.12.7/lib/node
++++ NVM_PATH=/usr/local/src/nvm/versions/node/v0.12.7/lib/node
++++ export NVM_BIN=/usr/local/src/nvm/versions/node/v0.12.7/bin
++++ NVM_BIN=/usr/local/src/nvm/versions/node/v0.12.7/bin
++++ '[' '' = true ']'
++++ local NVM_USE_OUTPUT
++++ '[' 1 -ne 1 ']'
++++ '[' _v0.12.7 '!=' _system ']'
++++ local NVM_USE_CMD
++++ NVM_USE_CMD='nvm use --delete-prefix'
++++ '[' -n v0.12.7 ']'
++++ NVM_USE_CMD='nvm use --delete-prefix v0.12.7'
++++ '[' 1 -eq 1 ']'
++++ NVM_USE_CMD='nvm use --delete-prefix v0.12.7 --silent'
++++ nvm_die_on_prefix 0 'nvm use --delete-prefix v0.12.7 --silent'
++++ local NVM_DELETE_PREFIX
++++ NVM_DELETE_PREFIX=0
++++ case "$NVM_DELETE_PREFIX" in
++++ local NVM_COMMAND
++++ NVM_COMMAND='nvm use --delete-prefix v0.12.7 --silent'
++++ '[' -z 'nvm use --delete-prefix v0.12.7 --silent' ']'
++++ '[' -n '' ']'
++++ '[' -n '' ']'
++++ nvm_has npm
++++ type npm
++++ local NVM_NPM_PREFIX
+++++ NPM_CONFIG_LOGLEVEL=warn
+++++ npm config get prefix
++++ NVM_NPM_PREFIX=/usr/local/src/nvm/versions/node/v0.12.7
++++ nvm_tree_contains_path /usr/local/src/nvm /usr/local/src/nvm/versions/node/v0.12.7
++++ '[' -n '' ']'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/vte.sh ']'
++ . /etc/profile.d/vte.sh
+++ '[' -n '4.3.11(1)-release' -o -n '' ']'
+++ [[ ehxB == *i* ]]
+++ return 0
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/Z97-byobu.sh ']'
++ . /etc/profile.d/Z97-byobu.sh
+++ '[' -n '' ']'
+++ '[' '' = byobu ']'
+++ '[' '' = byobu-screen ']'
+++ '[' '' = byobu-tmux ']'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/Z99-cloud-locale-test.sh ']'
++ . /etc/profile.d/Z99-cloud-locale-test.sh
+++ '[' -f /root/.cloud-locale-test.skip -o -f /var/lib/cloud/instance/locale-check.skip ']'
+++ locale
+++ locale_warn
+++ local bad_names= bad_lcs= key= val= var= vars=
+++ local w1 w2 w3 w4 remain
+++ '[' '' = zsh ']'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LANG
+++ val=en_US.UTF-8
+++ val=en_US.UTF-8
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LANGUAGE
+++ val=
+++ val=
+++ val=
+++ vars=' LANG=en_US.UTF-8 LANGUAGE='
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_CTYPE
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_NUMERIC
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_TIME
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_COLLATE
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_MONETARY
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_MESSAGES
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_PAPER
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_NAME
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_ADDRESS
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_TELEPHONE
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_MEASUREMENT
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_IDENTIFICATION
+++ val='"en_US.UTF-8"'
+++ val='en_US.UTF-8"'
+++ val=en_US.UTF-8
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8'
+++ read -r w1 w2 w3 w4 remain
+++ case "$w1" in
+++ key=LC_ALL
+++ val=
+++ val=
+++ val=
+++ vars=' LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 LC_ALL='
+++ read -r w1 w2 w3 w4 remain
+++ bad_lcs=
+++ '[' -n '' ']'
+++ return 0
+++ unset locale_warn
++ unset i
+ prog=codedeploy-agent
+ AGENT_ROOT=/opt/codedeploy-agent/
+ INSTALLER=/opt/codedeploy-agent/bin/install
+ BIN=/opt/codedeploy-agent/bin/codedeploy-agent
+ case "$1" in
+ echo 'Usage: /etc/init.d/codedeploy-agent {start|stop|status|restart}'
Usage: /etc/init.d/codedeploy-agent {start|stop|status|restart}
prod-app-1 i-XXXXXXX ubuntu ~ $
why was this not done via cloudformation in the first place??
I use Codedeploy to kick off a few things, one of which is a Chef solo run.
Tailing /var/log/aws/codedeploy-agent/codedeploy-agent.log reveals almost nothing of value, certainly none of the copious logs from performing the Chef run.
Suggestion: Make it very clear where the log for each Codedeploy deployment goes, and have that log include all output from its child tasks (such as Chef runs, in this case).
If there was some reason why providing visibility into what Codedeploy is doing was intentionally left out, and it will take a significant effort to add it back in, please make it known.
Thanks.
Hello Guys,
Just setup the codedeploy, and triggered the deploy via Github.
I completed all the pre-requisite steps. I make a new commit to the repo and i can see new deployment being triggered in CodeDeploy console under deployments.
It always fails at "DownloadBundle" stage. The error message is this:
Could not download bundle at 'https://api.github.com/repos/my_org_name/my_repo_name/tarball/commit_id' after 3 retries. Server returned codes: 404 'Not Found'; 404 'Not Found'; 404 'Not Found'; 404 'Not Found'.
Looks like the URL that the agent creates for downloading the tarball of the comitt does not exist. I tried the same URL directly in browser and i still get 404 error.
But it does work, if I change the URL to this format:
https://github.com/my_org_name/my_repo_name/tarball/commit_id
Any help will be appreciated, as i can not find anything regarding this under CodeDeploy manual.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.