## get salt/puppet version we want
## We do need to update puppet because the current salt config does not work wih < 3.8
yum versionlock delete 0:*
yum install salt-master salt-minion puppet
# temp /etc/hosts to point to the new salt master
systemctl start salt-master
systemctl start salt-minion
salt '*' saltutil.sync_all
## we need to manually change the config of /etc/salt/master:
#
# file_roots:
# base:
# - /srv/salt/
# middleware:
# - /srv/salt/middleware
## new puppetmaster, foreman, puppetdb, pgserver
# temp /etc/hosts to point to the new salt master
# we still need to manually
yum makecache fast
yum update -y
yum clean all
# we still need to manually
mkdir -p /etc/facter/facts.d/
vim /etc/facter/facts.d/host-info.txt
# and finally we need piera to get hiera data before we can bootstrap ...
## Do test every pings are working correctly
salt-run state.orchestrate orch.ping saltenv=middleware
## There are issues when puppetconfig restart the minion during the orchestration process
## Let's do it manually
salt -C 'G@role:master and G@subgroup:puppet and G@hostgroup:middleware' puppetutils.run_apply hostgroup=middleware role=server zone=prod subgroup=puppet
salt -C 'G@role:saltmaster and G@hostgroup:middleware and G@zone:prod' puppetutils.install_stackrpm hostgroup=middleware zone=prod
salt -C 'G@role:saltmaster and G@hostgroup:middleware and G@zone:prod' puppetutils.run_apply hostgroup=middleware role=saltmaster zone=prod
salt -C 'G@role:pgserver and G@hostgroup:middleware and G@zone:prod' puppetutils.run_agent hostgroup=middleware zone=prod