aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap/make-base-requires.sh
diff options
context:
space:
mode:
authorJoachim Tingvold <joachim@tingvold.com>2015-03-21 18:40:28 +0100
committerJoachim Tingvold <joachim@tingvold.com>2015-03-21 18:40:28 +0100
commitd5c0e6ac02bd4bb1832434ef3fa502a21ac48432 (patch)
tree9f754351c81d4ee1ffd1526823842b52bbd0f054 /bootstrap/make-base-requires.sh
parent6bf0be13c4ac46f612251eb13cf2b23f94441cc5 (diff)
Bootstrap-related files get it's own directory
Diffstat (limited to 'bootstrap/make-base-requires.sh')
-rwxr-xr-xbootstrap/make-base-requires.sh75
1 files changed, 75 insertions, 0 deletions
diff --git a/bootstrap/make-base-requires.sh b/bootstrap/make-base-requires.sh
new file mode 100755
index 0000000..ad40e73
--- /dev/null
+++ b/bootstrap/make-base-requires.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+set -e
+
+BASE="/etc";
+if [ "$1" != "" ]
+then
+ BASE=$1
+ echo "Using base path ${BASE}"
+fi
+
+source include/tgmanage.cfg.sh
+if [ -z ${PRIMARY} ]
+then
+ echo "Not configured!";
+ exit 1;
+fi;
+
+cd ~/tgmanage
+bootstrap/update-tools.sh
+ssh -l root ${PRIMARY} "~/tgmanage/bootstrap/install-dependencies.sh master"
+ssh -l root ${SECONDARY} "~/tgmanage/bootstrap/install-dependencies.sh slave"
+
+if [ "${BASE}" == "/etc" ]; then
+ ssh -l root ${PRIMARY} "cp -pR /etc/bind /etc/bind.dist"
+ ssh -l root ${PRIMARY} "cp -pR /etc/dhcp /etc/dhcp.dist"
+
+ ssh -l root ${SECONDARY} "cp -pR /etc/bind /etc/bind.dist"
+ ssh -l root ${SECONDARY} "cp -pR /etc/dhcp /etc/dhcp.dist"
+
+ set +e
+ ssh -l root ${PRIMARY} "rm /etc/bind/named.conf"
+ ssh -l root ${PRIMARY} "rm /etc/dhcp/dhcpd.conf"
+
+ ssh -l root ${SECONDARY} "rm /etc/dhcp/dhcpd.conf"
+ ssh -l root ${SECONDARY} "rm /etc/bind/named.conf"
+ set -e
+fi
+
+ssh -l root ${PRIMARY} "mkdir -p ${BASE}/bind/conf-master/"
+ssh -l root ${PRIMARY} "mkdir -p ${BASE}/bind/reverse/"
+ssh -l root ${PRIMARY} "mkdir -p ${BASE}/bind/dynamic/"
+ssh -l root ${PRIMARY} "mkdir -p ${BASE}/dhcp/conf.d/"
+
+ssh -l root ${PRIMARY} "~/tgmanage/bootstrap/make-dhcp6-init.sh"
+ssh -l root ${PRIMARY} "~/tgmanage/bootstrap/make-named.pl master ${BASE}"
+ssh -l root ${PRIMARY} "~/tgmanage/bootstrap/make-dhcpd.pl ${BASE}"
+ssh -l root ${PRIMARY} "~/tgmanage/bootstrap/make-first-zones.pl ${BASE}"
+ssh -l root ${PRIMARY} "~/tgmanage/bootstrap/make-reverse4-files.pl master ${BASE}"
+
+ssh -l root ${SECONDARY} "mkdir -p ${BASE}/dhcp/conf.d/"
+ssh -l root ${SECONDARY} "mkdir -p ${BASE}/bind/conf-slave/"
+ssh -l root ${SECONDARY} "mkdir -p ${BASE}/bind/slave/"
+
+ssh -l root ${SECONDARY} "~/tgmanage/bootstrap/make-dhcp6-init.sh"
+ssh -l root ${SECONDARY} "insserv -r isc-dhcp-server"
+ssh -l root ${SECONDARY} "~/tgmanage/bootstrap/make-dhcpd.pl ${BASE}"
+ssh -l root ${SECONDARY} "~/tgmanage/bootstrap/make-named.pl slave ${BASE}"
+ssh -l root ${SECONDARY} "~/tgmanage/bootstrap/make-reverse4-files.pl slave ${BASE}"
+
+set +e
+ssh -l root ${PRIMARY} "chown -R bind.bind ${BASE}/bind"
+ssh -l root ${SECONDARY} "chown -R bind.bind ${BASE}/bind"
+set -e
+
+ssh -l root ${PRIMARY} "echo THIS COPY OF TGMANAGE IS MANAGED FROM BOOTSTRAP SERVER > ~/tgmanage/NOTICE"
+ssh -l root ${SECONDARY} "echo THIS COPY OF TGMANAGE IS MANAGED FROM BOOTSTRAP SERVER > ~/tgmanage/NOTICE"
+
+# No point in _not_ running update-baseservice at this point....
+tools/update-baseservice.sh ${BASE}
+
+# Set up PXE environment. NOTE that we assume that TFTP-server is the ${SECONDARY} (changed from older behaviour)
+ssh -l root ${SECONDARY} "~/tgmanage/bootstrap/make-pxeboot.sh"
+
+# all done.