building of an external cpi for · • vm placement to existing local storage • happy to...
TRANSCRIPT
![Page 1: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/1.jpg)
![Page 2: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/2.jpg)
Building of an external CPI for
CloudStack
Guillaume Berche & Pierre Oblin
![Page 3: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/3.jpg)
Introduction
• Who we are
• Goal of this talk
• Why did we build a CPI for cloudStack ?
@gberche gberche-orange guillaume.berche [at] orange.com
poblin-orange pierre.oblin [at] orange.com
![Page 4: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/4.jpg)
Outline
• Bosh & CPI intro
• CloudStack CPI design tradeoffs
• Status, future work, learnings
![Page 5: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/5.jpg)
Bosh and
CPI overview
![Page 6: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/6.jpg)
Bosh intro
![Page 7: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/7.jpg)
Bosh CPI overview
![Page 8: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/8.jpg)
CPI API V1 overview
![Page 9: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/9.jpg)
Bosh agent configuration overview
• bootstrapping from stemcell provided config
• iaas-specific initial networking & registry
lookup
– available methods:meta-data server, config drive,
cdrom
• initial registry config loading
• dynamic configs (network reconfig, disk
resize…) through NATs messages
![Page 10: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/10.jpg)
VM instanciation illustrated
![Page 11: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/11.jpg)
CloudStack
CPI design
choices
![Page 12: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/12.jpg)
Context and constraints
• Provide flexibility for innovation and optimization
while remaining opensource
• Chicken and egg: CPI and stemcell
• Bosh is in active development
• Lack of public infrastructure enabling community
contributions
![Page 13: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/13.jpg)
Design tradeoffs
• Programming language: ruby, go, java ?
• CloudStack api client
• CPI process model • per invocation process or daemon mode ?
• stdin/stdout or REST facade ?
• Stemcell to cloudstack vm templates • insider or outsider ?
• from volume or webdav exposed image ?
• a light stemcell to kick things off
• CS custom metadata URL
![Page 14: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/14.jpg)
Status,
future work,
learnings
![Page 15: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/15.jpg)
Status
• Supported
– stemcell upload
– advanced zone networking: static/dynamic
Ips
• Limitations
– single persistent disk support
– single nic support
– no yet floating ip/vip
![Page 16: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/16.jpg)
Future short-term work
• Stemcell: Xen (+KVM), Ubuntu+Centos • another infrastructure in bosh/stemcell_builder ?
• patch one of the official stemcell ?
• CI (concourse): BATS + CPI lifecycle tests
+…
• Local storage for persistent disks • snapshot
• live migration
• vm placement to existing local storage
• Happy to collaborate and support the
community.
– Any public CloudStack instance for public ci ?
• Apply for CF incubator process ?
![Page 17: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/17.jpg)
Challenges met & potential bosh
improvements
• documentation: – bdd/living doc
– unit tests
– reference implementations
• CPI daemon support in bosh-init
• bosh-agent cloud-stack style volume
support
• Iaas-specific registry impl
– => use NATS for disk mount support ?
• bosh-init optim for CPI development • (external blobstore)
![Page 18: Building of an external CPI for · • vm placement to existing local storage • Happy to collaborate and support the ... improvements • documentation: – bdd/living doc – unit](https://reader030.vdocument.in/reader030/viewer/2022041108/5f0b43007e708231d42fa4cd/html5/thumbnails/18.jpg)
Thanks,
Questions ?
@gberche gberche-orange guillaume.berche [at] orange.com
poblin-orange pierre.oblin [at] orange.com