Manager
Warning
It is not possible to update the manager with the osism-manager manager
command.
The osism-update-manager
command must be used for this.
$ osism-manager manager
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details
ERROR! the role 'osism.manager' was not found in /ansible/roles:/ansible/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/ansible
The error appears to be in '/ansible/manager-manager.yml': line 6, column 5, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
roles:
- role: osism.manager
^ here
Preparations
Before starting the upgrade, the configuration repository on the manager node need to be prepared and updated.
The OSISM version need to be set to the new version:
configure version in
environments/manager/configuration.yml
##########################
# versions
ceph_manager_version: 2019.4.0
kolla_manager_version: 2019.4.0
osism_manager_version: 2919.4.0
Make sure, the file requirements.txt
in the root directory of the
configuration repository contains the following python modules:
check
requirements.txt
Jinja2
PyYAML
python-gilt
requests
ruamel.yaml
Create temporary Python virtual environment for executing gilt
:
sudo apt-get install python3-venv
python3 -m venv --prompt osism-upgrade .venv
source .venv/bin/activate
pip3 install wheel
pip3 install python-gilt
Update the Python modules:
pip3 install -r requirements.txt
Next the configuration repository need to be synchronized with the master
configuration repository. Run the following command from the root directory
of the configuration repository at /opt/configuration/
:
MANAGER_VERSION=2019.4.0 gilt overlay
Review the changes made to the configuration repository and commit the changes:
git diff
git add .
git commit -m "Upgrade MANAGER_VERSION=2019.4.0"
git push
The directories environments/manager/roles
and
environments/manager/.venv
need to be deleted on the manager node.
They will be recreated and populated automatically.
rm -rf /opt/configuration/environments/manager/roles
rm -rf /opt/configuration/environments/manager/.venv
Upgrading to Manager version 2019.4.0
ARA Ansible log server
The ARA 1.x introduced in 2019.4.0 is unfortunately not downward compatible to ARA 0.x. Hence, when upgrading to 2019.4.0, the ARA database must be reset.
The ara backend database need to be deleted:
docker rm -f manager_database_1
docker volume rm manager_mariadb
The following ARA configuration block has become obsolete and need to be removed
from environments/ansible.cfg
.
[ara]
database = mysql+pymysql://ara:password@database/ara
The new variable ara_password
need to be added to the file
environments/secrets.yml
:
pwgen -1 32
iMeebi0cofu3eiChoothahdoshi7Ohm7
ansible-vault edit environments/secrets.yml
# manager
ara_password: iMeebi0cofu3eiChoothahdoshi7Ohm7
Ceph
When using Ceph, the following groups must be added to the inventory. Insert after the ceph-osd
group.
# NOTES: Subsequent groups necessary for compatibility to ceph-ansible. Don't change it.
[mdss:children]
ceph-mds
[mgrs:children]
ceph-mgr
[mons:children]
ceph-mon
# [rgws:children]
# ceph-rgw
[osds:children]
ceph-osd
Warning
The environment monitoring
is deprecated. The associated Ansible roles and Docker images
(Prometheus and Prometheus exporters) will be removed in a future release.
Running the upgrade
osism-manager configuration
osism-manager
Note
If encountering the following error message, while running osism-manager
ERROR! Attempting to decrypt but no vault secrets found
Place the vault password of the configuration repository into file in the users home folder and export the following environment variable:
export ANSIBLE_VAULT_PASSWORD_FILE=$HOME/vaultpass