Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Plug-ins

Plug-in ins are delivered as a jar and contain modules and extensions as below.  PlugA plug-in are is merely a container for one or more modules.  Plug-ins do no not exist as a first class object in the code, only the modules are.  The modules in the plug-in are discovered and loaded dynamically.

...

CloudStack is arranged into a series module of modules that are in a hierarchical arrangement.  Depending on which modules are selected to load determines what extensions are loaded.  The above picture is used an example of modules but does not reflect the actual module hierarchy in CloudStack.

...

Spring XML files for the component named "mycomponent" are expected to be found at META-INF/cloudstack/mycomponet/*context.xml. A module can define as many XML files as it chooses.

Hierarchy as of 4.3

Below is the actually hierarchy of modules in ACS 4.3

No Format

 bootstrap
   system
     core
       allocator
         host-allocator-random
         planner
           api-planner
           baremetal-planner
           explicit-dedication
           host-anti-affinity
           implicit-dedication
           server-planner
           user-concentrated-pod
         server-allocator
       api
         acl-static-role-based
         ldap
         md5
         plaintext
         rate-limit
         server-api
         sha256salted
       backend
         compute
           baremetal-compute
           kvm-compute
           ovm-compute
           server-alert-adapter-compute
           server-compute
           server-fencer
           server-investigator
           vmware-compute
           xenserver-compute
         network
           baremetal-network
           elb
           midonet
           nvp
           ovs
           server-network
           ssp
           vmware-network
           vns
           vxlan
         server-alert-adapter-backend
         storage
           baremetal-storage
           server-alert-adapter-storage
           server-storage
           server-template-adapter
           storage-allocator
           storage-image-default
           storage-image-s3
           storage-image-swift
           storage-volume-default
           storage-volume-solidfire
           vmware-storage
       discoverer
         baremetal-discoverer
         ovm-discoverer
         secondary-storage-discoverer
         server-discoverer
         vmware-discoverer
         xenserver-discoverer

Extensions

Extensions are the specific interfaces that can be implemented in ACS to provide functionality.  For example NetworkElement or PrimaryDataStoreProvider.  To implement an extension you must do the following

...