[lxc-users] LXD: lxc copy and /etc/hostname
Brian Candler
b.candler at pobox.com
Fri Jan 20 15:19:31 UTC 2017
Hello,
What's the mechanism by which when you do "lxc copy foo bar", the "bar"
gets into /etc/hostname? Is this logic inside lxd itself, or inside
cloud-init, or somewhere else?
The reason I ask: I am creating instances whose FQDN is e.g.
"srv2.campus5.example.com". lxd does not allow dots in container names,
so I have to give them names like "srv2-campus5" instead. But then
that's what ends up in /etc/hostname as well.
Clearly I can just overwrite /etc/hostname and restart the container,
but I wondered if there was a cleaner way, and that in turn led me to
try and find out how it gets set in the first place, and I couldn't find it.
Reading issue #1921, I tried setting lxc.utsname before starting the
container, but this didn't make a difference:
$ lxc copy srv-master foobar
$ lxc config set foobar raw.lxc lxc.utsname=wibble
$ lxc config set foobar user.fqdn bibble
$ lxc start foobar
$ lxc exec foobar bash
root at foobar:~# hostname
foobar
root at foobar:~# cat /etc/hostname
foobar
And if I change the profile of srv-master so that it's on a bridge with
no DHCP service before copying, the copy still seems to pick up the
hostname.
Thanks,
Brian.
More information about the lxc-users
mailing list