Creating roles

Creating roles

Each release has its own role list which can be customized. A plain list of roles is stored in the “roles” section of each release in the openstack.yaml:

roles:
  - controller
  - compute
  - cinder

The order in which the roles are listed here determines the order in which they are displayed on the UI.

For each role in this list there should also be entry in “roles_metadata” section. It defines role name, description and conflicts with other roles:

roles_metadata:
  controller:
    name: "Controller"
    description: "..."
    conflicts:
      - compute
  compute:
    name: "Compute"
    description: "..."
    conflicts:
      - controller
  cinder:
    name: "Storage - Cinder LVM"
    description: "..."

“conflicts” section should contain a list of other roles that cannot be placed on the same node. In this example, “controller” and “compute” roles cannot be combined.

Roles restrictions

You should take the following restrictions for the role into consideration:

  1. Controller
    • There should be at least one controller. The Not enough deployed controllers error occurs when you have 1 Controller installed and want to redeploy that controller. During redeployment, it will be taken off, so for some time the cluster will not have any operating controller, which is wrong.
    • If we are using simple multinode mode, then we cannot add more than one controller.
    • In HA mode, we can add as much as possible controllers, though it is recommended to add at least 3.
    • Controller role cannot be combined with compute.
  2. Compute
    • It is recommended to have at least one compute in non-vCenter env (https://bugs.launchpad.net/fuel/+bug/1381613: note that this is a bug in UI and not yaml-specific). Beginning with Fuel 6.1, no vCenter-related limitations are longer present.
    • Computes cannot be combined with controllers.
    • Computes cannot be added if vCenter is chosen as a hypervisor.
  3. Cinder
    • It is impossible to add Cinder nodes to an environment with Ceph RBD.
    • At least one Cinder node is recommended
    • Cinder LVM needs to be enabled on the Settings tab of the Fuel web UI.
  4. MongoDB
    • Cannot be added to already deployed environment.
    • Can be added only if Ceilometer is enabled.
    • Cannot be combined with Ceph OSD and Compute.
    • For a simple mode there has to be 1 Mongo node, for HA at least 3.
    • It is not allowed to choose MongoDB role for a node if external MongoDB setup is used.
  5. Zabbix
    • Only available in experimental ISO.
    • Cannot be combined with any other roles.
    • Only one Zabbix node can be assigned in an environment.
  6. Ceph
    • Cannot be used with Mongo and Zabbix.
    • Minimal number of Ceph nodes is equal to the Ceph object replication factor value from the Settings tab of the Fuel web UI.
    • Ceph cannot be added if vCenter is chosen as a hypervisor and volumes_ceph, images_ceph and ephemeral_ceph settings are all False.
  7. Ceilometer
    • Either a node with MongoDB role or external MongoDB turned on is required.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

Contents