Hi,
to reproduce the netgroups failure: * getent netgroup testngr # to verify the netgroup is there * sss_cache -E * pkill -USR1 sssd # make sssd go offline * getent netgroup testngr
to reproduce the autofs maps failure: * automount -m # to verify the maps are there * pkill -USR1 sssd # make sssd go offline * automount -m # to verify the maps are there
Before the patches, neither offline lookup would return the expected results. Both lookups should return results with the patches.
On 08/04/2016 06:02 PM, Jakub Hrozek wrote:
Hi,
to reproduce the netgroups failure: * getent netgroup testngr # to verify the netgroup is there * sss_cache -E * pkill -USR1 sssd # make sssd go offline * getent netgroup testngr
to reproduce the autofs maps failure: * automount -m # to verify the maps are there * pkill -USR1 sssd # make sssd go offline * automount -m # to verify the maps are there
Before the patches, neither offline lookup would return the expected results. Both lookups should return results with the patches.
/* Try to fall back to cache */
ret = lookup_netgr_step(step_ctx);
if (ret == EOK) {
/* We have cached results to return */
nss_setent_notify_done(dctx->netgr);
}
Aren't you missing return here?
On Tue, Aug 30, 2016 at 01:16:05PM +0200, Pavel Březina wrote:
On 08/04/2016 06:02 PM, Jakub Hrozek wrote:
Hi,
to reproduce the netgroups failure: * getent netgroup testngr # to verify the netgroup is there * sss_cache -E * pkill -USR1 sssd # make sssd go offline * getent netgroup testngr
to reproduce the autofs maps failure: * automount -m # to verify the maps are there * pkill -USR1 sssd # make sssd go offline * automount -m # to verify the maps are there
Before the patches, neither offline lookup would return the expected results. Both lookups should return results with the patches.
/* Try to fall back to cache */
ret = lookup_netgr_step(step_ctx);
if (ret == EOK) {
/* We have cached results to return */
nss_setent_notify_done(dctx->netgr);
}
Aren't you missing return here?
Of course I am, sorry. See new patches, there is also a test (but the test requires Justin's pending patches to be reliable..)
On (12/09/16 00:25), Jakub Hrozek wrote:
From fd71b7ed7c588cc22402573b9877020234949e22 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek jhrozek@redhat.com Date: Fri, 9 Sep 2016 12:23:04 +0200 Subject: [PATCH 3/3] TESTS: Test offline netgroups resolution
src/tests/intg/test_netgroup.py | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-)
diff --git a/src/tests/intg/test_netgroup.py b/src/tests/intg/test_netgroup.py index b99476126844e35d5dbc1793077720b4020c2fb7..1d00f0ecdc912dc7ecc23a818a79828d2b2727e6 100644 --- a/src/tests/intg/test_netgroup.py +++ b/src/tests/intg/test_netgroup.py @@ -104,6 +104,7 @@ def format_basic_conf(ldap_conn, schema): [sssd] domains = LDAP services = nss
disable_netlink = true [domain/LDAP] {schema_conf}
@@ -148,11 +149,16 @@ def create_sssd_process(): raise Exception("sssd start failed")
+def get_sssd_pid():
- pid_file = open(config.PIDFILE_PATH, "r")
- pid = int(pid_file.read())
- return pid
def cleanup_sssd_process(): """Stop the SSSD process and remove its state""" try:
pid_file = open(config.PIDFILE_PATH, "r")
pid = int(pid_file.read())
pid = get_sssd_pid() os.kill(pid, signal.SIGTERM) while True: try:
@@ -172,6 +178,9 @@ def create_sssd_cleanup(request): """Add teardown for stopping SSSD and removing its state""" request.addfinalizer(cleanup_sssd_process)
+def simulate_offline():
- pid = get_sssd_pid()
- os.kill(pid, signal.SIGUSR1)
def create_sssd_fixture(request): """Start SSSD and add teardown for stopping it and removing its state""" @@ -351,7 +360,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -366,7 +375,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -422,7 +431,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -444,7 +453,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
Above changes are unrelated to the test. If you decide to touch the code then it would be better to use subprocess.check_call
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -457,3 +466,17 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup3") assert res == sssd_netgroup.NssReturnCode.SUCCESS assert netgroups == []
+def test_offline_netgroups(add_tripled_netgroup):
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
- if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sss_cache failed")
- simulate_offline()
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
otherwise LGTM
LS
On (19/09/16 10:06), Lukas Slebodnik wrote:
On (12/09/16 00:25), Jakub Hrozek wrote:
From fd71b7ed7c588cc22402573b9877020234949e22 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek jhrozek@redhat.com Date: Fri, 9 Sep 2016 12:23:04 +0200 Subject: [PATCH 3/3] TESTS: Test offline netgroups resolution
src/tests/intg/test_netgroup.py | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-)
diff --git a/src/tests/intg/test_netgroup.py b/src/tests/intg/test_netgroup.py index b99476126844e35d5dbc1793077720b4020c2fb7..1d00f0ecdc912dc7ecc23a818a79828d2b2727e6 100644 --- a/src/tests/intg/test_netgroup.py +++ b/src/tests/intg/test_netgroup.py @@ -104,6 +104,7 @@ def format_basic_conf(ldap_conn, schema): [sssd] domains = LDAP services = nss
disable_netlink = true [domain/LDAP] {schema_conf}
@@ -148,11 +149,16 @@ def create_sssd_process(): raise Exception("sssd start failed")
+def get_sssd_pid():
- pid_file = open(config.PIDFILE_PATH, "r")
- pid = int(pid_file.read())
- return pid
def cleanup_sssd_process(): """Stop the SSSD process and remove its state""" try:
pid_file = open(config.PIDFILE_PATH, "r")
pid = int(pid_file.read())
pid = get_sssd_pid() os.kill(pid, signal.SIGTERM) while True: try:
@@ -172,6 +178,9 @@ def create_sssd_cleanup(request): """Add teardown for stopping SSSD and removing its state""" request.addfinalizer(cleanup_sssd_process)
+def simulate_offline():
- pid = get_sssd_pid()
- os.kill(pid, signal.SIGUSR1)
def create_sssd_fixture(request): """Start SSSD and add teardown for stopping it and removing its state""" @@ -351,7 +360,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -366,7 +375,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -422,7 +431,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -444,7 +453,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
Above changes are unrelated to the test. If you decide to touch the code then it would be better to use subprocess.check_call
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -457,3 +466,17 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup3") assert res == sssd_netgroup.NssReturnCode.SUCCESS assert netgroups == []
+def test_offline_netgroups(add_tripled_netgroup):
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
- if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sss_cache failed")
- simulate_offline()
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
otherwise LGTM
Actually, there are trivial pep8 errors src/tests/intg/test_netgroup.py:181:1: E302 expected 2 blank lines, found 1 src/tests/intg/test_netgroup.py:185:1: E302 expected 2 blank lines, found 1 src/tests/intg/test_netgroup.py:470:1: E302 expected 2 blank lines, found 1
LS
On Mon, Sep 19, 2016 at 10:41:13AM +0200, Lukas Slebodnik wrote:
On (19/09/16 10:06), Lukas Slebodnik wrote:
On (12/09/16 00:25), Jakub Hrozek wrote:
From fd71b7ed7c588cc22402573b9877020234949e22 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek jhrozek@redhat.com Date: Fri, 9 Sep 2016 12:23:04 +0200 Subject: [PATCH 3/3] TESTS: Test offline netgroups resolution
src/tests/intg/test_netgroup.py | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-)
diff --git a/src/tests/intg/test_netgroup.py b/src/tests/intg/test_netgroup.py index b99476126844e35d5dbc1793077720b4020c2fb7..1d00f0ecdc912dc7ecc23a818a79828d2b2727e6 100644 --- a/src/tests/intg/test_netgroup.py +++ b/src/tests/intg/test_netgroup.py @@ -104,6 +104,7 @@ def format_basic_conf(ldap_conn, schema): [sssd] domains = LDAP services = nss
disable_netlink = true [domain/LDAP] {schema_conf}
@@ -148,11 +149,16 @@ def create_sssd_process(): raise Exception("sssd start failed")
+def get_sssd_pid():
- pid_file = open(config.PIDFILE_PATH, "r")
- pid = int(pid_file.read())
- return pid
def cleanup_sssd_process(): """Stop the SSSD process and remove its state""" try:
pid_file = open(config.PIDFILE_PATH, "r")
pid = int(pid_file.read())
pid = get_sssd_pid() os.kill(pid, signal.SIGTERM) while True: try:
@@ -172,6 +178,9 @@ def create_sssd_cleanup(request): """Add teardown for stopping SSSD and removing its state""" request.addfinalizer(cleanup_sssd_process)
+def simulate_offline():
- pid = get_sssd_pid()
- os.kill(pid, signal.SIGUSR1)
def create_sssd_fixture(request): """Start SSSD and add teardown for stopping it and removing its state""" @@ -351,7 +360,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -366,7 +375,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -422,7 +431,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -444,7 +453,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
Above changes are unrelated to the test. If you decide to touch the code then it would be better to use subprocess.check_call
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -457,3 +466,17 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup3") assert res == sssd_netgroup.NssReturnCode.SUCCESS assert netgroups == []
+def test_offline_netgroups(add_tripled_netgroup):
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
- if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sss_cache failed")
- simulate_offline()
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
otherwise LGTM
Actually, there are trivial pep8 errors src/tests/intg/test_netgroup.py:181:1: E302 expected 2 blank lines, found 1 src/tests/intg/test_netgroup.py:185:1: E302 expected 2 blank lines, found 1 src/tests/intg/test_netgroup.py:470:1: E302 expected 2 blank lines, found 1
OK, see the new patches.
On (19/09/16 12:11), Jakub Hrozek wrote:
On Mon, Sep 19, 2016 at 10:41:13AM +0200, Lukas Slebodnik wrote:
On (19/09/16 10:06), Lukas Slebodnik wrote:
On (12/09/16 00:25), Jakub Hrozek wrote:
From fd71b7ed7c588cc22402573b9877020234949e22 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek jhrozek@redhat.com Date: Fri, 9 Sep 2016 12:23:04 +0200 Subject: [PATCH 3/3] TESTS: Test offline netgroups resolution
src/tests/intg/test_netgroup.py | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-)
diff --git a/src/tests/intg/test_netgroup.py b/src/tests/intg/test_netgroup.py index b99476126844e35d5dbc1793077720b4020c2fb7..1d00f0ecdc912dc7ecc23a818a79828d2b2727e6 100644 --- a/src/tests/intg/test_netgroup.py +++ b/src/tests/intg/test_netgroup.py @@ -104,6 +104,7 @@ def format_basic_conf(ldap_conn, schema): [sssd] domains = LDAP services = nss
disable_netlink = true [domain/LDAP] {schema_conf}
@@ -148,11 +149,16 @@ def create_sssd_process(): raise Exception("sssd start failed")
+def get_sssd_pid():
- pid_file = open(config.PIDFILE_PATH, "r")
- pid = int(pid_file.read())
- return pid
def cleanup_sssd_process(): """Stop the SSSD process and remove its state""" try:
pid_file = open(config.PIDFILE_PATH, "r")
pid = int(pid_file.read())
pid = get_sssd_pid() os.kill(pid, signal.SIGTERM) while True: try:
@@ -172,6 +178,9 @@ def create_sssd_cleanup(request): """Add teardown for stopping SSSD and removing its state""" request.addfinalizer(cleanup_sssd_process)
+def simulate_offline():
- pid = get_sssd_pid()
- os.kill(pid, signal.SIGUSR1)
def create_sssd_fixture(request): """Start SSSD and add teardown for stopping it and removing its state""" @@ -351,7 +360,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -366,7 +375,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -422,7 +431,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -444,7 +453,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
Above changes are unrelated to the test. If you decide to touch the code then it would be better to use subprocess.check_call
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -457,3 +466,17 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup3") assert res == sssd_netgroup.NssReturnCode.SUCCESS assert netgroups == []
+def test_offline_netgroups(add_tripled_netgroup):
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
- if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sss_cache failed")
- simulate_offline()
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
otherwise LGTM
Actually, there are trivial pep8 errors src/tests/intg/test_netgroup.py:181:1: E302 expected 2 blank lines, found 1 src/tests/intg/test_netgroup.py:185:1: E302 expected 2 blank lines, found 1 src/tests/intg/test_netgroup.py:470:1: E302 expected 2 blank lines, found 1
OK, see the new patches.
ACK
http://sssd-ci.duckdns.org/logs/job/53/68/summary.html
LS
On (21/09/16 11:43), Lukas Slebodnik wrote:
On (19/09/16 12:11), Jakub Hrozek wrote:
On Mon, Sep 19, 2016 at 10:41:13AM +0200, Lukas Slebodnik wrote:
On (19/09/16 10:06), Lukas Slebodnik wrote:
On (12/09/16 00:25), Jakub Hrozek wrote:
From fd71b7ed7c588cc22402573b9877020234949e22 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek jhrozek@redhat.com Date: Fri, 9 Sep 2016 12:23:04 +0200 Subject: [PATCH 3/3] TESTS: Test offline netgroups resolution
src/tests/intg/test_netgroup.py | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-)
diff --git a/src/tests/intg/test_netgroup.py b/src/tests/intg/test_netgroup.py index b99476126844e35d5dbc1793077720b4020c2fb7..1d00f0ecdc912dc7ecc23a818a79828d2b2727e6 100644 --- a/src/tests/intg/test_netgroup.py +++ b/src/tests/intg/test_netgroup.py @@ -104,6 +104,7 @@ def format_basic_conf(ldap_conn, schema): [sssd] domains = LDAP services = nss
disable_netlink = true [domain/LDAP] {schema_conf}
@@ -148,11 +149,16 @@ def create_sssd_process(): raise Exception("sssd start failed")
+def get_sssd_pid():
- pid_file = open(config.PIDFILE_PATH, "r")
- pid = int(pid_file.read())
- return pid
def cleanup_sssd_process(): """Stop the SSSD process and remove its state""" try:
pid_file = open(config.PIDFILE_PATH, "r")
pid = int(pid_file.read())
pid = get_sssd_pid() os.kill(pid, signal.SIGTERM) while True: try:
@@ -172,6 +178,9 @@ def create_sssd_cleanup(request): """Add teardown for stopping SSSD and removing its state""" request.addfinalizer(cleanup_sssd_process)
+def simulate_offline():
- pid = get_sssd_pid()
- os.kill(pid, signal.SIGUSR1)
def create_sssd_fixture(request): """Start SSSD and add teardown for stopping it and removing its state""" @@ -351,7 +360,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -366,7 +375,7 @@ def test_remove_step_by_step(remove_step_by_step, ldap_conn): ent_list.remove(ent_list[0])
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("rm_empty_netgroup1") assert res == sssd_netgroup.NssReturnCode.NOTFOUND
@@ -422,7 +431,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -444,7 +453,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): ldap_conn.modify_s(netgrp_dn, ldif)
if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sssd_cache failed")
raise Exception("sss_cache failed")
Above changes are unrelated to the test. If you decide to touch the code then it would be better to use subprocess.check_call
res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup1") assert res == sssd_netgroup.NssReturnCode.SUCCESS
@@ -457,3 +466,17 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn): res, _, netgroups = sssd_netgroup.get_sssd_netgroups("t2841_netgroup3") assert res == sssd_netgroup.NssReturnCode.SUCCESS assert netgroups == []
+def test_offline_netgroups(add_tripled_netgroup):
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
- if subprocess.call(["sss_cache", "-N"]) != 0:
raise Exception("sss_cache failed")
- simulate_offline()
- res, _, netgrps = sssd_netgroup.get_sssd_netgroups("tripled_netgroup")
- assert res == sssd_netgroup.NssReturnCode.SUCCESS
- assert netgrps == [("host", "user", "domain")]
otherwise LGTM
Actually, there are trivial pep8 errors src/tests/intg/test_netgroup.py:181:1: E302 expected 2 blank lines, found 1 src/tests/intg/test_netgroup.py:185:1: E302 expected 2 blank lines, found 1 src/tests/intg/test_netgroup.py:470:1: E302 expected 2 blank lines, found 1
OK, see the new patches.
ACK
master: * c0ee12832555b42c17e48cdf731731454a97972e * a3108c5cd1ebb05c133c8e8990278ac4f4b8e25c * b9e155da725e711ab306ca8a96e3ba6fbda41a3a
sssd-1-13: * faaa6645a28b56175569cbee135da3ccfcad3594 * f557e46b66c742d97525153a3755ace307611f34
LS
sssd-devel@lists.fedorahosted.org