stemcell tasks - add option to use precompiled packages from another blobstore #45

Closed
drnic opened this Issue Feb 16, 2013 · 8 comments

Comments

Projects
None yet
4 participants
Member

drnic commented Feb 16, 2013

As I sit here watching rake stemcell:mcf run for a few hours as it compiles the packages one after another from cf-release, I would wish that the micro-stemcells (mcf & microbosh) could be built from the pre-compiled packages from a target bosh.

Member

drnic commented Feb 16, 2013

Could this be done within package_compiler? Or could a bosh_agent be given multiple blobstores to search for packages?

Member

drnic commented Feb 16, 2013

If we did it in bosh_agent, then we'd need to allow for 2+ blobstores. Currently it has a flat pair of options https://github.com/cloudfoundry/bosh/blob/master/bosh_agent/bin/bosh_agent#L14-L15

  "blobstore_options"  => {},
  "blobstore_provider" => "simple",

Perhaps we change this to:

    "blobstores" => [{ "options" => {}, "provider" => "simple" }],

Then allow for multiple blobstores to be specified when bosh_agent is run

Member

drnic commented Feb 16, 2013

--blobstore uri might need to include the provider; since we'd want to support different types of providers. Perhaps put the provider at the front of the uri

bosh_agent --blobstore simple:///var/vcap/micro_bosh/data/cache --blobstore s3://....

It would try to get the compiled package from each blobstore, before reverting to the SLOOOW process of compiling each package.

Member

drnic commented Feb 16, 2013

This same concept of an agent looking in multiple blobstores for compiled packages could be used to radically improve the zero-to-launch time of new Cloud Foundry deployments; if a public blobstore was available with pre-compiled packages, that all cf-release agents pointed to.

Contributor

pmenglund commented Feb 16, 2013

Pre-compiled packages only work when you use exactly the same stemcell, so it'll be great for regular deployments, but trickier when you build micro versions.

Member

drnic commented Feb 17, 2013

There would shades of grey of "exactly the same stemcell"? Aren't all the stemcells built from the same basic stemcell?

Owner

mkocher commented Feb 17, 2013

Ideally we'd have a "global package cache" that was keyed on stemcell as well as the code SHA. This is a large piece of work, but something that would improve the bosh user experience immensely.

Contributor

Amit-PivotalLabs commented Mar 29, 2013

The next bosh release will include a package cache feature, which will be helpful for regular deployments, allowing the package compilation step to be skipped. This won't help if you're building your own micro stemcells though, at least not yet, but that could be really desirable. How often do people build their own micro stemcells vs using public ones?

drnic closed this May 27, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment