Commit Graph

201 Commits

Author SHA1 Message Date
R. Tyler Croy ee3d6ed9c0 Merge pull request #55 from cprice-puppet/bug/0.6.2/security-group-already-exists
Fix bug causing inconsistent values for security group names
2012-10-03 17:03:45 -07:00
Chris Price 456f26cce9 Fix bug causing inconsistent values for security group names
Prior to this commit, when SecurityGroups#ensure_group was
called with a list of ports that there was not yet a
security group for, the array of ports would get wrapped
in `Set.new` twice; once in the body of #group_id and once
in the body of #ensure_group.

It turns out that, based on the implementation of #group_id,
there are cases when you'd get back a different group_id when
you converted the array to a set twice.  So, e.g.:

    Zlib.crc32(Set.new([22,8140]).inspect) !=
Zlib.crc32(Set.new(Set.new([22,8140])).inspect)

but...

    Zlib.crc32(Set.new([22,8080]).inspect) ==
Zlib.crc32(Set.new(Set.new([22,8080])).inspect)

Good times.  This commit tweaks the tests so that they would
repro this issue, and also cleans up the handling of the calls
to `Set.new` so as to fix the bug.
2012-10-03 16:50:39 -07:00
R. Tyler Croy be289f7cd5 Update the readme to be a little more helpful 2012-09-03 15:09:35 -07:00
R. Tyler Croy 009dc45649 Move the use of global args into the CLI layer instead of the Box#scp_file API
Fixes #53
2012-09-03 12:04:45 -07:00
R. Tyler Croy ca76d1667b Version bump 2012-09-03 11:35:14 -07:00
R. Tyler Croy 2d7bd1ffcc If the .blimpignore file exists, use it for the rsync
Fixes #39
2012-09-03 11:34:42 -07:00
R. Tyler Croy 992ab91bb3 Add a Box#provision method to make using Blimpy as an API clearer 2012-09-03 11:10:20 -07:00
R. Tyler Croy e429153bf3 Bump the gem version for a release 2012-08-26 17:32:55 -07:00
R. Tyler Croy 252486454a Add a helper script to pull in the appropriate path on Debian-based hosts for invoking the Puppet binary provided by the gem 2012-08-26 17:31:42 -07:00
R. Tyler Croy 2edecb46ec Add a minor optimization, don't bother bootstrapping Puppet if it's already in our PATH 2012-08-25 14:25:37 -07:00
R. Tyler Croy edcc292686 Clean-up the remainder of the holes missed when refactoring for the Puppet livery 2012-08-25 14:19:02 -07:00
R. Tyler Croy ed5464ff39 Move can_rsync? into the base livery class where it belongs 2012-08-25 14:18:55 -07:00
R. Tyler Croy 0ad9815b57 Add a new built-in (and configurable) Puppet livery.
This will allow for easier bootstrapping and configuration of Puppet on a
machine, e.g.:

    Blimpy.fleet do |f|
      f.add(:aws) do |s|
        s.livery = Blimpy::Livery::Puppet.configure |c|
          c.module_path = "test/modules" # This is relative to the Blimpfile's root directory
        end
      end
    end

In a way, this should fix #47
2012-08-25 14:06:36 -07:00
R. Tyler Croy 0ef273359b Change the default AMI ID to an Ubuntu 12.04 LTS (amd64) image 2012-08-22 22:20:56 -07:00
R. Tyler Croy 10916f0c25 Having ruby-debug around inside of the RSpec examples is handy 2012-08-22 22:16:50 -07:00
R. Tyler Croy fa67b6df49 Restructure the World object just for funsies 2012-08-22 22:16:50 -07:00
R. Tyler Croy 221063cdea Flesh out the liveries feature and make the configuration-less livery scenario work 2012-08-22 22:16:50 -07:00
R. Tyler Croy 9ed4d3ac99 Move the concept of a Livery around to denote an actual class with more "structure"
This effectively breaks the crap out of existing Blimpfiles with a `ship.livery
= :cwd` line, or something similar. I think it's worth it at this point.

Liveries will have some access to the box object itself, so that API will need
to remain consistent for some time. It's expected that every Livery will have
at least:

    * setup_on(box)
    * preflight(box)
    * flight(box)
    * postflight(box)

This should be enough for just about every livery to do what it needs to do
with the created box. This should also allow (in the future) a Livery to
express variables or other configuration information "outward" for the
consumption of other Liveries.
2012-08-22 22:16:50 -07:00
R. Tyler Croy 8964005338 Bump to version to 0.6 so I can break some more things 2012-08-22 22:16:50 -07:00
R. Tyler Croy 4e29235187 Make sure we have at least RSpec 2.11 for our expect() calls 2012-08-22 22:16:50 -07:00
R. Tyler Croy 41b357060f Add cucumber profiles and clean up the Rakefile a bit 2012-08-22 22:16:50 -07:00
R. Tyler Croy 18c64cbd5c Remove the notion of an "engine" since it's not any useful form of an abstraction
Fixes #49
2012-08-22 20:32:48 -07:00
R. Tyler Croy cd00c74425 Add a simple "version" task to print the current version of the gem 2012-08-21 20:14:55 -07:00
R. Tyler Croy f8635943b4 Bump the version for a bugfix release 2012-08-19 17:38:46 -07:00
R. Tyler Croy 40b146b0ea Merge pull request #50 from branan/instance_data_symbols
Fix instance_data lookups to use symbols
2012-08-15 11:40:34 -07:00
Branan Purvine-Riley 22d616eabc Fix instance_data lookups to use symbols 2012-08-15 10:45:00 -07:00
R. Tyler Croy b1ccfc8780 Make the "name" argument to `blimpy ssh` optional, if it's not provided we'll choose the first ship we find 2012-08-10 17:06:30 -07:00
R. Tyler Croy 88e7dd3bdf Jump to 0.5.0 for the new livery changes 2012-08-10 16:32:27 -07:00
R. Tyler Croy 3c581e39e1 Refactor the Linux and FreeBSD Puppet liveries into one script
Fixes #29
2012-08-10 16:32:09 -07:00
R. Tyler Croy 63c22a64d8 Bump for a new release 2012-08-10 14:26:03 -07:00
R. Tyler Croy 05c130386e Add ci_reporter support for generating Jenkins compatible JUnit XML 2012-07-27 16:26:17 -07:00
R. Tyler Croy 3bf2332b1f Avoid trying to update YAML::ENGINE if it's not there 2012-07-21 12:08:29 -07:00
R. Tyler Croy eede1a94cb Ignore host key checks when rsyncing things to the machine
Fixes #43
2012-07-20 17:13:22 -07:00
R. Tyler Croy 509aba05c8 Properly load the box_by_name when provisioning without an explicit name 2012-07-20 15:16:38 -07:00
R. Tyler Croy a000ca66f2 Force the psych YAML engine 2012-07-20 12:12:56 -07:00
R. Tyler Croy ea03a85c2f Bump the version up a little heavier due to the file format changes 2012-07-14 11:57:47 -07:00
R. Tyler Croy 5f44098e6a Finish up support for allocating and associating floating IPs for openstack blimps
Last night I was mistakenly using the image ID when trying to associate instead
of the server ID, so this fixes that. OpenStack wants a certain order of
operations for associating an IP as well, we must associate only after
OpenStack says the machine is ready.
2012-07-14 11:56:06 -07:00
R. Tyler Croy 7ca1232d93 Use the correct key when re-creating the OpenStack compute server object 2012-07-14 11:54:50 -07:00
R. Tyler Croy dc578b0700 Ensure that we reserialize as much data as possible when re-constituting boxes from .blimp files 2012-07-14 11:54:16 -07:00
R. Tyler Croy 3ccb4ed82f Avoid requiring 'fog' since it takes a damned eternity to require it 2012-07-14 01:26:51 -07:00
R. Tyler Croy 54d86ac574 Clean-up the serialization and deserialization semantics for the .blimpy.d state files 2012-07-14 01:26:51 -07:00
R. Tyler Croy bc6a8bf307 Add support for predestroy/postdestroy hooks to allow OpenStack boxes to tear down their floating ip 2012-07-13 23:01:28 -07:00
R. Tyler Croy ee28537d16 Add some "prestart" and "poststart" support so OpenStack can allocate and associate an IP
This is the first half of the story, we need to make sure that the right
information is being persisted and then the second half can take place:
deassociating and releasing the floating IP
2012-07-13 22:24:06 -07:00
R. Tyler Croy c7feb41e6f Add a specific Rake task to run OpenStack features 2012-07-13 21:45:11 -07:00
R. Tyler Croy 1e1e8ef759 Refactor some of the key importing code to work both on OpenStack and AWS 2012-07-13 21:45:11 -07:00
R. Tyler Croy 869496fb0d Use the right ruby-debug gem for non-1.9 rubies 2012-07-13 21:28:16 -07:00
R. Tyler Croy 4b07e15fd0 Remove an unnecessary security group entry from the start feature 2012-07-13 18:59:53 -07:00
R. Tyler Croy 99e5a76242 Add experimental/hacky OpenStack support
Fixes #42
2012-07-13 17:16:13 -07:00
R. Tyler Croy 24a8302b94 Add a skeleton feature for liveries, will get back to this later 2012-07-13 15:18:16 -07:00
R. Tyler Croy b4fb195066 Add support for kick-starting machines via Blimpy's built-in scripts 2012-07-08 23:44:03 -07:00