$ juju run --unit ovn-chassis/0 'ovs-vsctl remove open-vswitch . external-ids
hostname'
$ juju run --unit ovn-chassis/0 'sudo shutdown -r now'
$ sudo ovs-vsctl list open-vswitch
...
external_ids : {hostname=juju-d4e71d-0-lxd-0,
rundir="/var/run/openvswitch", system-id="424e6f88-2e79-436f-99a8-d9e4dccf3c55"}
$ hostname -f
juju-d4e71d-0-lxd-0.maas
# sudo apt install openvswitch-common openvswitch-switch python3-openvswitch
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
openvswitch-doc
The following packages will be upgraded:
openvswitch-common openvswitch-switch python3-openvswitch
3 upgraded, 0 newly installed, 0 to remove and 21 not upgraded.
Need to get 2783 kB of archives.
After this operation, 28.7 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64
python3-openvswitch all 2.13.3-0ubuntu0.20.04.1 [94.8 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64
openvswitch-common amd64 2.13.3-0ubuntu0.20.04.1 [1152 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64
openvswitch-switch amd64 2.13.3-0ubuntu0.20.04.1 [1536 kB]
Fetched 2783 kB in 1s (1986 kB/s)
(Reading database ... 53438 files and directories currently installed.)
Preparing to unpack .../python3-openvswitch_2.13.3-0ubuntu0.20.04.1_all.deb ...
Unpacking python3-openvswitch (2.13.3-0ubuntu0.20.04.1) over (2.13.1-0ubuntu0.20
.04.4) ...
Preparing to unpack .../openvswitch-common_2.13.3-0ubuntu0.20.04.1_amd64.deb ...
Unpacking openvswitch-common (2.13.3-0ubuntu0.20.04.1) over (2.13.1-0ubuntu0.20.
04.4) ...
Preparing to unpack .../openvswitch-switch_2.13.3-0ubuntu0.20.04.1_amd64.deb ...
Unpacking openvswitch-switch (2.13.3-0ubuntu0.20.04.1) over (2.13.1-0ubuntu0.20.
04.4) ...
Setting up python3-openvswitch (2.13.3-0ubuntu0.20.04.1) ...
Setting up openvswitch-common (2.13.3-0ubuntu0.20.04.1) ...
Setting up openvswitch-switch (2.13.3-0ubuntu0.20.04.1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for systemd (245.4-4ubuntu3.6) ...
$ juju run --unit ovn-chassis/0 'ovs-vsctl remove open-vswitch . external-ids
hostname'
$ juju run --unit ovn-chassis/0 'sudo shutdown -r now'
$ sudo ovs-vsctl list open-vswitch
...
external_ids : {hostname=juju-d4e71d-0-lxd-0.maas,
rundir="/var/run/openvswitch", system-id="424e6f88-2e79-436f-99a8-d9e4dccf3c55"}
** Description changed:
[ Impact ]
The Open vSwitch init script `ovs-ctl` determines the system hostname
and records it in the `external-ids:hostname` field of the `Open-
vSwitch` table in the local OVSDB.
This value may be consumed by downstream software and having it unset or
set to a incorrect value could lead to erratic behavior of a system.
In recent Ubuntu development we have also made it possible to configure
Open vSwitch with netplan.io, which allows for a Open vSwitch controlled
data path to be the only external network connection on a system.
As such the current startup sequence of Open vSwitch is insufficient to
allow for reliable recording of FQDN / hostname at system boot-up time.
Examples of downstream issues can be viewed in bug 1896630 and bug
1912844 comment #26.
[ Test Case ]
- 1) Use MAAS 2.9, configure a machine with Open vSwitch bridge for networking
and deploy.
- 2) Confirm that without the change the hostname recorded in Open vSwitch is
`ubuntu`.
- 3) Add a PPA with the updated Open vSwitch package to MAAS.
- 4) Re-deploy and confirm that the hostname recorded in Open vSwitch matches
the FQDN as provided by MAAS.
+ 1) Deploy bundle on metal:
+
+ series: focal
+ machines:
+ '0':
+ constraints: cores=48
+ relations:
+ - - octavia:ovsdb-subordinate
+ - ovn-chassis:ovsdb-subordinate
+ applications:
+ ovn-chassis:
+ charm: cs:ovn-chassis
+ bindings:
+ "": public-space
+ octavia:
+ charm: cs:octavia
+ options:
+ openstack-origin: distro
+ num_units: 1
+ to:
+ - 'lxd:0'
+ bindings:
+ "": public-space
+
+ 2) juju run --unit ovn-chassis/0 'ovs-vsctl remove open-vswitch .
external-ids hostname'
+ 3) juju run --unit ovn-chassis/0 'sudo shutdown -r now'
+ 4) Observe external-ids:hostname being recorded as a shortname
+ 5) Add proposed and install openvswitch packages, repeat step 2-3
+ 6) Observe external-ids:hostname being recorded as a FQDN
[ Regression potential ]
Minimal, the update uses the exact same methods to accomplish the end
result of recording the hostname as before, we have only re-ordered when
the events occur to ensure successful operation.
[racb] A new service is added in packaging. Users who have overridden
existing services to change behaviour (eg. "disable all OVS-related
services") may have that configuration not have the same effect after
this update (eg. "I thought I disabled all OVS-related services but
what's this ovs-record-hostname thing now?")
[ Other Info ]
A possible solution to this would be to extend the upstream `ovs-ctl`
script to allow controlling when the hostname is recorded and adding a
new Systemd service file to the package that calls the `record-hostname`
function at a more appropriate time, i.e. after or as part of the
`network-online.target`.
An example of downstream issues can be viewed in bug 1896630.
** Tags removed: verification-needed-focal
** Tags added: verification-done-focal
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1915829
Title:
FQDN / hostname recorded in OVSDB is unreliable
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1915829/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs