aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/scripts/salt.sh
blob: 9378b6c4332652a7ae12a4f9758bb1a92f328c1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
#
# Deploy Salt Master
#

# ssh to cfg01
ssh ${SSH_OPTS} ubuntu@${SALT_MASTER} bash -s << SALT_INSTALL_END
  sudo -i

  echo -n 'Checking out cloud-init has finished running ...'
  while [ ! -f /var/lib/cloud/instance/boot-finished ]; do echo -n '.'; sleep 1; done
  echo ' done'

  apt-get install -y git curl subversion

  svn export --force https://github.com/salt-formulas/salt-formulas/trunk/deploy/scripts /srv/salt/scripts
  git clone --depth=1 --recurse-submodules https://git.opnfv.org/fuel
  ln -s /root/fuel/mcp/reclass /srv/salt/reclass

  cd /srv/salt/scripts
  MASTER_HOSTNAME=cfg01.${CLUSTER_DOMAIN} DISTRIB_REVISION=nightly ./salt-master-init.sh
  salt-key -Ay

  cp -r /root/fuel/mcp/metadata/service /usr/share/salt-formulas/reclass
  cp -r /root/fuel/mcp/salt-formulas/* /usr/share/salt-formulas/env
  cd /srv/salt/reclass/classes/service && ln -s /usr/share/salt-formulas/reclass/service/opendaylight

  salt '*' saltutil.refresh_pillar
  salt '*' saltutil.sync_all

  salt-call state.apply salt
  salt '*' state.apply salt || salt '*' state.apply salt

  salt -C 'I@salt:master' state.sls linux
  salt -C '* and not cfg01*' state.sls linux

  salt '*' state.sls ntp
SALT_INSTALL_END