Cloud Provider Interface (CPI) implementation for Microsft's Azure offering
For the time being, BOSH has some limitations regarding CPIs. I have made the necessary fixes and committed them to a repo located at:
[email protected]:nterry/bosh.git
Here are the steps to take to get your environment ready (Ideally, if you use RVM or RBENV, create a new gemset):
-
Clone the BOSH repo mentioned above
-
CD to the bosh_cli folder in the cloned repo and run:
gem build bosh_cli.gemspec
gem install (outputted_gem_file)
-
Repeat the above steps for the bosh_cli_plugin_micro folder in the root of the repo
Run the following from this repo:
gem build bosh_azure_cpi.gemspec
gem install (outputted_gem_file)
-
CD to the bin folder in this repo
-
For the time being, you will need to reserve an IP and place it in the sample_micro_template in the marked place
-
Fill out the fields in the sample_micro_template file
-
Run the following (we will fix the stemcell stuff later):
bosh micro deployment sample_micro_template
bosh download public stemcell (pick one from the list, it doesn't matter, and put its name here)
bosh micro deploy (downloaded tgz from previous command here)
Ultimately, at the time of this writing, you will get to a 'waiting for agent' prompt.... This will never finish as the 'stemcell' that we used is hard-coded to a stock Azure vm image. We will build a stemcell in the future that has the agent installed to get past this.
- Fork it ( https://github.com/[my-github-username]/bosh_azure_cpi/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request