[baremetal] Containerize MaaS
[fuel.git] / mcp / scripts / docker-compose / files / entrypoint.sh
index 53f5c6a..a0f72e2 100755 (executable)
@@ -16,8 +16,16 @@ fi
 if [ ! -f /home/ubuntu/.ssh/authorized_keys ]; then
     install -D -o ubuntu /root/fuel/mcp/scripts/mcp.rsa.pub \
                          /home/ubuntu/.ssh/authorized_keys
+    mkdir -p /root/.ssh/
+    echo 'User ubuntu' > /root/.ssh/config
+    echo 'IdentityFile /root/fuel/mcp/scripts/mcp.rsa' >> /root/.ssh/config
 fi
 
+# salt state does not properly configure file_roots in master.conf, hard set it
+cp -a /root/fuel/mcp/scripts/docker-compose/files/opnfv_master.conf \
+      /etc/salt/master.d/opnfv_master.conf
+echo 'master: localhost' > /etc/salt/minion.d/opnfv_slave.conf
+
 # NOTE: Most Salt and/or reclass tools have issues traversing Docker mounts
 # or detecting them as directories inside the container.
 # For now, let's do a lot of copy operations to bypass this.
@@ -33,7 +41,7 @@ cp -a /root/pod_config.yml \
 prefix=/srv/salt/formula/salt-formulas
 rm -f /root/fuel/mcp/salt-formulas/*/.git
 cp -ar /root/fuel/mcp/salt-formulas/* ${prefix}/
-for formula in 'opendaylight' 'tacker'; do
+for formula in 'armband' 'opendaylight' 'tacker' 'quagga'; do
     ln -sf /root/fuel/mcp/salt-formulas/salt-formula-${formula}/* \
            /srv/salt/env/prd/
 done
@@ -59,16 +67,27 @@ for formula in /usr/share/salt-formulas/reclass/service/*; do
     ln -sf "${formula}" "/srv/salt/reclass/classes/service/$(basename ${formula})"
 done
 
+# Temporary link queens configs to rocky
+for f in /srv/salt/env/prd/*/files/queens; do
+    if [ ! -d "$f/../rocky" ]; then
+        ln -sf "$f" "$f/../rocky"
+    fi
+done
+
 # Tini init system resembles upstart very much, but needs a little adjustment
 sed -i -e "s|return 'start/running' in |return 'is running' in |" \
        -e "s|ret = _default_runlevel|return _default_runlevel|" \
     /usr/lib/python2.7/dist-packages/salt/modules/upstart.py
 
+# Workaround for: https://github.com/salt-formulas/reclass/issues/77
+sed -i -e 's|\(ignore_overwritten_missing_references\)defaults.|\1|' \
+    /usr/local/lib/python2.7/dist-packages/reclass/settings.py
+
 # Remove broken symlinks in /srv/salt, silences recurring warnings
 find -L /srv/salt /srv/salt/env/prd/_* -maxdepth 1 -type l -delete
 
 # Fix up any permissions after above file shuffling
-sudo chown root:root -R /srv/salt
+chown root:root -R /srv/salt
 
 service ssh start
 service salt-minion start