Re: Seek guide to extend BOSH to support other IaaSs


Hi James

Thanks for your update. Here are my findings about External CPI:

1. Tracker:

2. External API for SoftLayer:

I can see many contributions by Dmitriy but still don’t know how to contact him.

So far, my understanding is that the team members are developing a new CPI form called External API. To achieve this goal, they are modifying BOSH and extracting existing CPIs ,e.g., aws, vsphere, vcloud, openstack, to be external CPIs. In future, we can write our own External CPI and then inject it into BOSH without source code adjustments on BOSH components. Am I correct?


From: cf-bosh-bounces(a) [mailto:cf-bosh-bounces(a)] On Behalf Of James Bayer
Sent: Tuesday, June 23, 2015 3:43 AM
To: Discussions about the Cloud Foundry BOSH project.
Subject: Re: [cf-bosh] Seek guide to extend BOSH to support other IaaSs

that blog is a bit out of date. a track of work called "bosh external cpi" is about finished that enables plugging in the CPIs without having to make bosh component adjustments (depends on the target IaaS i suppose). i encourage you to reach out to dimitriy.

On Mon, Jun 22, 2015 at 12:04 AM, jinsenglin <jinsenglin(a)> wrote:

Hi Guillaume

Thanks for your help. The IaaS I am working for is our internal computing platform, which is developed based on KVM. I also found a useful blog article [1] about how to build a custom BOSH CPI. Bad news is that to do so needs make adjustments inside the BOSH components. Such adjustments will cause upgrade issues in future when newer version of BOSH is released.



From: cf-bosh-bounces(a) [mailto:cf-bosh-bounces(a)] On Behalf Of Guillaume Berche
Sent: Friday, June 19, 2015 2:55 PM
To: Discussions about the Cloud Foundry BOSH project.
Subject: Re: [cf-bosh] Seek guide to extend BOSH to support other IaaSs

Hi Jim,

Until the bosh contributors get you an official doc, here are some pointers I collected while studying the development of an external CPI [1]

* Stdin/stdout API wiki <>
* Sequenting of calls <>

* "One way to find out order of all those things is to run bosh-lite and look at the logs. All cpi methods act on some resources that have cloud ids. e.g. attach_disk for example takes vm_cid and disk_cid which means that create_vm and create_disk would be called at some point before this. Important thing to note is that bosh may call any of those methods in a different order depending on the situation as long as bosh is able to provide needed arguments to the methods."
* Another way is to look at the debug traces from the bosh-init logging <>
* diagrams:

* deploy flow <>
* delete flow <>

BTW, which Iaas are you looking at developping a CPI for ?

Hope this helps,



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)> wrote:

Hi all

I’m trying to extend BOSH to support other IaaSs. However there [1] is no document about how to do so, but only few item bullets listed without hyperlinks. For understanding it, so far what I only can do is to trace the existing CPI implementation source code, like AWS CPI[2], OpenStack CPI[3], or vSphere CPI[3]. My question is that is there any further guide to help get quickly knowledge about it? Thanks you all for kindness.






Software Engineer


Data Analytics Technology & Applications Research Institute (DATA)

cf-bosh mailing list

cf-bosh mailing list


Thank you,

James Bayer

Join to automatically receive all group messages.