Skip to main content

Manager

Stable release

warning

Always read the release notes first to learn what has changed and what adjustments are necessary. Read the release notes even if you are only updating from e.g. 7.0.2 to 7.0.5.

In the example, OSISM release 7.0.5 is used.

  1. Set the new manager version in the configuration repository.

    MANAGER_VERSION="7.0.5"
    sed -i "~s,^manager_version:.*\$,manager_version: ${MANAGER_VERSION}," environments/manager/configuration.yml
  2. If openstack_version or ceph_version are set in environments/manager/configuration.yml (or anywhere else), they must be removed. If these are set, the stable release is not used for these components.

  3. Sync the image versions in the configuration repository.

    make sync
  4. Commit and push changes in the configuration repository. Since everyone here has their own workflows for changes to the configuration repository, only a generic example for Git.

    git commit -a -s -m "manager: use OSISM version ${MANAGER_VERSION?}"
    git push

Working with Git branches

For example, for compliance and security reasons, many organizations prefer to prepare changes to production systems on dedicated Git branches, roll them out to the production environment using the 4-eyes control principle and then finally transfer them to the main branch through a review and release process.

A typical scenario is the Manager Upgrade.

OSISM offers the option of using specific Git branches on the manager.

The Git branch can be changed in the following way:

  1. Create a branch

    git checkout -b YOUR-BRANCH-FOR-CHANGE-XYZ
  2. Set the branch name of your deployment branch with the variable configuration_git_version in configuration.yml. This needs always to be changed on the manager node later if you merge the current branch to another target branch.

    BRANCH="$(git rev-parse --abbrev-ref HEAD)"
    sed -i "~s,^configuration_git_version:.*\$,configuration_git_version: ${BRANCH}," environments/manager/configuration.yml
    git commit -m "Starting to work on #<issue-id>" -s environments/manager/configuration.yml
    git push
  3. Login to the manager and activate the branch (not needed when performing a initial manager install)

    cd /opt/configuration
    git fetch
    git checkout YOUR-BRANCH-FOR-CHANGE-XYZ
    osism apply configuration
  4. Recommended: Rebuild inventories and update facts (On changing branches there are oft potential changes in the inventory structure)

    osism reconciler sync
    osism apply facts
  5. Start your work on the topic and perfom a final review when the topic is complete

OpenSearch integration

With the command osism log opensearch it is possible to send SQL queries to the OpenSearch service. For the command to be functional, the OpenSearch integration must be activated in the manager environment and the OpenSearch address and port must be set.

environments/manager/configuration.yml
manager_opensearch_enable: true
manager_opensearch_address: api-int.testbed.osism.xyz
manager_opensearch_port: 9200
manager_opensearch_protocol: https

The integration can also be enabled later. osism update manager is then executed after the configuration has been changed.

OpenStack broker integration

If the Baremetal Service Integration in OSISM is used, the OpenStack Broker integration is required. The integration itself is activated by setting the parameter enable_listener to true.

The hosts in the manager_listener_broker_hosts list are the control nodes of OpenStack. The user is set via manager_listener_broker_username. On OpenStack's RabbitMQ broker, the user openstack is present by default.

environments/manager/configuration.yml
enable_listener: true
manager_listener_broker_hosts:
- 192.168.16.10
- 192.168.16.11
- 192.168.16.12
manager_listener_broker_username: openstack
manager_listener_broker_uri: "{% for host in manager_listener_broker_hosts %}amqp://{{ manager_listener_broker_username }}:{{ manager_listener_broker_password }}@{{ host }}:5672/{% if not loop.last %};{% endif %}{% endfor %}"

The password used when using the openstack user is rabbitmq_password from environments/kolla/secrets.yml.

environments/manager/secrets.yml
manager_listener_broker_password: RABBITMQ_PASSWORD