Commit 1934f0ff authored by Walter Heck's avatar Walter Heck Committed by Walter Heck

Docs changes for 2.0.0

parent ba1b63c1
......@@ -2,34 +2,34 @@
For this release OpsTheater components will need to be upgraded manually. In the future we aim to automate as much of this as possible, all help is welcome!
* Gitlab will be upgraded from version 8.6 to 8.7
* Mattermost will be upgraded from version 2.1 to 2.2
* Percona server stays at 5.6.29
* Logstash stays at 2.1.1
* Kibana stays at 4.2.1
* Puppet from 4.4.0 to 4.4.2
* Foreman from 1.10.2 to 1.10.3
* Icinga 2 from 2.4.4 to 2.4.7
* Icinga web 2 from 2.2.0 to 2.2.3
* Filebeat from 1.2.0 to 1.2.2
* grafana stays at 2.5.0
Please see the release notes for a list of versions: https://gitlab.olindata.com/opstheater/opstheater/blob/1360740fc3baaad4fdcb719b8572ac58d0015845/RELEASENOTES.md
* Gitlab will be upgraded from version 8.6 to 8.7
* Mattermost will be upgraded from version 2.1 to 2.2
* Percona server stays at 5.6.29
* Logstash stays at 2.1.1
* Kibana stays at 4.2.1
* Puppet from 4.4.0 to 4.4.2
* Foreman from 1.10.2 to 1.10.3
* Icinga 2 from 2.4.4 to 2.4.7
* Icinga web 2 from 2.2.0 to 2.2.3
* Filebeat from 1.2.0 to 1.2.2
* grafana stays at 2.5.0
Please see the release notes for a list of versions: <https://gitlab.olindata.com/opstheater/opstheater/blob/1360740fc3baaad4fdcb719b8572ac58d0015845/RELEASENOTES.md>
## Steps
1. Disable puppet on all OpsTheater nodes
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
* puppet.example.com
* icinga.example.com
* mysql.example.com
* gitlab.example.com
* elastic.example.com
2. Upgrade MySQL
2. Upgrade MySQL
---
No MySQL upgrade is needed this time, so we just need to upgrade the icinga, puppet and filebeat packages.
......@@ -51,7 +51,7 @@ icinga2-common-2.4.4-1.el7.centos.x86_64
puppet-agent-1.4.1-1.el7.x86_64
```
3. Upgrading elasticsearch
3. Upgrading elasticsearch
---
To upgrade Elasticsearch from 2.2 to 2.3 login to elasticsearch server and run the following commands:
......@@ -85,7 +85,7 @@ icinga2-common-2.4.4-1.el6.x86_64
puppet-agent-1.4.1-1.el6.x86_64
```
4. Upgrading icinga 2
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:
......@@ -132,10 +132,10 @@ icingaweb2-vendor-Parsedown-1.0.0-1.el7.centos.noarch
puppet-agent-1.4.1-1.el7.x86_64
```
5. Upgrading gitlab
5. Upgrading gitlab
---
Login on gitlab.example.com server do the following :
Login on gitlab.example.com server do the following :
```bash
[root@gitlab ~]# rpm -qa | egrep -i 'icinga2|puppet-agent|filebeat|gitlab' | sort
......@@ -168,10 +168,10 @@ icinga2-common-2.4.4-1.el7.centos.x86_64
puppet-agent-1.4.1-1.el7.x86_64
```
6. Upgrading puppetserver
6. Upgrading puppetserver
---
Login on puppet.example.com server do the following :
Login on puppet.example.com server do the following :
```bash
[root@puppet ~]# rpm -qa | egrep -i 'icinga2|puppet|filebeat' | sort
......@@ -209,25 +209,25 @@ 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
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 puppet repository checked out
* merge the upstream opstheater 1.5 repo into the local repository
* 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`
* on your development environment make sure you have the latest production branch of your puppet repository checked out
* merge the upstream opstheater 1.5 repo into the local repository
* 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
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
* 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
......@@ -239,7 +239,7 @@ If the puppet agent runs in noop mode are succesful you can enable the agents an
puppet agent --enable; puppet agent -t
```
9. Test all the systems manually
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)
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>)
......@@ -2,79 +2,80 @@
TODO: this is a work in progress, it is not complete and might not be fully up to date
* Make sure you have read https://gitlab.olindata.com/opstheater/opstheater-docs/blob/master/1.7/deployment/scenario.md
* Make sure you have read <https://gitlab.olindata.com/opstheater/opstheater-docs/blob/master/1.7/deployment/scenario.md>
1. Requirements gathering phase
1.1 which tools do you want to use of the OpsTheater stack
1. Requirements gathering phase
* Puppet? Open Source or Enterprise?
* The foreman?
* Grafana, Kibana, elasticsearch?
* Icinga?
* Gitlab, Mattermost?
1.1 which tools do you want to use of the OpsTheater stack
1.2 hostnames
* Puppet? Open Source or Enterprise?
* The foreman?
* Grafana, Kibana, elasticsearch?
* Icinga?
* Gitlab, Mattermost?
Recommended…
1.2 hostnames
* puppet.example.com (puppetmaster / foreman (if foss))
* icinga.example.com (icinga + icinga web)
* elastic.example.com (kibana / logstash / elasticsearch / influxdb / grafana)
* gitlab.example.com (gitlab / mattermost)
* mysql.example.com (mysql)
Recommended…
1.3 resource allocation (either the default scheme or custom if need be)
* puppet.example.com (puppetmaster / foreman (if foss))
* icinga.example.com (icinga + icinga web)
* elastic.example.com (kibana / logstash / elasticsearch / influxdb / grafana)
* gitlab.example.com (gitlab / mattermost)
* mysql.example.com (mysql)
1.4 HTTPS Yes or No?
1.3 resource allocation (either the default scheme or custom if need be)
If yes, need certificates for above hostnames
1.4 HTTPS Yes or No?
1.5 users (name, email address), groups
If yes, need certificates for above hostnames
We need to create a sheet of sorts to collect what types of users and what types of access to be given eg:
Foreman users
Puppet users
Shell users (admin access)
Gitlab / Mattermost users
Icinga users
1.5 users (name, email address), groups
1.6 SMTP Relay information for our stack being able to send emails
We need to create a sheet of sorts to collect what types of users and what types of access to be given eg:
* Foreman users
* Puppet users
* Shell users (admin access)
* Gitlab / Mattermost users
* Icinga users
SMTP Server Hostname
SMTP Server Port
Authenticated? If yes...
username:
Password:
Uses TLS?
Uses StartTLS?
1.6 SMTP Relay information for our stack being able to send emails
1.7 any custom requirements
* SMTP Server Hostname
* SMTP Server Port
* Authenticated? If yes...
* username:
* Password:
* Uses TLS?
* Uses StartTLS?
1.8 any needed migrations from other tools
1.7 any custom requirements
1.9 Choice of provider(s) (cloud / physical)
1.8 any needed migrations from other tools
2. deploy vms/physical nodes
1.9 Choice of provider(s) (cloud / physical)
3. Installation of master server (FOSS or not)
2. deploy vms/physical nodes
More details…
3. Installation of master server (FOSS or not)
4. Customization of client-specific opstheater-control repository to include client-specific configuration, SSL certificates, URLs, SMTP provider, etc.
More details…
details...
4. Customization of client-specific opstheater-control repository to include client-specific configuration, SSL certificates, URLs, SMTP provider, etc.
5. Installation of requested OpsTheater-provided servers & services
details...
master.opstheater.companyname.xxx (puppetmaster / foreman (if foss))
monitoring.opstheater.companyname.xxx (icinga)
logging.opstheater.companyname.xxx server (kibana / other techs…?)
code.opstheater.companyname.xxx server (gitlab / mattermost)
others...
5. Installation of requested OpsTheater-provided servers & services
6. Any manual configuration of OpsTheater servers not yet automated
master.opstheater.companyname.xxx (puppetmaster / foreman (if foss))
monitoring.opstheater.companyname.xxx (icinga)
logging.opstheater.companyname.xxx server (kibana / other techs…?)
code.opstheater.companyname.xxx server (gitlab / mattermost)
others...
7. (per-request) Client-specific configuration pre-discussed, such as setting up foreman to be able to deploy specific server types.
6. Any manual configuration of OpsTheater servers not yet automated
8. Creation of requested users in the various systems per-requested by the client.
7. (per-request) Client-specific configuration pre-discussed, such as setting up foreman to be able to deploy specific server types.
8. Creation of requested users in the various systems per-requested by the client.
## Elastic Server Setup
1. Configure repo and install puppet.
1. Configure repo and install puppet.
```
/bin/yum install -y epel-release http://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
......@@ -8,26 +8,22 @@
/opt/puppetlabs/bin/puppet config set --section main server puppet.olindata.com
```
2. Configure/adjust Master
2. Configure/adjust Master
Ensure correct filename ymal file exists in bellow locations:
Ensure correct filename yaml file exists in below locations:
```
/etc/puppetlabs/code/environments/production/hieradata/10.fqdn
```
Merge elastic.olindata.com.yaml and logstash.olindata.vm.yaml As we have single server or both application.
(Remember to edit the file and remove extra --- and change the server name to elastic from elasticsearch)
Logstash settings needs to be checked for public vs private ip
Ref: - "elastic.olindata.com:9200"
3. wget needs to be installed before running puppet agent -t.
3. wget needs to be installed before running puppet agent -t.
4. Add DNS entry for logstash.olindata.com OR update /etc/filebeat/filebeat.yml to talk to elastic.olindata.com
4. Add DNS entry for logstash.olindata.com OR update /etc/filebeat/filebeat.yml to talk to elastic.olindata.com
5. update site.pp as bellow:
5. update site.pp as bellow:
```
node 'elastic.olindata.com' {
......@@ -36,4 +32,4 @@
}
```
6. Run Puppet agent.
6. Run Puppet agent.
## GitLab Server Setup.
1. Configure repo and install puppet.
1. Configure repo and install puppet.
```
/bin/yum install -y epel-release http://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
......@@ -8,7 +8,7 @@
/opt/puppetlabs/bin/puppet config set --section main server puppet.olindata.com
```
2. Configure/adjust Master
2. Configure/adjust Master
Ensure correct filename ymal file exists in bellow locations:
......@@ -16,13 +16,13 @@
/etc/puppetlabs/code/environments/production/hieradata/10.fqdn
```
3. Once this is done. Puppet agent.
3. Once this is done. Puppet agent.
```
/opt/puppetlabs/bin/puppet agent -t
```
4. Content Setup
4. Content Setup
Currently gitlab / mattermost integration requires a bit of manual attention post-install including…
Creating opstheater-control repository
......
# Icinga Server Setup
1. Configure repo and install puppet.
1. Configure repo and install puppet.
```
/bin/yum install -y epel-release http://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
......@@ -8,7 +8,7 @@
/opt/puppetlabs/bin/puppet config set --section main server puppet.olindata.com
```
2. Configure/adjust Master
2. Configure/adjust Master
* Update `/etc/puppetlabs/code/environment/production/hieradata/60-.opstheater.yaml` in icinga section to reflect correct name of icinga on the below line.
* Also update the ipaddress to the public ipaddress.
......@@ -27,6 +27,6 @@
}
```
3. Run puppet agent
3. Run puppet agent
4. Open icinga2 web frontend and log in with icingaadmin / icinga
4. Open icinga2 web frontend and log in with icingaadmin / icinga
......@@ -2,8 +2,8 @@
The user management of mattermost is done through gitlab, but the process is currently a bit strange. Follow the following steps to start using mattermost:
1. Login to the gitlab server and edit `/etc/gitlab/gitlab.rb`. Find the setting `mattermost['team_enable_team_creation']` and change it's value to true.
2. run `gitlab-ctl reconfigure` to let these settings take effect.
3. Go to the mattermost address you configured (eg. `http://chat.opstheater.vm`), it'll now prompt you to create a team.
4. Create a team, then revers the setting `mattermost['team_enable_team_creation']` back to false and run `gitlab-ctl reconfigure` once more.
5. Log in to mattermost like normal.
1. Login to the gitlab server and edit `/etc/gitlab/gitlab.rb`. Find the setting `mattermost['team_enable_team_creation']` and change it's value to true.
2. run `gitlab-ctl reconfigure` to let these settings take effect.
3. Go to the mattermost address you configured (eg. `http://chat.opstheater.vm`), it'll now prompt you to create a team.
4. Create a team, then revers the setting `mattermost['team_enable_team_creation']` back to false and run `gitlab-ctl reconfigure` once more.
5. Log in to mattermost like normal.
## MYSQL server Setup
1. Configure repo and install puppet.
1. Configure repo and install puppet.
```
/bin/yum install -y epel-release http://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
......@@ -8,7 +8,7 @@
/opt/puppetlabs/bin/puppet config set --section main server puppet.olindata.com
```
2. Configure/adjust Master
2. Configure/adjust Master
update /etc/puppetlabs/code/environment/production/hieradata/60-.opstheater.yaml to reflect myqsl server ip.
......@@ -34,7 +34,7 @@
'opstheater::mysql::whitelist_range': '10.129.%'
```
3. Run Puppet Agent
3. Run Puppet Agent
This will throw error for the 1st time as below but on the second run it works fine.
......
......@@ -19,4 +19,8 @@ Usecase: in this scenario you want to explore OpsTheater and see what it is all
Usecase: in this scenario you are planning a (new) production environment and need to make careful choices that fit for your architecture and your usecase. In this scenario we can't do the deployment in an automated fashion, so expect lots of planning work.
Read more:
<<<<<<< ba1b63c1c1c26f56c311696b360d22ddbd3e53ad
https://gitlab.olindata.com/opstheater/opstheater-docs/blob/master/2.0/deployment/production.md
=======
<https://gitlab.olindata.com/opstheater/opstheater-docs/blob/master/1.7/deployment/production.md>
>>>>>>> Docs changes for 2.0.0
......@@ -4,5 +4,5 @@ Q) I am having trouble getting the stack up and running
A) We've seen several issues regarding the versions of vagrant and virtualbox in combination with your host OS. Confirmed working combinations:
Host: Ubuntu 16.04/16.10
Vagrant: 1.8.1 (1.8.5: https://github.com/mitchellh/vagrant/issues/5186 and 1.9.1)
Vagrant: 1.8.1 (1.8.5: <https://github.com/mitchellh/vagrant/issues/5186> and 1.9.1)
Virtualbox: 5.0.30
## OpsTheater Release Checklist for Release 1.7.0
## OpsTheater Release Checklist for Release 2.0.0
**Following checks need to be performed after every release :**
- Check if you can login into following using your web browser :
- [ ] Foreman
- [ ] Gitlab
- [ ] Mattermost
- [ ] Icinga
- [ ] Grafana
- [ ] Kibana
- [ ] Check if you are able to send message using Mattermost.
- [ ] Check if you are able to create a user in Foreman and can login with that user.
- [ ] Check if you can see the logs coming up for OpsTheater components in Icinga Web UI.
- [ ] Try to search for a host in Kibana and check if you are getting logs of that host.
- [ ] Check if you can create users and usergroups in Icinga
**Release specific Checks :**
*These checks will change on every release and will be more specific for the new changes that we are introducing in this release.*
- [ ] Login to Grafana web UI and check if you can see different metrics in Grafana
- [ ] Login to grafana and check that you can see two datasources. Edit each one of them and press "Test Connection" to make sure they work.
- [ ] Login to Kibana web UI and try to search for logs having source as "/var/log/puppetlabs/puppetserver/puppetserver-access.log". Check if the value of field timestamp is same as the time given in message field
......@@ -2,7 +2,7 @@
This borrows heavily and is modeled after: <http://doc.gitlab.com/ce/release/monthly.html>
**NOTE: This is a guide used by OlinData BV for handling releases of OpsTheater. As an end user you do not need to use this guide.**
**NOTE: This is a guide used by OlinData BV for handling releases of OpsTheater. As an end user you (probably) do not need to use this guide.**
# Release cycle
......
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