summaryrefslogtreecommitdiff
path: root/assets/network/cloudstack-guest-setup
diff options
context:
space:
mode:
authorPeter Bex <peter@more-magic.net>2016-02-14 19:16:04 +0100
committerPeter Bex <peter@more-magic.net>2016-02-21 00:40:40 +0100
commite0f806a2f44bc08ff8931f8e5dab09579850154d (patch)
tree774f1e676093937e7775de39f11f6a91afcdbb21 /assets/network/cloudstack-guest-setup
downloadvps-builder-e0f806a2f44bc08ff8931f8e5dab09579850154d.tar.gz
First version of vps image builder.
Diffstat (limited to 'assets/network/cloudstack-guest-setup')
-rw-r--r--assets/network/cloudstack-guest-setup30
1 files changed, 30 insertions, 0 deletions
diff --git a/assets/network/cloudstack-guest-setup b/assets/network/cloudstack-guest-setup
new file mode 100644
index 0000000..3583afe
--- /dev/null
+++ b/assets/network/cloudstack-guest-setup
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+# From https://github.com/shankerbalan/cloudstack-scripts
+# Stripped out the non-Debian and Plesk stuff, the cron
+# randomisation and the 127.0.1.1 removal in /etc/hosts.
+#
+# TODO: Rewrite in CHICKEN?
+#
+# /etc/dhcp/dhclient-exit-hooks.d/cloudstack-guest-setup (debian/ubuntu)
+# runs on firstboot after acquiring DHCP lease
+
+if [ "$reason" != BOUND ] && [ "$reason" != RENEW ] && [ "$reason" != REBIND ] && [ "$reason" != REBOOT ]; then
+ return
+fi
+
+# set hostname
+logger -t "cloudstack" "Setting hostname to \"${new_host_name}\""
+hostname "$new_host_name" > /dev/null 2>&1
+echo "$new_host_name" > /etc/hostname
+
+# add hostname to /etc/hosts and remove previous localhost-style
+sed -i "/127.0.0.1/a $new_ip_address $new_host_name.$new_domain_name $new_host_name" /etc/hosts > /dev/null 2>&1
+
+# generate ssh host keys
+logger -t "cloudstack" "Generating ssh host keys"
+ssh-keygen -A && rm /etc/ssh/ssh_host_key /etc/ssh/ssh_host_key.pub
+# remove self
+rm /etc/dhcp/dhclient-exit-hooks.d/cloudstack-guest-setup > /dev/null 2>&1
+
+exit 0