Commit f4e8bfaa authored by Walter Heck's avatar Walter Heck

First version of the official upgrade instructions

parent 913c098f
# OpsTheater 1.5.0 Upgrade instructions (from 1.4.0)
For this release OpsTheater components will need to be upgraded manually.
OpsTheater components you need to upgrade in this release:
* Gitlab will be upgraded from version 8.5 to 8.6
* Mattermost will be upgraded from version 2.0 to 2.1
* Percona server from 5.6.28 to 5.6.29
* Elasticsearch from 2.2. To 2.3
* Logstash stays the same
* Kibana stays the same
* Puppet from 4.3.2 to 4.4.0
* Foreman stays the same
* Icinga 2 from 2.4.3 to 2.4.4
* Icinga web 2 from 2.1.2 to 2.2.0
## Steps
1. Disable puppet on all OpsTheater nodes
---
Login to the following servers one by one and disable puppet agent by command `puppet agent --disable`
* puppet.example.com
* icinga.example.com
* mysql.example.com
* gitlab.example.com
* elastic.example.com
2. Upgrade MySQL
---
To upgrade Percona server from 5.6.28 to 5.6.29 login to mysql server and run the following command:
```bash
# if you want to update all packages (not just OpsTheater packages) feel free
# to run `yum update` without specifying packages
yum update icinga2 puppet-agent filebeat Percona-Server-server-56.x86_64
```
After that is done, check that the installed versions are correct:
```bash
[root@mysql ~]# rpm -qa | egrep -i 'icinga2|puppet-agent|filebeat|^percona-server' | sort
filebeat-1.2.0-1.x86_64
icinga2-2.4.4-1.el7.centos.x86_64
icinga2-bin-2.4.4-1.el7.centos.x86_64
icinga2-common-2.4.4-1.el7.centos.x86_64
Percona-Server-client-56-5.6.29-rel76.2.el7.x86_64
Percona-Server-server-56-5.6.29-rel76.2.el7.x86_64
Percona-Server-shared-56-5.6.29-rel76.2.el7.x86_64
puppet-agent-1.4.1-1.el7.x86_64
```
3. Upgrading elasticsearch
---
To upgrade Elasticsearch from 2.2 to 2.3 login to elasticsearch server and run the following commands:
```bash
# check the current versions of OpsTheater components
[root@elastic ~]# rpm -qa | egrep -i 'icinga2|puppet-agent|filebeat|elastic' | sort
elasticsearch-2.2.0-1.noarch
filebeat-1.1.1-1.x86_64
icinga2-2.4.3-1.el6.x86_64
icinga2-bin-2.4.3-1.el6.x86_64
icinga2-common-2.4.3-1.el6.x86_64
puppet-agent-1.3.5-1.el6.x86_64
```
```bash
# if you want to update all packages (not just OpsTheater packages) feel free
# to run `yum update` without specifying packages
yum update icinga2 puppet-agent filebeat elasticsearch
```
After that is done, check that the installed versions are correct:
```bash
[root@elastic ~]# rpm -qa | egrep -i 'icinga2|puppet-agent|filebeat|elastic' | sort
elasticsearch-2.3.0-1.noarch
filebeat-1.2.0-1.x86_64
icinga2-2.4.4-1.el6.x86_64
icinga2-bin-2.4.4-1.el6.x86_64
icinga2-common-2.4.4-1.el6.x86_64
puppet-agent-1.4.1-1.el6.x86_64
```
4. Upgrading icinga 2
---
To upgrade Icinga 2 from 2.4.3 to 2.4.4 and Icinga web 2 from 2.1.2 to 2.2.0 login to the elastic server and run the following commands:
```bash
[root@icinga ~]# rpm -qa | egrep -i 'icinga2|puppet-agent|filebeat|^icingaweb2-' | sort
filebeat-1.1.1-1.x86_64
icinga2-2.4.3-1.el7.centos.x86_64
icinga2-bin-2.4.3-1.el7.centos.x86_64
icinga2-common-2.4.3-1.el7.centos.x86_64
icinga2-ido-mysql-2.4.3-1.el7.centos.x86_64
icingaweb2-2.2.0-1.el7.centos.noarch
icingaweb2-common-2.2.0-1.el7.centos.noarch
icingaweb2-vendor-dompdf-0.6.2-1.el7.centos.noarch
icingaweb2-vendor-HTMLPurifier-4.7.0-1.el7.centos.noarch
icingaweb2-vendor-JShrink-1.0.1-1.el7.centos.noarch
icingaweb2-vendor-lessphp-0.4.0-1.el7.centos.noarch
icingaweb2-vendor-Parsedown-1.0.0-1.el7.centos.noarch
puppet-agent-1.3.5-1.el7.x86_64
```
```bash
# if you want to update all packages (not just OpsTheater packages) feel free
# to run `yum update` without specifying packages
yum update puppet-agent filebeat icinga2 icingaweb2
```
After that is done, check that the installed versions are correct:
```bash
[root@icinga ~]# rpm -qa | egrep -i 'icinga2|puppet-agent|filebeat|^icingaweb2-' | sort
filebeat-1.2.0-1.x86_64
icinga2-2.4.4-1.el7.centos.x86_64
icinga2-bin-2.4.4-1.el7.centos.x86_64
icinga2-common-2.4.4-1.el7.centos.x86_64
icinga2-ido-mysql-2.4.4-1.el7.centos.x86_64
icingaweb2-2.2.0-1.el7.centos.noarch
icingaweb2-common-2.2.0-1.el7.centos.noarch
icingaweb2-vendor-dompdf-0.6.2-1.el7.centos.noarch
icingaweb2-vendor-HTMLPurifier-4.7.0-1.el7.centos.noarch
icingaweb2-vendor-JShrink-1.0.1-1.el7.centos.noarch
icingaweb2-vendor-lessphp-0.4.0-1.el7.centos.noarch
icingaweb2-vendor-Parsedown-1.0.0-1.el7.centos.noarch
puppet-agent-1.4.1-1.el7.x86_64
```
5. Upgrading gitlab
---
Login on gitlab.example.com server do the following :
```bash
[root@gitlab ~]# rpm -qa | egrep -i 'icinga2|puppet-agent|filebeat|gitlab' | sort
filebeat-1.1.1-1.x86_64
gitlab-ce-8.5.5-ce.0.el7.x86_64
gitlab-ci-multi-runner-1.0.4-1.x86_64
icinga2-2.4.3-1.el7.centos.x86_64
icinga2-bin-2.4.3-1.el7.centos.x86_64
icinga2-common-2.4.3-1.el7.centos.x86_64
puppet-agent-1.3.5-1.el7.x86_64
```
Run following command to Upgrade Gitlab to 8.6 from 8.5 and Mattermost to 2.1 from 2.0
```bash
# if you want to update all packages (not just OpsTheater packages) feel free
# to run `yum update` without specifying packages
yum update puppet-agent filebeat icinga2 gitlab-ce
```
After that is done, check that the installed versions are correct:
```bash
[root@gitlab ~]# rpm -qa | egrep -i 'icinga2|puppet-agent|filebeat|gitlab' | sort
filebeat-1.2.0-1.x86_64
gitlab-ce-8.6.2-ce.0.el7.x86_64
gitlab-ci-multi-runner-1.0.4-1.x86_64
icinga2-2.4.4-1.el7.centos.x86_64
icinga2-bin-2.4.4-1.el7.centos.x86_64
icinga2-common-2.4.4-1.el7.centos.x86_64
puppet-agent-1.4.1-1.el7.x86_64
```
6. Upgrading puppetserver
---
Login on puppet.example.com server do the following :
```bash
[root@puppet ~]# rpm -qa | egrep -i 'icinga2|puppet|filebeat' | sort
filebeat-1.1.1-1.x86_64
icinga2-2.4.3-1.el7.centos.x86_64
icinga2-bin-2.4.3-1.el7.centos.x86_64
icinga2-common-2.4.3-1.el7.centos.x86_64
puppet-agent-1.3.5-1.el7.x86_64
puppetdb-3.2.4-1.el7.noarch
puppetdb-termini-3.2.4-1.el7.noarch
puppetlabs-release-pc1-1.0.0-1.el7.noarch
puppetserver-2.2.1-1.el7.noarch
```
To upgrade Puppet from 4.3.2 to 4.4.0 run following command on puppet server :
```bash
# if you want to update all packages (not just OpsTheater packages) feel free
# to run `yum update` without specifying packages
yum update puppet-agent filebeat icinga2 puppetdb puppetserver
```
After that is done, check that the installed versions are correct:
```bash
[root@puppet ~]# rpm -qa | egrep -i 'icinga2|puppet|filebeat' | sort
filebeat-1.2.0-1.x86_64
icinga2-2.4.4-1.el7.centos.x86_64
icinga2-bin-2.4.4-1.el7.centos.x86_64
icinga2-common-2.4.4-1.el7.centos.x86_64
puppet-agent-1.4.1-1.el7.x86_64
puppetdb-4.0.0-1.el7.noarch
puppetdb-termini-3.2.4-1.el7.noarch
puppetlabs-release-pc1-1.0.0-1.el7.noarch
puppetserver-2.3.1-1.el7.noarch
```
7. Deploy the puppetcode for OpsTheater 1.5.0 to your puppetmaster
---
* on your development environment make sure you have the latest production branch of your OpsTheater puppet repository checked out
* download the OpsTheater 1.5.0 release tarball: https://gitlab.olindata.com/opstheater/opstheater/repository/archive.tar.gz?ref=releases%2F1.5.0
* unpack it into the directory that contains your internal OpsTheater puppet repo
* merge conflicts and commit and push to your internal gitlab instance
* Login to Puppet Master server (puppet.example.com) and run r10k to deploy the latest puppet code on puppet master.
`r10k deploy environment production -pv`
8. Enable puppet for OpsTheater machines
---
Login to following servers one by one and test new puppet code
* puppet.example.com
* icinga.example.com
* mysql.example.com
* gitlab.example.com
* elastic.example.com
```bash
puppet agent --enable; puppet agent -t --noop; puppet agent --disable
```
If the puppet agent runs in noop mode are succesful you can enable the agents and run them once more, only now without --noop
```bash
puppet agent --enable; puppet agent -t
```
9. Test all the systems manually
---
Perform the steps given in release checklist to make sure everything is working fine (https://gitlab.olindata.com/opstheater/opstheater-docs/blob/master/1.5/releasechecklist.md)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment