#3315 infopipe: org.freedesktop.sssd.infopipe.Groups.Group doesn't show users

Created 10 months ago by pcech
Modified 2 months ago

# PREPARING
ipa user-add --first=Test --last=User --email=u1@test-domain.sssd test_user
ipa group-add test_group

# REPRODUCER
systemctl daemon-reload
sudo su -c "truncate -s0 /var/log/sssd/*.log"
sudo su -c "rm -f /var/lib/sss/db/*" 
sudo su -c "rm -f /var/lib/sss/mc/*"
sudo systemctl restart sssd.service

ipa group-add-member --users=test_user test_group
sss_cache -UG
getent group test_group

# getent show user test_user in test_group, but dbus call doesn't:

dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe \
    /org/freedesktop/sssd/infopipe/Groups \
    org.freedesktop.sssd.infopipe.Groups.FindByName \
    string:test_group

# command above returns <RESULT_OBJECT>

dbus-send --system --print-reply --dest=org.freedesktop.sssd.infopipe \
    <RESULT_OBJECT> \
    org.freedesktop.DBus.Properties.GetAll \
    string:"org.freedesktop.sssd.infopipe.Groups.Group"

# We expect test_user in result users array.

# CLEANING
ipa group-del test_group
ipa user-del test_user

Fields changed

description: # PREPARING
ipa user-add --first=Test --last=User --email=u1 @test-domain.sssd test_user
ipa group-add test_group

REPRODUCER

systemctl daemon-reload
sudo su -c "truncate -s0 /var/log/sssd/.log"
sudo su -c "rm -f /var/lib/sss/db/
"
sudo su -c "rm -f /var/lib/sss/mc/*"
sudo systemctl restart sssd.service

ipa group-add-member --users=test_user test_group
sss_cache -UG
getent group test_group

getent show user test_user in test_group, but dbus call doesn't:

dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe \
/org/freedesktop/sssd/infopipe/Groups \
org.freedesktop.sssd.infopipe.Groups.FindByName \
string:test_group

command above returns <result_object>

dbus-send --system --print-reply --dest=org.freedesktop.sssd.infopipe \
<result_object> \
org.freedesktop.DBus.Properties.GetAll \
string:"org.freedesktop.sssd.infopipe.Groups.Group"

We expect test_user in result users array.

CLEANING

ipa group-del test_group
ipa user-del test_user
=> {{{

PREPARING

ipa user-add --first=Test --last=User --email=u1 @test-domain.sssd test_user
ipa group-add test_group

REPRODUCER

systemctl daemon-reload
sudo su -c "truncate -s0 /var/log/sssd/.log"
sudo su -c "rm -f /var/lib/sss/db/
"
sudo su -c "rm -f /var/lib/sss/mc/*"
sudo systemctl restart sssd.service

ipa group-add-member --users=test_user test_group
sss_cache -UG
getent group test_group

getent show user test_user in test_group, but dbus call doesn't:

dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe \
/org/freedesktop/sssd/infopipe/Groups \
org.freedesktop.sssd.infopipe.Groups.FindByName \
string:test_group

command above returns <result_object>

dbus-send --system --print-reply --dest=org.freedesktop.sssd.infopipe \
<result_object> \
org.freedesktop.DBus.Properties.GetAll \
string:"org.freedesktop.sssd.infopipe.Groups.Group"

We expect test_user in result users array.

CLEANING

ipa group-del test_group
ipa user-del test_user
}}}

Fields changed

milestone: NEEDS_TRIAGE => SSSD 1.15.3

10 months ago

Metadata Update from @pcech:
- Issue set to the milestone: SSSD 1.15.3

9 months ago

Metadata Update from @pcech:
- Custom field component reset
- Custom field design_review reset
- Custom field mark reset
- Custom field patch reset
- Custom field review reset
- Custom field sensitive reset
- Custom field testsupdated reset
- Custom field type reset
- Custom field version reset
- Issue close_status updated to: None
- Issue set to the milestone: None (was: SSSD 1.15.3)

9 months ago

Metadata Update from @pcech:
- Custom field design_review reset
- Custom field mark reset
- Custom field patch reset
- Custom field review reset
- Custom field sensitive reset
- Custom field testsupdated reset
- Issue assigned to pcech

The reproducer above is expected behavior. Properties show data from cache without updating them. If we like to see members we need to call :

dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe \
    "/org/freedesktop/sssd/infopipe/Groups/domain_2ecygnus/728800050" \
    org.freedesktop.sssd.infopipe.Groups.Group.UpdateMemberList

But this return:

Unable to resolve ghost members [2]: No such file or directory
9 months ago

Metadata Update from @pcech:
- Custom field design_review reset
- Custom field mark reset
- Custom field patch reset
- Custom field review reset
- Custom field sensitive reset
- Custom field testsupdated reset

9 months ago

Metadata Update from @jhrozek:
- Custom field design_review reset
- Custom field mark reset
- Custom field patch reset
- Custom field review reset
- Custom field sensitive reset
- Custom field testsupdated reset
- Issue set to the milestone: SSSD 1.15.3

9 months ago

Metadata Update from @jhrozek:
- Custom field design_review reset
- Custom field mark reset
- Custom field patch reset
- Custom field review reset
- Custom field sensitive reset
- Custom field testsupdated reset
- Issue set to the milestone: SSSD 1.15.4 (was: SSSD 1.15.3)

5 months ago

Metadata Update from @jhrozek:
- Custom field design_review reset (from false)
- Custom field mark reset (from false)
- Custom field patch reset (from false)
- Custom field review reset (from false)
- Custom field sensitive reset (from false)
- Custom field testsupdated reset (from false)
- Issue tagged with: PR

The reproducer above is expected behavior. Properties show data from cache without updating them. If we like to see members we need to call :
dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe \
"/org/freedesktop/sssd/infopipe/Groups/domain_2ecygnus/728800050" \
org.freedesktop.sssd.infopipe.Groups.Group.UpdateMemberList

But this return:
Unable to resolve ghost members [2]: No such file or directory

This is the expected behaviour when trying to access an object property by its object path. The result returned is only based on the cache.

The real issue happens when trying to call UpdateMemberList method for a group that doesn't have a ghost property set.

Then you'll see the behaviour described at https://github.com/SSSD/sssd/pull/202#issuecomment-319049987

5 months ago

Metadata Update from @fidencio:
- Custom field design_review reset (from false)
- Custom field mark reset (from false)
- Custom field patch reset (from false)
- Custom field review reset (from false)
- Custom field sensitive reset (from false)
- Custom field testsupdated reset (from false)

4 months ago

Metadata Update from @jhrozek:
- Custom field design_review reset (from false)
- Custom field mark reset (from false)
- Custom field patch reset (from false)
- Custom field review reset (from false)
- Custom field sensitive reset (from false)
- Custom field testsupdated reset (from false)

4 months ago

Metadata Update from @jhrozek:
- Custom field design_review reset (from false)
- Custom field mark reset (from false)
- Custom field patch reset (from false)
- Custom field review reset (from false)
- Custom field sensitive reset (from false)
- Custom field testsupdated reset (from false)
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 months ago

Metadata Update from @jhrozek:
- Custom field design_review reset (from false)
- Custom field mark reset (from false)
- Custom field patch reset (from false)
- Custom field review reset (from false)
- Custom field sensitive reset (from false)
- Custom field testsupdated reset (from false)
- Issue set to the milestone: SSSD 1.16.0 (was: SSSD 1.15.4)

Login to comment on this ticket.

false

false

false

false

false

false

cancel