9 plugin Cloudstack Developer Day

1,732 views
1,553 views

Published on

By Alex Huang
Architect, Cloud Platforms Group, Citrix Systems Inc.

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
  • POR FAVOR ESTA PROPUESTA DE NEGOCIO, ESCRIBA EN MI ESPALDA ID si está interesado.
    ------------------------------------

    Feliz mes nuevo abundante de noviembre,

    Hola.

    ¿Cómo estás hoy?
    Espero que estés bien y que todo está bien con usted? gracias God.My nombre es jenifer PETERSON. (estoy buscando una buena relación y además que tenga propuesta de negocios con usted) si lo desea. por favor, escríbeme mensaje a mi buzón de correo electrónico
    Thanks,>

    jeniferpeterson1 en / yh / dt / cum
    ---------------------

    PLEASE THIS BUSINESS PROPOSAL, WRITE ON MY ID BACK IF INTERESTED.
    ------------------------------------

    Happy abundant new month of November,

    Hello.

    how are you today?
    I hope you are fine and all is well with you ? thank God.My name is JENIFER PETERSON .(i am looking for a good relationship and also to have business proposal with you )if you want. please write me message to my email box
    THANKS,>

    jeniferpeterson1 at / yh / dt / cum
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
1,732
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
107
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

9 plugin Cloudstack Developer Day

  1. 1. Alex HuangArchitectNovember 10, 2012
  2. 2. • Have always recognized that innovation in Cloud IaaS will not be from only Citrix • Software built on top of adaptors written by third-party • Well defined control and data paths • Server Resource can be delivered to remote data centers to be co- located with the resource that it controls • VM images can be downloaded to data center and started/stopped to support operations within remote data centers2
  3. 3. • DeploymentPlanner – Algorithms and heuristics to select pod, cluster, hosts to deploy VMs and storage pools to create VM on• NetworkElement – Third-party implementation of physical network elements to support a VM deployed in a network• ServerResource – API translation layer• PluggableService – Additional APIs introduced by third party vendors to configure their own services• Discoverer – Third-party specified code to introduce new ServerResource to CloudStack• NetworkGuru – Different ways to do ip address allocation
  4. 4. • PluggableService that defines APIs to configure the plug-in• ServerResource extension that is meant to be run co-located with the resource (no DB access)• Manager code that runs within the management server with access to management database• Implement Adaptor interfaces to implement functionalities required by CloudStack• Change components.xml to make the plug-in and adaptors active
  5. 5. • Operations are atomic• Operations are idempotent• Do not modify CloudStack database tables
  6. 6. • Well-defined interfaces that third-party implements are configurable through components.xml• Components specification can inherit from and extend the default specification• CloudStack assembles the components according to the xml at startup time• CloudStack assembles the list of APIs it supports according to the PlugableService specified in the xml
  7. 7. <management-server class="com.cloud.server.ManagementServerImpl"library="com.cloud.configuration.DefaultComponentLibrary"> <adapters key="com.cloud.network.element.NetworkElement"> <adapter name="DomainRouter" class="com.cloud.network.element.VirtualRouterElement"/> <adapter name="Ovs" class="com.cloud.network.element.OvsElement"/> <adapter name="ElasticLoadBalancer" class="com.cloud.network.element.ElasticLoadBalancerElement"/> </adapters> <pluggableservice name="VirtualRouterElementService"key="com.cloud.network.element.VirtualRouterElementService"class="com.cloud.network.element.VirtualRouterElement"/></management-server>• Defines three different NetworkElement adaptors, one of which is VirtualRouterElement• Defines a PluggableService for the VirtualRouterElement so that it can be configured using its own APIs
  8. 8. • Defines the capabilities of the NetworkElement, which is used by CloudStack to determine if certain operations can be done• Defines the call CloudStack makes when a VM is provisioned on the network• Defines the call CloudStack makes when a VM leaves the network• Defines the call CloudStack makes when a network changes its state
  9. 9. public interface PluggableService { /** * The config file name that lists API commands supported by this pluggable service */ String getPropertiesFile();}Properties File define over-the-wire method name to Java class mappingcreateAccount=com.cloud.api.commands.CreateAccountCmd
  10. 10. • NetscalerResource – Translation layer from CloudStack LoadBalancing Commands to NetScaler API. Can be co-located with NetScaler deployment.• ExternalLoadBalancerDeviceManagerImpl – Server side implementation that have access to DB.• NetscalerExternalLoadBalancerElement – NetworkElement implementation that hooks the ExternalLoadBalancerDeviceManagerImpl code to the CloudStack core.• NetscalerNetworkElementService – PluggableService implementation that adds Netscaler specific configuration API.
  11. 11. • Provide third-party software to present end user API• Provide multi-tenancy support in end user facing API• Provide third-party software to present end user facing UI• Provide third-party software the ability to upgrade database schema independent of CloudStack• Provide dynamic loading of third-party software without restart of management server
  12. 12. Q&A12

×