puppet/README.md
2018-02-24 11:59:49 +00:00

119 lines
4.3 KiB
Markdown

# Rhizomatica Puppet repository
This is a puppet recipe to install and prepare an installation of RCCN on a Debian 9 system.
This is earmarked to be the future default install. For now it probably does not work for you.
Please also see the README in the master branch of this repo.
**INSTALLATION:**
Install Debian 9 (stretch) amd64 from
[https://www.debian.org/distrib/netinst](https://www.debian.org/distrib/netinst)
- During the Install process, create a user '**rhizomatica**'
- Partition as you please, otherwise "**Guided - use entire disk**"
- As above, otherwise "**All files in one partition**" is fine.
- Setup a minimal system. You don't need a **desktop environment**.
I suggest you install **SSH server** and **standard system utilities**.
- Boot into the new system, login, locally or via ssh.
- Get root with `su -` if needed and run the following:
`root@host~# apt-get install git puppet puppetmaster`
(Accept all the additional packages)
`root@host:~# cd /etc/puppet/code`
`root@host:/etc/puppet/code# mkdir environments`
`root@host:/etc/puppet/code# mkdir hiera`
`root@host:/etc/puppet/code# cd environments`
`root@host:/etc/puppet/code/environments# git clone https://github.com/Rhizomatica/puppet.git production`
`root@host:/etc/puppet/code/environments# cd prodution`
`root@host:/etc/puppet/code/environments/production# git checkout whyteks/puppet4-debian`
`root@host:/etc/puppet/code/environments/production# git submodule init`
`root@host:/etc/puppet/code/environments/production# git submodule update`
`root@host:/etc/puppet/code/environments/production# cp hiera.yaml /etc/puppet`
`root@host:/etc/puppet/code/environments/production# cp hieradata/* /etc/puppet/code/hiera# `
`root@host:/etc/puppet/code/environments/production# cd /etc/puppet/code/hiera`
`root@host:/etc/puppet/code/hiera# cp site_template.yaml $(hostname -f | awk '{print tolower($0)}').yaml`
`root@host:/etc/puppet/code/hiera# cd`
`root@host:~# echo "127.0.0.1 puppet" >> /etc/hosts`
`root@host:~# systemctl restart puppetmaster`
You are now ready to run the puppet agent to prepare and configure your system.
**CAVEAT:** FreeSwitch 1.6 is not fully supported yet on Debian 9, but the only problem is a dependency on libssl1.0.0, which is not packaged for Debian 9, so you only need to do the following by hand first: Don't forget, or freeswitch will not install.
```
wget http://http.debian.net/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1%2bdeb8u7_amd64.deb
dpkg -i libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb
rm libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb
```
Now we can install :-)
`root@host:~# puppet agent --test`
This may take a while, it has to fetch all the packages and install them,
Some package installations will fail, so when it is finished you need to do it once more:
`root@host:~# puppet agent --test`
Done! Now you can run the final RCCN setup step, but before you do this,
take a quick look at CAVEATS below.:
`root@host:~# cd /var/rhizomatica/rccn`
`root@host:/var/rhizomatica/rccn# python ./install.py`
Now reboot your system and [file a bug report](https://github.com/Rhizomatica/puppet/issues/new) about whatever is still not working.
### Thanks for testing RCCN! ###
----------
**CAVEATS:**
- Because you don't have the key to our private repo, you will not have any sounds in `/usr/share/freeswitch/sounds/rccn/`.
TIC is not publically distributing the sound files used on the TIC network. Someone needs to make some generic sounds.
- You might want to do `systemctl restart osmo-nitb` before running the
install.py, as if the NITB has never run, the sqlite HLR database will not
exist yet. - What's more, systemd is not starting the NITB on reboot. You
need to do `systemctl start osmo-nitb` manually. :-/
- After install and reboot, considering add the user rhizomatica to the sudo group: `usermod -aG sudo rhizomatica`
- After install, you do not really need the puppet master service running, so
consider disabling it.
- There is one persistant error from puppet, but it doesn't seem to affect us:
```
Error: /Stage[main]/Postgresql::Server::Config/Concat[/etc/postgresql/9.6/main/pg_hba.conf]/Concat_file[/etc/postgresql/9.6/main/pg_hba.conf]: Failed to generate additional resources using 'eval_generate': comparison of Array with Array failed
```
----------