added Get for blobstores

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
download, decompress and move packages to install location

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
renamed compressor to tarball compressor
moved package applying logic into its own package
renamed boshblostore import to boshblob
make sure that tar extracts file as itself
added Readme
Merge final release for build 1492 to develop
TempDir() now returns unique temporary directory

makes it consistent with TempFile()
Fixes broken unit specs by no longer fixing an expectation to a particular release.

This was caused by publishing a new final release, which we hadn't done
in a very long tim'.

Signed-off-by: Matthew Boedicker <mboedicker@pivotallabs.com>
made Applier take ApplySpec interface

separated out ApplySpec into its own package

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
set up logrotate as part of the Applier

Signed-off-by: dmitriy kalinin <dmitriy@pivotallabs.com>
Better expectation in delete_stemcell for AWS CPI

Signed-off-by: Jesse Zhang <jz@pivotallabs.com>
formatting

Signed-off-by: Jesse Zhang <jz@pivotallabs.com>
Annotate globally stubbed evil logger

Global stubs are surprising because they affect *every* test that has
`spec_helper` `require`'d.
This commit adds a descriptive name to the logger so that in tests that
expect the logger to work, we at least know where the stub comes from.

Signed-off-by: Jesse Zhang <jz@pivotallabs.com>
Replace #to_h with #to_hash for block device mappings

The object is either a Hash _like_ object that responds to #to_hash, or
a Hash. #to_h is only defined on the former. This change will eliminate
a NoMethodError that surprises people.

Signed-off-by: Jesse Zhang <jz@pivotallabs.com>
Separate #image_id from #id for AWS stemcells

Semantically, the stemcell id should be an opaque (to the director)
string understood by the AWS CPI to identify a stemcell. On the other
hand, the image id used to identify an AMI.
The current implementation conflates the two concepts and causes subtle
bugs when we handle "light" stemcells.
This commit starts the work to separate stemcell identifiers from AMI
identifiers.
Light stemcells use different stemcell ID's

The AWS CPI supports an optimization called "light stemcells". A light
AWS stemcell is not a full disk image, but rather just a reference to an
AMI. The AWS CPI has been conflating an AMI ID with a stemcell ID on
AWS: when the BOSH director creates a stemcell, the identifier returned
by the AWS CPI was the AMI ID. In the light stemcell case, the stemcell
ID returned was also the referenced AMI ID. This means that when BOSH
director tries to delete the stemcell later, the CPI won't have a good
way to tell the two apart, and hence could only always try to deregister
the AMI, which is undesirable.

This commit changes how light stemcells are identified and behave.

- Stemcell ID for light stemcells now end id " light"
- AWS CPI will no longer attempt to deregister the AMI when deleting a
  light stemcell.

[fixes #61408126]
Comment on why we suppress AuthFailure

We have to keep this old code path for compatibility reasons.
add an integration test exercising light stemcells