dignoe / whenever-elasticbeanstalk

Allows you to run cron jobs easily on one or all AWS Elastic Beanstalk instances.
MIT License
48 stars 35 forks source link

Command create_cron_leader failed #23

Open max-konin opened 9 years ago

max-konin commented 9 years ago

eb-activity.log:

2.2.2/lib/ruby/gems/2.2.0/gems/whenever-elasticbeanstalk-1.1.6/bin/create_cron_leader:10:in `join': no implicit conversion of nil into String (TypeError)
  from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/whenever-elasticbeanstalk-1.1.6/bin/create_cron_leader:10:in `<top (required)>'
  from /opt/rubies/ruby-2.2.2/bin/create_cron_leader:23:in `load'
  from /opt/rubies/ruby-2.2.2/bin/create_cron_leader:23:in `<main>'
   (ElasticBeanstalk::ExternalInvocationError)
CyborgMaster commented 9 years ago

I've got the same error. Any ideas for this?

max-konin commented 9 years ago

I decided to give up whenever)

timscott commented 8 years ago

Same issue here. I guess EB_CONFIG_APP_SUPPORT env variable is not. Are we meant to set it somehwhere?

CyborgMaster commented 8 years ago

I have a fork that I believe solves this problem.

timscott commented 8 years ago

@CyborgMaster - Tried your fork. Same error:

[2015-12-09T15:22:45.002Z] ERROR [31113] : Command execution failed: Activity failed. (ElasticBeanstalk::ActivityFatalError)
caused by: /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/bundler/gems/whenever-elasticbeanstalk-a45abb5b2ff3/bin/create_cron_leader:10:in `join': no implicit conversion of nil into String (TypeError)
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/bundler/gems/whenever-elasticbeanstalk-a45abb5b2ff3/bin/create_cron_leader:10:in `<top (required)>'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/bin/create_cron_leader:23:in `load'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/bin/create_cron_leader:23:in `<main>'
   (ElasticBeanstalk::ExternalInvocationError)
CyborgMaster commented 8 years ago

@timscott Did you use the elastic beanstalk config yaml file there? It had to be changed substantially.

timscott commented 8 years ago

@CyborgMaster - No I hadn't. However, after I regenerated cron.config with wheneverize-eb . I get the same error.

I noticed what I thought was the problem. This line expects EB_CONFIG_APP_SUPPORT, but here you set EB_CONFIG_SUPPORT. However, I changed the config file to set EB_CONFIG_APP_SUPPORT, and I still get the same error.

CyborgMaster commented 8 years ago

Looks like you were looking at the wrong branch. My pull request comes off of the remove-aws-sdk-2 branch. On that branch the variable is set here. I based my changes on someone else work and was trying to get him credit by merging my tweaks with his and letting him make the pull request back into the main repo, but he never merged my stuff. I'll make a pull request to the main repo now.

timscott commented 8 years ago

Okay switched that branch. Now I get this. Not sure what to make of it.

[2015-12-09T17:06:23.125Z] INFO  [20800] - [Application update/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_shobot/Command cron_01_set_leader] : Activity execution failed, because: su: warning: cannot change directory to /home/webapp: No such file or directory
  /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/source/git.rb:192:in `rescue in load_spec_files': git://github.com/CyborgMaster/whenever-elasticbeanstalk.git (at remove-aws-sdk-2) is not yet checked out. Run `bundle install` first. (Bundler::GitError)
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/source/git.rb:189:in `load_spec_files'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/source/path.rb:92:in `local_specs'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/source/git.rb:159:in `specs'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/lazy_specification.rb:53:in `__materialize__'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/spec_set.rb:88:in `block in materialize'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/spec_set.rb:85:in `map!'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/spec_set.rb:85:in `materialize'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/definition.rb:132:in `specs'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/definition.rb:177:in `specs_for'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/definition.rb:166:in `requested_specs'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/environment.rb:18:in `requested_specs'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/runtime.rb:13:in `setup'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler.rb:122:in `setup'
  from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/lib/bundler/setup.rb:18:in `<top (required)>'
  from /opt/rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
  from /opt/rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
   (ElasticBeanstalk::ExternalInvocationError)
CyborgMaster commented 8 years ago

Looks like you haven't installed the gem from my branch yet...

timscott commented 8 years ago

@CyborgMaster - From my Gemfile.lock:

  remote: git://github.com/CyborgMaster/whenever-elasticbeanstalk.git
  revision: 13d556186ecc1486aa2dbeadfa3e118563c2f473
  branch: remove-aws-sdk-2
  specs:
    whenever-elasticbeanstalk (1.1.6)
      aws-sdk-v1 (>= 1.50.0)
      whenever (~> 0.9.2)
CyborgMaster commented 8 years ago

@timscott, looks right. Don't know anything about that specific error. Seems like a weird interaction with bundler and git. Have you installed any other gems from github? You need to modify your config files to enable that.

ghost commented 8 years ago

thanks @CyborgMaster ... your scripts worked for me!

@timscott I used the ssh link to the github repository and it worked. Also you need to make sure that the correct cron.config file is deployed to the instance. check the source file @CyborgMaster shared and verify it

CyborgMaster commented 8 years ago

@nkaviani, oh good. It seemed like a few people had tried to use my stuff and it wasn't working. I'm glad to see it helped someone.

karluiz commented 8 years ago

thanks! @CyborgMaster