Commit cb0c6c02 by Scott Moser Committed by Serge Hallyn

hooks/ubuntu-cloud-prep: add hostname to meta-data

prior to my enabling of the clone hook, the setting of the hostname was being done by writing to /etc/hostname. Instead of relying on that we're now writing 'local-hostname' into the metadata for the instance. cloud-init then reads this and sets the hostname properly. We are also writing /etc/hostname with the new hostname explicitly. This is useful/necessary because on network bringup of eth0, dhclient will submit its hosname. The updating done by cloud-init occurs to late, and thus the dhcp request goes out with the un-configured hostname and dns doens't work correctly. Signed-off-by: 's avatarScott Moser <smoser@ubuntu.com> Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
parent 92b0b5ba
...@@ -49,8 +49,8 @@ prep() { ...@@ -49,8 +49,8 @@ prep() {
fi fi
local cur="" next="" local cur="" next=""
local userdata="" hostid="" authkey="" locales=1 cloud=0 name="" local userdata="" hostid="" authkey="" locales=1 cloud=0
local create_etc_init=0 local create_etc_init=0 name="ubuntucloud-lxc"
while [ $# -ne 0 ]; do while [ $# -ne 0 ]; do
cur="$1"; next="$2"; cur="$1"; next="$2";
...@@ -97,6 +97,10 @@ prep() { ...@@ -97,6 +97,10 @@ prep() {
local seed_d="" local seed_d=""
seed_d="$root_d/var/lib/cloud/seed/nocloud-net" seed_d="$root_d/var/lib/cloud/seed/nocloud-net"
echo "$name" > "$root_d/etc/hostname" ||
{ error "failed to write /etc/hostname"; return 1; }
if [ $cloud -eq 1 ]; then if [ $cloud -eq 1 ]; then
debug 1 "--cloud provided, not modifying seed in '$seed_d'" debug 1 "--cloud provided, not modifying seed in '$seed_d'"
else else
...@@ -110,6 +114,9 @@ prep() { ...@@ -110,6 +114,9 @@ prep() {
echo "instance-id: lxc-$hostid" > "$seed_d/meta-data" || echo "instance-id: lxc-$hostid" > "$seed_d/meta-data" ||
{ error "failed to write to $seed_d/meta-data"; return 1; } { error "failed to write to $seed_d/meta-data"; return 1; }
echo "local-hostname: $name" >> "$seed_d/meta-data" ||
{ error "failed to write to $seed_d/meta-data"; return 1; }
if [ -n "$authkey" ]; then if [ -n "$authkey" ]; then
{ {
echo "public-keys:" && echo "public-keys:" &&
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment