Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

CloudStack does not have any means to dynamically add new hypervisor types. The hypervisor types are internally preset by an enum defined within the CloudStack codebase and unless a new version supports a new hypervisor it is not possible to add a host of a hypervisor that is not in part of the enum. It is possible to implement minimal changes in CloudStack to support a new hypervisor plugin that may be developed privately

This PR is an initial work on allowing new dynamic hypervisor types (adds a new element to the HypervisorType enum, but allows variable display name for the hypervisor)

Proposed Future work:

  • Replace the HypervisorType from a fixed enum to an extensible registry mechanism, registered from the hypervisor plugin

References

...

  • The new hypervisor type is internally named 'Custom' to the CloudStack services (management server and agent services, database records).
  • A new global setting ‘hypervisor.custom.display.name’ allows administrators to set the display name of the hypervisor type. The display name will be shown in the CloudStack UI and API.
    • In case the ‘hypervisor.list’ setting contains the display name of the new hypervisor type, the setting value is automatically updated after the ‘hypervisor.custom.display.name’ setting is updated.
  • The new Custom hypervisor type supports:
    • Direct downloads (the ability to download templates into primary storage from the hypervisor hosts without using secondary storage)
    • Local storage (use hypervisor hosts local storage as primary storage)
    • Template format: RAW format (the templates to be registered on the new hypervisor type must be in RAW format)
  • The UI is also extended to display the new hypervisor type and the supported features listed above.
  • The above are the minimal changes for CloudStack to support the new hypervisor type, which can be tested by integrating the plugin codebase with this feature.

...