#3315 infopipe: org.freedesktop.sssd.infopipe.Groups.Group doesn't show users
Closed: Fixed 6 years ago Opened 7 years ago by pcech.

# 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

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

7 years 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)

7 years 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

7 years ago

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

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

7 years 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

7 years 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)

7 years 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

6 years ago

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

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)

6 years 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)

6 years 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)

6 years 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)

6 years ago

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/4348

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Login to comment on this ticket.

Metadata