FQDN / hostname recorded in OVSDB is unreliable
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Fix Released
|
High
|
Unassigned | ||
Ussuri |
Fix Released
|
High
|
Unassigned | ||
Victoria |
Invalid
|
High
|
Unassigned | ||
Wallaby |
Fix Released
|
High
|
Unassigned | ||
openvswitch (Ubuntu) |
Fix Released
|
High
|
Frode Nordahl | ||
Focal |
Fix Released
|
High
|
Frode Nordahl | ||
Groovy |
Fix Released
|
High
|
Frode Nordahl | ||
Hirsute |
Fix Released
|
High
|
Frode Nordahl |
Bug Description
[ Impact ]
The Open vSwitch init script `ovs-ctl` determines the system hostname and records it in the `external-
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) Deploy bundle on metal:
series: focal
machines:
'0':
constraints: cores=48
relations:
- - octavia:
- ovn-chassis:
applications:
ovn-chassis:
charm: cs:ovn-chassis
bindings:
"": public-space
octavia:
charm: cs:octavia
options:
openstack
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-
5) Add proposed and install openvswitch packages, repeat step 2-3
6) Observe external-
[ 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-
An example of downstream issues can be viewed in bug 1896630.
Related branches
- Ubuntu Server Developers: Pending requested
-
Diff: 243 lines (+162/-3)8 files modifieddebian/changelog (+21/-1)
debian/openvswitch-switch.ovs-record-hostname.service (+18/-0)
debian/openvswitch-switch.ovs-vswitchd.service (+2/-0)
debian/openvswitch-switch.ovsdb-server.service (+3/-1)
debian/openvswitch-switch.service (+1/-0)
debian/patches/ovs-dev-ovs-ctl-Allow-recording-hostname-separately.patch (+114/-0)
debian/patches/series (+1/-0)
debian/rules (+2/-1)
- Ubuntu Server Developers: Pending requested
-
Diff: 243 lines (+161/-2)8 files modifieddebian/changelog (+20/-0)
debian/openvswitch-switch.ovs-record-hostname.service (+18/-0)
debian/openvswitch-switch.ovs-vswitchd.service (+2/-0)
debian/openvswitch-switch.ovsdb-server.service (+3/-1)
debian/openvswitch-switch.service (+1/-0)
debian/patches/ovs-dev-ovs-ctl-Allow-recording-hostname-separately.patch (+114/-0)
debian/patches/series (+1/-0)
debian/rules (+2/-1)
- Christian Ehrhardt : Needs Fixing
-
Diff: 251 lines (+174/-2)8 files modifieddebian/changelog (+18/-0)
debian/openvswitch-switch.ovs-record-hostname.service (+18/-0)
debian/openvswitch-switch.ovs-vswitchd.service (+2/-0)
debian/openvswitch-switch.ovsdb-server.service (+3/-1)
debian/openvswitch-switch.service (+1/-0)
debian/patches/ovs-dev-ovs-ctl-Allow-recording-hostname-separately.patch (+129/-0)
debian/patches/series (+1/-0)
debian/rules (+2/-1)
CVE References
Changed in openvswitch (Ubuntu): | |
assignee: | nobody → Frode Nordahl (fnordahl) |
status: | New → Triaged |
status: | Triaged → In Progress |
importance: | Undecided → High |
description: | updated |
Changed in openvswitch (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in openvswitch (Ubuntu Groovy): | |
importance: | Undecided → High |
Changed in openvswitch (Ubuntu Focal): | |
importance: | Undecided → High |
Changed in openvswitch (Ubuntu Groovy): | |
status: | New → Triaged |
Changed in openvswitch (Ubuntu Focal): | |
status: | New → Triaged |
Changed in openvswitch (Ubuntu Groovy): | |
assignee: | nobody → Frode Nordahl (fnordahl) |
Changed in openvswitch (Ubuntu Focal): | |
assignee: | nobody → Frode Nordahl (fnordahl) |
description: | updated |
Changed in openvswitch (Ubuntu Focal): | |
status: | Fix Committed → In Progress |
Changed in openvswitch (Ubuntu Groovy): | |
status: | Fix Committed → In Progress |
description: | updated |
http:// patchwork<email address hidden>/