Seek guide to extend BOSH to support other IaaSs


Guillaume Berche
 

Hi Dmitry,

Is there official documentation of the external CPI contract ? I had
noticed a draft [1] you mentionned on bosh-dev@ a while ago. An official
doc will be quite helpful as a complement to existing impls as to reduce
the required reverse engineering efforts.

Moving [1] to a markdown file may allow for community contributions (I'm
not sure how submit PR against github wiki). I'm happy to contribute PRs
from your answers to enhance this doc if work on the official doc is low on
the current priority list, and if this could help the community.

In particular, the current_vm and ping actions are listed but currently
lack associated doc [1].

Looking at the warden cpi, it seems the ping maybe optional [2]. [3]
indicates the ping is rather a call made to the agent, which is confirmed
by bosh-init traces, where I see the following:

[httpClient] 2015/06/19 16:10:02 DEBUG - Sending POST request with
body
{"method":"ping","arguments":[],"reply_to":"a09a1d1b-3910-45f3-5312-69eb4ee8ccde"},
endpoint https://mbus:mbus-password(a)10.106.236.106:6868/agent

Should then the cpi ping method be deprecated/removed from [1] ?

Regarding the current_vm method, the CPI ruby interface [2] mentions that
it is only used by the cpi itself. Does this mean that bosh won't call the
current_vm method and that it could be removed from the external cpi doc
[1] ?

I see the other following aspects of the documentation that would ease our
current prototyping work for a java jclouds-based external CPI work [4]
- external cpi instanciation lifecycle you kindly corrected us on [5]
- wire protocol using stdin/stdout (UTF8 encoding?, line feed as command
separator) stderr for traces

Thanks in advance,

Guillaume.

[1] https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29
[2]
https://github.com/cppforlife/bosh-warden-cpi/blob/e1423b4327b82919bd6e57eba0433fc7b06dae85/action/concrete_factory_test.go#L245
[3]
https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow
[4]
https://github.com/cloudfoundry-community/bosh-cloudstack-cpi-core/blob/a34b5f0046dfb47817438e55fdbc1829cdfa7534/TODO.txt#L3-L21
[5]
https://github.com/Orange-OpenSource/bosh-cloudstack-cpi-release/issues/1#issue-90481443

On Wed, Jun 24, 2015 at 12:00 AM, Dmitriy Kalinin <dkalinin(a)pivotal.io>
wrote:

Hey Jim,

All officially supported CPIs currently come built-in *and* also come as
CPI releases.

CPI releases can be used with bosh-init and the Director. Take a look at
https://bosh.io/docs/init.html which shows an example manifest for each
external CPI used with bosh-init. All of these examples have two things in
common: they reference a CPI release and also configure the Director with
`director.cpi_job: cpi` configuration. That's how Director knows how to
call the CPI.

https://github.com/cppforlife/bosh-warden-cpi &
https://github.com/maximilien/bosh-softlayer-cpi are examples of external
CPIs.

Feel free to ask more questions or if you want to chat on Google Hangout.

Dmitriy

On Tue, Jun 23, 2015 at 1:13 AM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:

Hi Dmitriy

Sorry to bother you.

If my understanding is correct, all the documents [1] are based on the
usage of "built-in CPI". I also found two examples of "external CPI"
implementation [2][3]. My question is how do I enable BOSH Director to use
the specific external CPI? Is there any document?

[1] http://bosh.io/docs
[2] https://github.com/cppforlife/bosh-warden-cpi
[3] https://github.com/maximilien/bosh-softlayer-cpi

Thanks

Jim

-----Original Message-----
From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] On Behalf Of James Bayer
Sent: Tuesday, June 23, 2015 12:22 PM
To: Discussions about the Cloud Foundry BOSH project.
Subject: Re: [cf-bosh] Seek guide to extend BOSH to support other IaaSs

dmitriy reads this list and hangs out in the #bosh irc channel [1]. the
softlayer cpi is an example of an external cpi that can be used with bosh
init, so you could probably look at how that one works.

[1] http://webchat.freenode.net/?channels=bosh


On Mon, Jun 22, 2015 at 9:19 PM, jinsenglin <jinsenglin(a)iii.org.tw>
wrote:


Hi James



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

1. Tracker:
https://www.pivotaltracker.com/n/projects/1133984

2. External API for SoftLayer:
https://github.com/maximilien/bosh-softlayer-cpi



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?



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] 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)iii.org.tw> 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.



[1] http://blog.altoros.com/cloud-foundry-bosh-cpi-for-gce.html



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] 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 <
https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
* Sequenting of calls <
https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ
* "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 <https://bosh.io/docs/using-bosh-init.html#logging>
* diagrams:

* deploy flow <
https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow
* delete flow <
https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow

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

Hope this helps,

Guillaume.


[1]
https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <
jinsenglin(a)iii.org.tw> 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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3]
https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4]
https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh







--

Thank you,



James Bayer


_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh






--

Thank you,

James Bayer


_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh


Gwenn Etourneau
 

Don't think so ...

On Wed, Jun 24, 2015 at 2:10 PM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:

Hi Dmitriy



Thanks for your reply. My Google Hangout jimlintw922(a)gmail.com



One more questions:

1. My target IaaS is a KVM-based computing platform inside my
company. It is not OpenStack. Can I use OpenStack-KVM Stemcell [1] without
any modification?



[1]
https://bosh.io/d/stemcells/bosh-openstack-kvm-ubuntu-trusty-go_agent?v=2950



Thanks,

Jim.



*From:* Dmitriy Kalinin [mailto:dkalinin(a)pivotal.io]
*Sent:* Wednesday, June 24, 2015 6:00 AM
*To:* jinsenglin
*Cc:* Discussions about the Cloud Foundry BOSH project.

*Subject:* Re: [cf-bosh] Seek guide to extend BOSH to support other IaaSs



Hey Jim,



All officially supported CPIs currently come built-in *and* also come as
CPI releases.



CPI releases can be used with bosh-init and the Director. Take a look at
https://bosh.io/docs/init.html which shows an example manifest for each
external CPI used with bosh-init. All of these examples have two things in
common: they reference a CPI release and also configure the Director with
`director.cpi_job: cpi` configuration. That's how Director knows how to
call the CPI.



https://github.com/cppforlife/bosh-warden-cpi &
https://github.com/maximilien/bosh-softlayer-cpi are examples of external
CPIs.



Feel free to ask more questions or if you want to chat on Google Hangout.



Dmitriy



On Tue, Jun 23, 2015 at 1:13 AM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:

Hi Dmitriy

Sorry to bother you.

If my understanding is correct, all the documents [1] are based on the
usage of "built-in CPI". I also found two examples of "external CPI"
implementation [2][3]. My question is how do I enable BOSH Director to use
the specific external CPI? Is there any document?

[1] http://bosh.io/docs
[2] https://github.com/cppforlife/bosh-warden-cpi
[3] https://github.com/maximilien/bosh-softlayer-cpi

Thanks

Jim

-----Original Message-----
From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] On Behalf Of James Bayer

Sent: Tuesday, June 23, 2015 12:22 PM
To: Discussions about the Cloud Foundry BOSH project.
Subject: Re: [cf-bosh] Seek guide to extend BOSH to support other IaaSs

dmitriy reads this list and hangs out in the #bosh irc channel [1]. the
softlayer cpi is an example of an external cpi that can be used with bosh
init, so you could probably look at how that one works.

[1] http://webchat.freenode.net/?channels=bosh


On Mon, Jun 22, 2015 at 9:19 PM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:


Hi James



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

1. Tracker: https://www.pivotaltracker.com/n/projects/1133984

2. External API for SoftLayer:
https://github.com/maximilien/bosh-softlayer-cpi



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?



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] 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)iii.org.tw> 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.



[1] http://blog.altoros.com/cloud-foundry-bosh-cpi-for-gce.html



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] 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 <
https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
* Sequenting of calls <
https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ
* "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 <https://bosh.io/docs/using-bosh-init.html#logging>
* diagrams:

* deploy flow <
https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow
* delete flow <
https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow


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

Hope this helps,

Guillaume.


[1]
https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)iii.org.tw>
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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3]
https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4]
https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh







--

Thank you,



James Bayer


_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh






--

Thank you,

James Bayer



_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh


Jim
 

Hi Dmitriy



Thanks for your reply. My Google Hangout jimlintw922(a)gmail.com



One more questions:

1. My target IaaS is a KVM-based computing platform inside my company. It is not OpenStack. Can I use OpenStack-KVM Stemcell [1] without any modification?



[1] https://bosh.io/d/stemcells/bosh-openstack-kvm-ubuntu-trusty-go_agent?v=2950



Thanks,

Jim.



From: Dmitriy Kalinin [mailto:dkalinin(a)pivotal.io]
Sent: Wednesday, June 24, 2015 6:00 AM
To: jinsenglin
Cc: Discussions about the Cloud Foundry BOSH project.
Subject: Re: [cf-bosh] Seek guide to extend BOSH to support other IaaSs



Hey Jim,



All officially supported CPIs currently come built-in *and* also come as CPI releases.



CPI releases can be used with bosh-init and the Director. Take a look at https://bosh.io/docs/init.html which shows an example manifest for each external CPI used with bosh-init. All of these examples have two things in common: they reference a CPI release and also configure the Director with `director.cpi_job: cpi` configuration. That's how Director knows how to call the CPI.



<https://github.com/cppforlife/bosh-warden-cpi> https://github.com/cppforlife/bosh-warden-cpi & <https://github.com/maximilien/bosh-softlayer-cpi> https://github.com/maximilien/bosh-softlayer-cpi are examples of external CPIs.



Feel free to ask more questions or if you want to chat on Google Hangout.



Dmitriy



On Tue, Jun 23, 2015 at 1:13 AM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:

Hi Dmitriy

Sorry to bother you.

If my understanding is correct, all the documents [1] are based on the usage of "built-in CPI". I also found two examples of "external CPI" implementation [2][3]. My question is how do I enable BOSH Director to use the specific external CPI? Is there any document?

[1] http://bosh.io/docs
[2] https://github.com/cppforlife/bosh-warden-cpi
[3] https://github.com/maximilien/bosh-softlayer-cpi

Thanks

Jim

-----Original Message-----
From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] On Behalf Of James Bayer

Sent: Tuesday, June 23, 2015 12:22 PM
To: Discussions about the Cloud Foundry BOSH project.
Subject: Re: [cf-bosh] Seek guide to extend BOSH to support other IaaSs

dmitriy reads this list and hangs out in the #bosh irc channel [1]. the softlayer cpi is an example of an external cpi that can be used with bosh init, so you could probably look at how that one works.

[1] http://webchat.freenode.net/?channels=bosh


On Mon, Jun 22, 2015 at 9:19 PM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:


Hi James



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

1. Tracker: https://www.pivotaltracker.com/n/projects/1133984

2. External API for SoftLayer: https://github.com/maximilien/bosh-softlayer-cpi



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?



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] 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)iii.org.tw> 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.



[1] http://blog.altoros.com/cloud-foundry-bosh-cpi-for-gce.html



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] 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 <https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
* Sequenting of calls <https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ>

* "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 <https://bosh.io/docs/using-bosh-init.html#logging>
* diagrams:

* deploy flow <https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow>
* delete flow <https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow>



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

Hope this helps,

Guillaume.


[1] https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)iii.org.tw> 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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3] https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4] https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh







--

Thank you,



James Bayer


_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh






--

Thank you,

James Bayer


Dmitriy Kalinin
 

Hey Jim,

All officially supported CPIs currently come built-in *and* also come as
CPI releases.

CPI releases can be used with bosh-init and the Director. Take a look at
https://bosh.io/docs/init.html which shows an example manifest for each
external CPI used with bosh-init. All of these examples have two things in
common: they reference a CPI release and also configure the Director with
`director.cpi_job: cpi` configuration. That's how Director knows how to
call the CPI.

https://github.com/cppforlife/bosh-warden-cpi &
https://github.com/maximilien/bosh-softlayer-cpi are examples of external
CPIs.

Feel free to ask more questions or if you want to chat on Google Hangout.

Dmitriy

On Tue, Jun 23, 2015 at 1:13 AM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:

Hi Dmitriy

Sorry to bother you.

If my understanding is correct, all the documents [1] are based on the
usage of "built-in CPI". I also found two examples of "external CPI"
implementation [2][3]. My question is how do I enable BOSH Director to use
the specific external CPI? Is there any document?

[1] http://bosh.io/docs
[2] https://github.com/cppforlife/bosh-warden-cpi
[3] https://github.com/maximilien/bosh-softlayer-cpi

Thanks

Jim

-----Original Message-----
From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] On Behalf Of James Bayer
Sent: Tuesday, June 23, 2015 12:22 PM
To: Discussions about the Cloud Foundry BOSH project.
Subject: Re: [cf-bosh] Seek guide to extend BOSH to support other IaaSs

dmitriy reads this list and hangs out in the #bosh irc channel [1]. the
softlayer cpi is an example of an external cpi that can be used with bosh
init, so you could probably look at how that one works.

[1] http://webchat.freenode.net/?channels=bosh


On Mon, Jun 22, 2015 at 9:19 PM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:


Hi James



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

1. Tracker: https://www.pivotaltracker.com/n/projects/1133984

2. External API for SoftLayer:
https://github.com/maximilien/bosh-softlayer-cpi



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?



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] 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)iii.org.tw> 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.



[1] http://blog.altoros.com/cloud-foundry-bosh-cpi-for-gce.html



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] 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 <
https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
* Sequenting of calls <
https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ
* "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 <https://bosh.io/docs/using-bosh-init.html#logging>
* diagrams:

* deploy flow <
https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow
* delete flow <
https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow

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

Hope this helps,

Guillaume.


[1]
https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)iii.org.tw>
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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3]
https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4]
https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh







--

Thank you,



James Bayer


_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh






--

Thank you,

James Bayer



Jim
 

Hi Dmitriy

Sorry to bother you.

If my understanding is correct, all the documents [1] are based on the usage of "built-in CPI". I also found two examples of "external CPI" implementation [2][3]. My question is how do I enable BOSH Director to use the specific external CPI? Is there any document?

[1] http://bosh.io/docs
[2] https://github.com/cppforlife/bosh-warden-cpi
[3] https://github.com/maximilien/bosh-softlayer-cpi

Thanks

Jim

-----Original Message-----
From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] On Behalf Of James Bayer
Sent: Tuesday, June 23, 2015 12:22 PM
To: Discussions about the Cloud Foundry BOSH project.
Subject: Re: [cf-bosh] Seek guide to extend BOSH to support other IaaSs

dmitriy reads this list and hangs out in the #bosh irc channel [1]. the softlayer cpi is an example of an external cpi that can be used with bosh init, so you could probably look at how that one works.

[1] http://webchat.freenode.net/?channels=bosh


On Mon, Jun 22, 2015 at 9:19 PM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:


Hi James



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

1. Tracker: https://www.pivotaltracker.com/n/projects/1133984

2. External API for SoftLayer: https://github.com/maximilien/bosh-softlayer-cpi



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?



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] 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)iii.org.tw> 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.



[1] http://blog.altoros.com/cloud-foundry-bosh-cpi-for-gce.html



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] 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 <https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
* Sequenting of calls <https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ>

* "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 <https://bosh.io/docs/using-bosh-init.html#logging>
* diagrams:

* deploy flow <https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow>
* delete flow <https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow>


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

Hope this helps,

Guillaume.


[1] https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)iii.org.tw> 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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3] https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4] https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh







--

Thank you,



James Bayer


_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh






--

Thank you,

James Bayer


James Bayer
 

dmitriy reads this list and hangs out in the #bosh irc channel [1]. the
softlayer cpi is an example of an external cpi that can be used with bosh
init, so you could probably look at how that one works.

[1] http://webchat.freenode.net/?channels=bosh

On Mon, Jun 22, 2015 at 9:19 PM, jinsenglin <jinsenglin(a)iii.org.tw> wrote:

Hi James



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

1. Tracker: https://www.pivotaltracker.com/n/projects/1133984

2. External API for SoftLayer:
https://github.com/maximilien/bosh-softlayer-cpi



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?



Jim



*From:* cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] *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)iii.org.tw>
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.



[1] http://blog.altoros.com/cloud-foundry-bosh-cpi-for-gce.html



Jim



*From:* cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] *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
<https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
- Sequenting of calls
<https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ>


- *"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 <https://bosh.io/docs/using-bosh-init.html#logging>*
- diagrams:


- deploy flow
<https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow>
- delete flow
<https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow>


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

Hope this helps,

Guillaume.


[1]
https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)iii.org.tw> 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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3] https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4] https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh





--

Thank you,



James Bayer

_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh

--
Thank you,

James Bayer


Jim
 

Hi James



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

1. Tracker: https://www.pivotaltracker.com/n/projects/1133984

2. External API for SoftLayer: https://github.com/maximilien/bosh-softlayer-cpi



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?



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] 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)iii.org.tw> 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.



[1] http://blog.altoros.com/cloud-foundry-bosh-cpi-for-gce.html



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] 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 <https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
* Sequenting of calls <https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ>

* "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 <https://bosh.io/docs/using-bosh-init.html#logging>
* diagrams:

* deploy flow <https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow>
* delete flow <https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow>


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

Hope this helps,

Guillaume.


[1] https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)iii.org.tw> 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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3] https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4] https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh







--

Thank you,



James Bayer


James Bayer
 

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)iii.org.tw> 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.



[1] http://blog.altoros.com/cloud-foundry-bosh-cpi-for-gce.html



Jim



*From:* cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:
cf-bosh-bounces(a)lists.cloudfoundry.org] *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
<https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
- Sequenting of calls
<https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ>


- *"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 <https://bosh.io/docs/using-bosh-init.html#logging>*
- diagrams:


- deploy flow
<https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow>
- delete flow
<https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow>


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

Hope this helps,

Guillaume.


[1]
https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)iii.org.tw> 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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3] https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4] https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh



_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh

--
Thank you,

James Bayer


Jim
 

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.



[1] http://blog.altoros.com/cloud-foundry-bosh-cpi-for-gce.html



Jim



From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] 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 <https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
* Sequenting of calls <https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ>

* "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 <https://bosh.io/docs/using-bosh-init.html#logging>
* diagrams:

* deploy flow <https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow>
* delete flow <https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow>


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

Hope this helps,

Guillaume.


[1] https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841



On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)iii.org.tw> 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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3] https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4] https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/




_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh


Guillaume Berche
 

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
<https://github.com/cloudfoundry/bosh/wiki/BOSH-CPI-API-v1-%28WIP%29>
- Sequenting of calls
<https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-dev/QbZjCBJwNPE/dazJAUcjIEIJ>
- *"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 <https://bosh.io/docs/using-bosh-init.html#logging>*
- diagrams:
- deploy flow
<https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#deploy-command-flow>
- delete flow
<https://github.com/cloudfoundry/bosh-init/blob/master/docs/architecture.md#delete-command-flow>


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

Hope this helps,

Guillaume.

[1]
https://github.com/cloudfoundry-community/bosh-cloudstack-cpi/issues/23#issuecomment-109260841

On Thu, Jun 18, 2015 at 5:37 AM, jinsenglin <jinsenglin(a)iii.org.tw> 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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3] https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4] https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/



_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh


Jim
 

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.



[1] https://bosh.io/docs

[2] https://github.com/cloudfoundry/bosh/tree/master/bosh_aws_cpi

[3] https://github.com/cloudfoundry/bosh/tree/master/bosh_openstack_cpi

[4] https://github.com/cloudfoundry/bosh/tree/master/bosh_vsphere_cpi



Jim

Software Engineer

jinsenglin(a)iii.org.tw



Data Analytics Technology & Applications Research Institute (DATA)

http://www.iii.org.tw/