Commit Graph

201 Commits

Author SHA1 Message Date
R. Tyler Croy 47c8d72243 Merge pull request #84 from cloudbees/master
Don't force port 22 if the port is not set.
2013-12-11 10:49:09 -08:00
Kohsuke Kawaguchi 14ff83390e Don't force port 22 if the port is not set.
In this way ~/.ssh/config can take effect
2013-09-27 09:48:12 -07:00
R. Tyler Croy eb20ba42aa Merge pull request #83 from cloudbees/master
Only import the keypair if it doesn't exist
2013-08-15 15:41:12 -07:00
Ryan Campbell 2caf7508ee Only import the keypair if it doesn't exist 2013-08-15 15:36:53 -07:00
R. Tyler Croy 2d2c711bfc Merge pull request #82 from cloudbees/master
Adds a new box type 'existing'
2013-07-03 16:37:25 -07:00
Kohsuke Kawaguchi 3fea6848ce differentiating host and name as host can contain dots and other possibly nasty characters 2013-07-03 16:19:27 -07:00
Kohsuke Kawaguchi 45fd43107c Added a new box type 'existing'
This box type is useful for controlling existing non-cloud machines
under blimpy
2013-07-02 21:22:04 -07:00
R. Tyler Croy 4f4bc39850 Expose the resume functionality through a specific CLI command
Fixes #57
2013-06-30 20:55:36 -07:00
R. Tyler Croy 302e0ea555 Sanitize hostnames for keypairs
Fixes #76
2013-06-30 20:44:07 -07:00
R. Tyler Croy 613cae868f Bump the version for another release, woo 2013-05-17 14:30:36 -07:00
R. Tyler Croy 27ff9d29aa Merge pull request #79 from jblaine/master
Use Puppetlabs repo site, not gems
2013-04-26 10:02:10 -07:00
Jeff Blaine e6f171b3bb Use Puppetlabs repo site, not gems
Tested with "precise" 12.x ships, should adapt to any Ubuntu
on its own. Targets Puppet 2.7.* as the gem install used to.
2013-04-25 22:18:23 +00:00
Jeff Blaine 5535fc09c6 Intro .provision_on_start flag for ships
Allows control over when the livery provisioning happens for
ships. This was needed because sometimes we don't want to
provision (Puppet) until all ships are up and we know their
hostnames in AWS, etc.
2013-04-25 22:11:53 +00:00
Jeff Blaine 8494a4b66b Intro the show command for future details (tags for now) 2013-04-25 22:04:57 +00:00
R. Tyler Croy bf307f6df8 Merge pull request #75 from cloudbees/master
Reverting wait_for_ssh command
2013-03-29 17:35:05 -07:00
Kohsuke Kawaguchi 6d1e587092 Revert "Fixing the unit test failure"
This reverts commit 8827307296.
2013-03-29 17:02:33 -07:00
Kohsuke Kawaguchi c3fe15ff2c Revisiting 8b3800894c
(04:25:26 PM) rtyler: kohsuke: so `blimpy ssh` is going to return immediately now?
(04:25:41 PM) kohsuke: yes, it fails if ssh fails
(04:26:09 PM) ***rtyler is a bit confused
(04:26:14 PM) rtyler: this seems like a big UX change then
(04:26:21 PM) ***rtyler should read more carefully
(04:27:13 PM) kohsuke: Yes, modifying a test case made me wonder if there's a better way to do it
(04:28:00 PM) kohsuke: (though in practice you wouldn't see any change as "blimpy provision" does wait for ssh to come online)
(04:28:13 PM) rtyler: but a `blimpy ssh` won't log me into the machine?
(04:28:51 PM) kohsuke: I think just reporting ">> Connecting: SHIPNAME..." if the first attempt fails would be sufficient
(04:29:25 PM) kohsuke: The "gotcha" that made me write that patch is that my first attempt to use blimpy failed miserably at "blimpy ssh"
(04:29:51 PM) kohsuke: because it was trying a wrong user name, and I couldn't Ctrl+C it because of another bug that since then I fixed
(04:30:11 PM) rtyler: with aws and openstack it connects multiple times, usually the machine isn't accepting ssh connections right away
(04:30:14 PM) rtyler: especially on a fresh image
(04:30:25 PM) kohsuke: yes, I understand why you wrote it the way you did the first place
(04:31:17 PM) rtyler: heh
(04:31:21 PM) rtyler: alright
(04:32:05 PM) kohsuke: Let me change it to ">> Connecting: user@SHIPNAME:port" with dots added over time,
(04:32:15 PM) kohsuke: and if it's killed by SIGINT I'll run ssh one last time but without -q
(04:32:22 PM) kohsuke: so you see the error message
(04:32:41 PM) kohsuke: does that sound OK to you?
(04:34:30 PM) rtyler: that does sound good

It turns out some mode of failure includes ssh hanging (such as trying a
wrong port), so silently re-running SSH again wasn't very wise. Instead,
show the command line needed to let the user run the ssh command by
himself.
2013-03-29 16:59:43 -07:00
R. Tyler Croy cf15db8eb9 Merge pull request #74 from cloudbees/master
Fixed the test regression and then some
2013-03-29 16:25:51 -07:00
Kohsuke Kawaguchi a62c24afe2 If Blimpfile is invalid, report why 2013-03-29 16:15:41 -07:00
Kohsuke Kawaguchi 8827307296 Fixing the unit test failure
Since these tests do not use any livery, explicit wait_for_ssh command
is required
2013-03-29 16:15:41 -07:00
Kohsuke Kawaguchi 2edd265e92 Fixed a system/local conflict problem
If blimpy gem is already installed, this ends up picking blimpy from the installed gem, as opposed to the local workspace.
2013-03-29 16:15:41 -07:00
Kohsuke Kawaguchi cd1ebc211d Making it work again with fog 1.10
in 1.9, the original code was sufficient, but 1.10 has a massive
refactoring in the way of registering providers. Unless at least one
provider is registered, the providers hash is empty, and it causes
an exception like the following:

/var/lib/gems/1.8/gems/fog-1.10.0/lib/fog/compute.rb:39:in `new': undefined method `include?' for nil:NilClass (NoMethodError)
    from /home/kohsuke/ws/cloudbees/blimpy/lib/blimpy/boxes/aws.rb:39:in `fog'
    from /home/kohsuke/ws/cloudbees/blimpy/lib/blimpy/boxes/aws.rb:32:in `validate!'
    from /home/kohsuke/ws/cloudbees/blimpy/lib/blimpy/fleet.rb:110:in `start'
    from /home/kohsuke/ws/cloudbees/blimpy/lib/blimpy/fleet.rb:109:in `each'
    from /home/kohsuke/ws/cloudbees/blimpy/lib/blimpy/fleet.rb:109:in `start'
    from /home/kohsuke/ws/cloudbees/blimpy/lib/blimpy/cli.rb:73:in `start'
    from /var/lib/gems/1.8/gems/thor-0.18.0/lib/thor/command.rb:27:in `__send__'
    from /var/lib/gems/1.8/gems/thor-0.18.0/lib/thor/command.rb:27:in `run'
    from /var/lib/gems/1.8/gems/thor-0.18.0/lib/thor/invocation.rb:120:in `invoke_command'
    from /var/lib/gems/1.8/gems/thor-0.18.0/lib/thor.rb:363:in `dispatch'
    from /var/lib/gems/1.8/gems/thor-0.18.0/lib/thor/base.rb:427:in `start'
    from /home/kohsuke/ws/cloudbees/blimpy/bin/blimpy:24

By forcing the registration of a provider, it works against with fog
1.10. Looking at the source tree, this change should also work with fog
1.9.
2013-03-29 16:13:37 -07:00
Kohsuke Kawaguchi de4830fc40 SSH returns 255 for connection refused errors.
So limiting the range down a bit.
2013-03-29 15:46:17 -07:00
Kohsuke Kawaguchi a02491ddd6 only works with Ruby 1.9+ 2013-03-29 14:51:01 -07:00
Kohsuke Kawaguchi 1ef4ad00a5 Adding multi-file scp 2013-03-29 14:50:46 -07:00
R. Tyler Croy 18dac0cb0e Merge pull request #73 from cloudbees/master
Bunch O changes
2013-03-29 14:37:48 -07:00
Kohsuke Kawaguchi 86c8bf278b debugger gem only works with 1.9 and forward 2013-03-27 18:32:33 -07:00
Kohsuke Kawaguchi 43a9bcf78c support a non-standard SSH port 2013-03-27 18:32:33 -07:00
Kohsuke Kawaguchi 04993ecb19 don't waste a line if there's no need to
Blimpy prints unnecessary empty line if the SSH connection goes through
fast enough. Don't do it.
2013-03-26 14:23:12 -07:00
Kohsuke Kawaguchi 85b2ceb8f1 allow monkey-patching of Blimpy by the project (mainly to add more commands) 2013-03-26 14:21:28 -07:00
Kohsuke Kawaguchi 462416616b function like this touching ARGV is abstraction violation, as it prevents other driver code from legitimately launching interactive shell.
Better to let the calling command handle this
2013-03-26 14:21:28 -07:00
Kohsuke Kawaguchi 8b3800894c Forcing ssh_wait is considered harmful.
1. If your Blimpfile is misconfigured, you'll not get any diagnostics information.
2. When you press Ctrl+C, blimpy doesn't exit because it's just ssh getting killed (and blimp ignores that)

There appears to be no provision for handling options, so I just made it a separate command
2013-03-26 14:21:28 -07:00
R. Tyler Croy 9eb01a5d30 Use the debugger gem which actually works on 1.9 2013-02-19 12:39:32 -08:00
R. Tyler Croy 1144d1670e Merge pull request #71 from jblaine/master
Serialize ship.tags to state file, mention ship.tags in README
2013-02-07 01:50:18 -08:00
Jeff Blaine 8df9fbcde9 Expose ship.tags in README
Found in the code that I could set this to alter EC2 tags
2013-02-06 20:48:01 +00:00
Jeff Blaine a0e05662ee Serialize :tags to state file
Should be harmless, and I'm looking to use it.
2013-02-06 20:46:24 +00:00
R. Tyler Croy c5aaab604e Merge pull request #66 from jblaine/patch-2
Expose box.name as environ var. to script
2012-12-29 13:02:28 -08:00
R. Tyler Croy d59d7d5909 Merge pull request #67 from jblaine/patch-3
Mention "flavor" in example
2012-12-29 13:02:06 -08:00
R. Tyler Croy cd46607dcd Merge pull request #69 from jblaine/patch-4
Show internal DNS as well for status
2012-12-29 13:01:34 -08:00
Jeff Blaine d2a040a285 Show internal DNS as well for status 2012-12-27 15:40:21 -05:00
Jeff Blaine b558d888e9 Mention "flavor" in example
Had to look through source code to find that I could set this.
2012-12-27 14:51:35 -05:00
Jeff Blaine 1f6b038abf Expose box.name as environ var. to script
Allows script to perform logic based on BLIMPY_SHIPNAME
2012-12-27 10:59:21 -05:00
R. Tyler Croy 420b878f8b Fix a minor shell issue with the Puppet livery.
This will fail trying to chmod the entire puppet command string

    chmod: unrecognized option '--modulepath=./modules'
    Try `chmod --help' for more information.
2012-12-18 21:38:33 -08:00
R. Tyler Croy fe2d2856df Version bump for a relase with jblaine's RHEL fixes 2012-12-12 09:48:33 -08:00
R. Tyler Croy 8ee0c96ef5 Merge pull request #63 from jblaine/patch-1
Ensure gempath.sh and livery command are executable
2012-12-12 09:47:36 -08:00
R. Tyler Croy ee0b8aea3e Merge pull request #64 from jblaine/master
Support for RHEL
2012-12-12 09:43:44 -08:00
Jeff Blaine 4eb2044bf0 Support for RHEL, tested on RHEL 6 AMI 2012-12-12 12:28:54 -05:00
Jeff Blaine 6853b1ba5a Ensure gempath.sh and livery command are executable 2012-12-12 12:01:33 -05:00
R. Tyler Croy 7c0745e33a Force the Puppet livery to install a 2.7 version by default instead of 3.0 2012-10-15 21:52:02 -07:00
R. Tyler Croy 17d3a1f3bf Bump the version for the security groups fix 2012-10-03 17:08:02 -07:00