Bug 1546805
| Summary: | deleting value of tc.qdisc prevents connection upping | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Vladimir Benes <vbenes> |
| Component: | NetworkManager | Assignee: | Beniamino Galvani <bgalvani> |
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 7.5 | CC: | atragler, bgalvani, fgiudici, lrintel, rkhan, sukulkar, thaller |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | NetworkManager-1.16.2-0.1.20190328git8ec0954570.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-08-06 13:16:20 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Vladimir Benes
2018-02-19 16:10:44 UTC
In editor_menu_main() after the connection was saved we do:
con_tmp = nm_client_get_connection_by_uuid (nmc->client,
nm_connection_get_uuid (connection));
...
/* Replace local connection with the remote one to be sure they are equal.
* This mitigates problems with plugins not preserving some properties or
* adding ipv{4,6} settings when not present.
*/
if (con_tmp) {
gs_free char *s_name = NULL;
if (menu_ctx.curr_setting)
s_name = g_strdup (nm_setting_get_name (menu_ctx.curr_setting));
/* Update settings in the local connection */
nm_connection_replace_settings_from_connection (connection,
NM_CONNECTION (con_tmp));
This works under the assumption that after the Update2() D-Bus method
returns, the local NMRemoteConnection is already updated with the new
values. Indeed, the NMSettingsConnection on server first emits the
"Updated" signal and then returns to Update2().
However, the Updated signal doesn't include the setting values and so
libnm has to fire an asynchronous
nmdbus_settings_connection_call_get_setting() to fetch the new
settings. This terminates after the Update2() method returns and thus
the initial assumption is not respected. As a consequence, the
"working" copy of the connection in the editor is different from the
NMRemoteConnection and it's not possible to save it because it's
considered dirty.
At the moment I'm not sure how to fix this.
Merged upstream as 8af4f76 and backported to nm-1-14. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2019:2302 |