From 32acffc7c6b4632bbd30af1c25deebc8ea18d719 Mon Sep 17 00:00:00 2001 From: Charles Butler Date: Fri, 21 Apr 2017 15:31:27 -0500 Subject: [PATCH] Hostname patch for vsphere provider limitations with juju This patch sets the hostname to a unique identifier (the juju unit name) during pre-deployment of the charm. This may not be a FQDN resolveable hostname but will prevent hostname collision. --- .../exec.d/vmware-patch/charm-pre-install | 17 +++++++++++++++++ .../exec.d/vmware-patch/charm-pre-install | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100755 cluster/juju/layers/kubernetes-master/exec.d/vmware-patch/charm-pre-install create mode 100755 cluster/juju/layers/kubernetes-worker/exec.d/vmware-patch/charm-pre-install diff --git a/cluster/juju/layers/kubernetes-master/exec.d/vmware-patch/charm-pre-install b/cluster/juju/layers/kubernetes-master/exec.d/vmware-patch/charm-pre-install new file mode 100755 index 00000000000..0f70f51cadf --- /dev/null +++ b/cluster/juju/layers/kubernetes-master/exec.d/vmware-patch/charm-pre-install @@ -0,0 +1,17 @@ +#!/bin/bash +MY_HOSTNAME=$(hostname) + +: ${JUJU_UNIT_NAME:=`uuidgen`} + + +if [ "${MY_HOSTNAME}" == "ubuntuguest" ]; then + juju-log "Detected broken vsphere integration. Applying hostname override" + + FRIENDLY_HOSTNAME=$(echo $JUJU_UNIT_NAME | tr / -) + juju-log "Setting hostname to $FRIENDLY_HOSTNAME" + if [ ! -f /etc/hostname.orig ]; then + mv /etc/hostname /etc/hostname.orig + fi + echo "${FRIENDLY_HOSTNAME}" > /etc/hostname + hostname $FRIENDLY_HOSTNAME +fi diff --git a/cluster/juju/layers/kubernetes-worker/exec.d/vmware-patch/charm-pre-install b/cluster/juju/layers/kubernetes-worker/exec.d/vmware-patch/charm-pre-install new file mode 100755 index 00000000000..0f70f51cadf --- /dev/null +++ b/cluster/juju/layers/kubernetes-worker/exec.d/vmware-patch/charm-pre-install @@ -0,0 +1,17 @@ +#!/bin/bash +MY_HOSTNAME=$(hostname) + +: ${JUJU_UNIT_NAME:=`uuidgen`} + + +if [ "${MY_HOSTNAME}" == "ubuntuguest" ]; then + juju-log "Detected broken vsphere integration. Applying hostname override" + + FRIENDLY_HOSTNAME=$(echo $JUJU_UNIT_NAME | tr / -) + juju-log "Setting hostname to $FRIENDLY_HOSTNAME" + if [ ! -f /etc/hostname.orig ]; then + mv /etc/hostname /etc/hostname.orig + fi + echo "${FRIENDLY_HOSTNAME}" > /etc/hostname + hostname $FRIENDLY_HOSTNAME +fi