<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/NetworkManager.git/src, branch main</title>
<subtitle>gitlab.freedesktop.org: NetworkManager/NetworkManager.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/'/>
<entry>
<title>team: don't try to connect to teamd in update_connection()</title>
<updated>2023-05-16T11:18:36+00:00</updated>
<author>
<name>Beniamino Galvani</name>
<email>bgalvani@redhat.com</email>
</author>
<published>2023-05-04T13:11:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=93430627c245a0b33b873edca329fa716ccfb7d6'/>
<id>93430627c245a0b33b873edca329fa716ccfb7d6</id>
<content type='text'>
In constructed(), NMDevice starts watching the D-Bus name owner or
monitoring the unix socket, and so it is always aware if teamd is
running. When it is, NMDevice connects to it and initializes
priv-&gt;tdc.

It is not useful to try to connect to teamd in update_connection()
because warnings will be generated by NM and by libteam if teamd is
not running. As explained above the connection is always initialized
when teamd is available, and so we can just check priv-&gt;tdc.

Fixes: ab586236e36b ('core: implement update_connection() for Team')

https://bugzilla.redhat.com/show_bug.cgi?id=2182029
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1631
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In constructed(), NMDevice starts watching the D-Bus name owner or
monitoring the unix socket, and so it is always aware if teamd is
running. When it is, NMDevice connects to it and initializes
priv-&gt;tdc.

It is not useful to try to connect to teamd in update_connection()
because warnings will be generated by NM and by libteam if teamd is
not running. As explained above the connection is always initialized
when teamd is available, and so we can just check priv-&gt;tdc.

Fixes: ab586236e36b ('core: implement update_connection() for Team')

https://bugzilla.redhat.com/show_bug.cgi?id=2182029
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1631
</pre>
</div>
</content>
</entry>
<entry>
<title>libnm: drop duplicate line from "libnm.ver"</title>
<updated>2023-05-15T14:32:50+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-05-15T14:32:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=7a6257d4464b6abbd92111b3eb485857e4799c67'/>
<id>7a6257d4464b6abbd92111b3eb485857e4799c67</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libnm: adjust symbol versioning of bond port prio in 1.40.20</title>
<updated>2023-05-15T13:16:49+00:00</updated>
<author>
<name>Fernando Fernandez Mancera</name>
<email>ffmancera@riseup.net</email>
</author>
<published>2023-05-09T17:05:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=bc0818fe1339bfd25b1b30cd7e86772cc8bee9c5'/>
<id>bc0818fe1339bfd25b1b30cd7e86772cc8bee9c5</id>
<content type='text'>
This ABI was backported all the way to 1.42.8 and 1.40.20 and to rhel-8.9.
Move the ABI to a separate symbol version, which we have in all those
versions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ABI was backported all the way to 1.42.8 and 1.40.20 and to rhel-8.9.
Move the ABI to a separate symbol version, which we have in all those
versions.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: adjust test-gir.py to allow extra elements in section name</title>
<updated>2023-05-15T13:16:49+00:00</updated>
<author>
<name>Fernando Fernandez Mancera</name>
<email>ffmancera@riseup.net</email>
</author>
<published>2023-05-10T16:18:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=9b8220c9fa6c26257fe809171355b29219efe26a'/>
<id>9b8220c9fa6c26257fe809171355b29219efe26a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>test-client: drop TestNmClient base class from tests</title>
<updated>2023-05-15T12:59:58+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-05-11T09:26:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=efc14fcbec90cc057f37d8a4fca48c5b5b15b786'/>
<id>efc14fcbec90cc057f37d8a4fca48c5b5b15b786</id>
<content type='text'>
With the unit test framework, we define special methods, like setUp()
and test_*(). This is documented, but not obvious.

Previously, TestNmClient was the base class for our tests classes, and
it provided some functionality (and state). It was utterly confusing how
pieces fit together.

Instead, move the state to a new class NMTestContext(). That contains
most of the code from TestNmClient. Drop TestNmClient and let the test
classes directly descend from unittest.TestCase.

The difference is, when you now look at a certain test (test_001()), you
can easier understand which code runs when. First, the test class has a
setUp() method which runs, but that method is now trivial without extra
context. Second, there is the @nm_test attribute that wraps the
function. But that's it. It's all at one place, and we delegate instead
of inherit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the unit test framework, we define special methods, like setUp()
and test_*(). This is documented, but not obvious.

Previously, TestNmClient was the base class for our tests classes, and
it provided some functionality (and state). It was utterly confusing how
pieces fit together.

Instead, move the state to a new class NMTestContext(). That contains
most of the code from TestNmClient. Drop TestNmClient and let the test
classes directly descend from unittest.TestCase.

The difference is, when you now look at a certain test (test_001()), you
can easier understand which code runs when. First, the test class has a
setUp() method which runs, but that method is now trivial without extra
context. Second, there is the @nm_test attribute that wraps the
function. But that's it. It's all at one place, and we delegate instead
of inherit.
</pre>
</div>
</content>
</entry>
<entry>
<title>test-client: move TestNmClient.ReplaceTextConUuid() to NMStubServer</title>
<updated>2023-05-15T12:59:58+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-05-11T09:09:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=50f97307c5e00157fdd29d3b61ee873f9cb5886b'/>
<id>50f97307c5e00157fdd29d3b61ee873f9cb5886b</id>
<content type='text'>
The goal is to make the base class TestNmClient smaller because it
contains a lot of state, and with inheritance it's hard to follow what
happens.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The goal is to make the base class TestNmClient smaller because it
contains a lot of state, and with inheritance it's hard to follow what
happens.
</pre>
</div>
</content>
</entry>
<entry>
<title>test-client: move TestNmClient.{cmd_construct_argv,_env}() to Util.cmd_create_{argv,env}()</title>
<updated>2023-05-15T12:59:58+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-05-11T08:55:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=1c32b59ebdd48b9a6315d4c29f72dcaabc645fe2'/>
<id>1c32b59ebdd48b9a6315d4c29f72dcaabc645fe2</id>
<content type='text'>
These two are stateless method, and even not only work for nmcli, but also for
nm-cloud-setup. Move to the Util class, as static methods.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These two are stateless method, and even not only work for nmcli, but also for
nm-cloud-setup. Move to the Util class, as static methods.
</pre>
</div>
</content>
</entry>
<entry>
<title>test-client: move skip functions to Util class</title>
<updated>2023-05-15T12:59:58+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-05-11T07:33:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=7ecb65974394bfcf0d65c9b55a5b80880f0123b4'/>
<id>7ecb65974394bfcf0d65c9b55a5b80880f0123b4</id>
<content type='text'>
They can both be used as decorators and called plainly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
They can both be used as decorators and called plainly.
</pre>
</div>
</content>
</entry>
<entry>
<title>test-client: move static function from TestNmClient._read_expected() to Util.file_read_expected()</title>
<updated>2023-05-15T12:59:58+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2023-05-11T07:12:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=d1e6edcb7beeeceedfc61a9bd59b06c2e37fe901'/>
<id>d1e6edcb7beeeceedfc61a9bd59b06c2e37fe901</id>
<content type='text'>
Static, state-less functions are great. Keep them separate from TestNmClient which
has lots of state.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Static, state-less functions are great. Keep them separate from TestNmClient which
has lots of state.
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6ll: don't regenerate the address when it's removed externally</title>
<updated>2023-05-15T08:23:39+00:00</updated>
<author>
<name>Beniamino Galvani</name>
<email>bgalvani@redhat.com</email>
</author>
<published>2023-05-11T11:32:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/NetworkManager.git/commit/?id=53ba9f4701f30b12637df2c7215a0b7da845b34c'/>
<id>53ba9f4701f30b12637df2c7215a0b7da845b34c</id>
<content type='text'>
Currently if the IPv6 link-local address is removed after it passed
DAD, NetworkManager tries to generate a new link-local address. If
this fails, which is always the case for EUI64, ipv6ll is considered
as failed and the connection can go down (depending on may-fail).

This is particularly bad for virtual interfaces because if somebody
removes the link-local address, the activation can fail and destroy
the interface, breaking all services that require it. Also, it's a
change in behavior introduced in 1.36.0.

It seems that a better approach here is to re-add the address that was
removed externally.

Fixes: aa070fb82190 ('core: add NML3IPv6LL helper')
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1622
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently if the IPv6 link-local address is removed after it passed
DAD, NetworkManager tries to generate a new link-local address. If
this fails, which is always the case for EUI64, ipv6ll is considered
as failed and the connection can go down (depending on may-fail).

This is particularly bad for virtual interfaces because if somebody
removes the link-local address, the activation can fail and destroy
the interface, breaking all services that require it. Also, it's a
change in behavior introduced in 1.36.0.

It seems that a better approach here is to re-add the address that was
removed externally.

Fixes: aa070fb82190 ('core: add NML3IPv6LL helper')
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1622
</pre>
</div>
</content>
</entry>
</feed>
