Bug 2021393

Summary: [ansible-freeipa] Not able to update existing automember rule description.
Product: Red Hat Enterprise Linux 8 Reporter: Varun Mylaraiah <mvarun>
Component: ansible-freeipaAssignee: Thomas Woerner <twoerner>
Status: CLOSED ERRATA QA Contact: ipa-qe <ipa-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.6CC: ipa-qe, pcech, rjeffman
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: ansible-freeipa-1.5.3-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1976922 Environment:
Last Closed: 2022-05-10 13:38:24 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:
Bug Depends On: 1976922    
Bug Blocks:    

Description Varun Mylaraiah 2021-11-09 06:06:49 UTC
+++ This bug was initially created as a clone of Bug #1976922 +++

Description of problem:
In the Automember module, not able to update the existing automember rule description.
Currently, the task is creating a new automember that is replacing the old one.


Version-Release number of selected component (if applicable):
ansible-freeipa-0.3.6-3.el8.noarch

Steps to Reproduce:
Before
#######
[root@master ~]# ipa automember-show --type=hostgroup 01automemb_hostgroup
  Automember Rule: 01automemb_hostgroup
  Description: Automember rule
  Inclusive Regex: cn=@1
  Exclusive Regex: cn=s


# cat automember_module.yaml
---
- name: Playbook to ensure a host group automember rule is present with an updated description.
  hosts: ipaserver
  become: yes
 
  tasks:
  - ipaautomember:      
      ipaadmin_principal: admin
      ipaadmin_password: <xxxxxxxx>
      name: 01automemb_hostgroup
      description: New Automember rule
      automember_type: hostgroup

[root@ansible ~]# ansible-playbook -vv -i inventory/automember.hosts automember_module.yml 



After
######
[root@master ~]# ipa automember-show --type=hostgroup 01automemb_hostgroup
  Automember Rule: 01automemb_hostgroup
  Description: New Automember rule


Actual results:
Task is creating a new automember rule that is replacing the old one

Expected results:
Should update existing automember rule.

Additional info:

--- Additional comment from Varun Mylaraiah on 2021-07-01 19:22:58 IST ---

This issue is generic. We can fix this in the next release (Rhel-8.6).

--- Additional comment from Petr Čech on 2021-07-21 16:46:16 IST ---

Due to capacity, we moved this issue to RHEL 9.0. But actually, it can still move as the planning didn't started yet.

--- Additional comment from Rafael Jeffman on 2021-11-04 02:33:10 IST ---

Upstream PR: https://github.com/freeipa/ansible-freeipa/pull/675

Comment 6 Varun Mylaraiah 2022-01-13 16:04:27 UTC
Verified
ansible-freeipa-1.5.3-1.el8

2022-01-13T12:35:59 ansible_freeipa_tests/automember/test_automember.py::TestAutomember::test_automember_hostgroup_rule_update_description_only PASSED [ 69%]


Console-Output
===============

ansible_freeipa_tests/automember/test_automember.py::TestAutomember::test_automember_hostgroup_rule_update_description_only


2022-01-13T12:35:50+0000 [pytest_multihost.host.Host.master.ParamikoTransport] INFO RUN ['ipa', 'automember-add', '--type=hostgroup', '03automemb_hostgroup', '--desc=testing']
2022-01-13T12:35:50+0000 [pytest_multihost.host.Host.master.cmd149] DEBUG RUN ['ipa', 'automember-add', '--type=hostgroup', '03automemb_hostgroup', '--desc=testing']
2022-01-13T12:35:50+0000 [paramiko.transport] DEBUG [chan 148] Sesch channel 148 request ok
2022-01-13T12:35:50+0000 [pytest_multihost.host.Host.master.cmd149] DEBUG -bash: line 1: cd: /root/multihost_tests: No such file or directory
2022-01-13T12:35:50+0000 [pytest_multihost.host.Host.master.cmd149] DEBUG -bash: line 2: /root/multihost_tests/env.sh: No such file or directory
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.cmd149] DEBUG --------------------------------------------
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.cmd149] DEBUG Added automember rule "03automemb_hostgroup"
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.cmd149] DEBUG --------------------------------------------
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.cmd149] DEBUG   Automember Rule: 03automemb_hostgroup
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.cmd149] DEBUG   Description: testing
2022-01-13T12:35:51+0000 [paramiko.transport] DEBUG [chan 148] EOF received (148)
2022-01-13T12:35:51+0000 [paramiko.transport] DEBUG [chan 148] EOF sent (148)
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.cmd149] DEBUG Exit code: 0
2022-01-13T12:35:51+0000 [paramiko.transport] DEBUG [chan 149] Max packet in: 32768 bytes
2022-01-13T12:35:51+0000 [paramiko.transport] DEBUG [chan 149] Max packet out: 32768 bytes
2022-01-13T12:35:51+0000 [paramiko.transport] DEBUG Secsh channel 149 opened.
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.ParamikoTransport] INFO RUN ['ipa', 'automember-add-condition', '--inclusive-regex=^uid=miles', '--key=manager', '--type=hostgroup', '03automemb_hostgroup']
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG RUN ['ipa', 'automember-add-condition', '--inclusive-regex=^uid=miles', '--key=manager', '--type=hostgroup', '03automemb_hostgroup']
2022-01-13T12:35:51+0000 [paramiko.transport] DEBUG [chan 149] Sesch channel 149 request ok
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG -bash: line 1: cd: /root/multihost_tests: No such file or directory
2022-01-13T12:35:51+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG -bash: line 2: /root/multihost_tests/env.sh: No such file or directory
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG --------------------------------------------
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG Added condition(s) to "03automemb_hostgroup"
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG --------------------------------------------
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG   Automember Rule: 03automemb_hostgroup
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG   Description: testing
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG   Inclusive Regex: manager=^uid=miles
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG ----------------------------
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG Number of conditions added 1
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG ----------------------------
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 149] EOF received (149)
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 149] EOF sent (149)
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd150] DEBUG Exit code: 0
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 150] Max packet in: 32768 bytes
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 150] Max packet out: 32768 bytes
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG Secsh channel 150 opened.
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.ParamikoTransport] INFO RUN ['kinit', 'admin']
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd151] DEBUG RUN ['kinit', 'admin']
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 150] Sesch channel 150 request ok
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd151] DEBUG -bash: line 1: cd: /root/multihost_tests: No such file or directory
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd151] DEBUG -bash: line 2: /root/multihost_tests/env.sh: No such file or directory
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd151] DEBUG Password for admin: 
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 150] EOF received (150)
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 150] EOF sent (150)
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd151] DEBUG Exit code: 0
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 151] Max packet in: 32768 bytes
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 151] Max packet out: 32768 bytes
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG Secsh channel 151 opened.
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.ParamikoTransport] INFO RUN ['ipa', 'automember-show', '--type=hostgroup', '03automemb_hostgroup']
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd152] DEBUG RUN ['ipa', 'automember-show', '--type=hostgroup', '03automemb_hostgroup']
2022-01-13T12:35:52+0000 [paramiko.transport] DEBUG [chan 151] Sesch channel 151 request ok
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd152] DEBUG -bash: line 1: cd: /root/multihost_tests: No such file or directory
2022-01-13T12:35:52+0000 [pytest_multihost.host.Host.master.cmd152] DEBUG -bash: line 2: /root/multihost_tests/env.sh: No such file or directory
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.master.cmd152] DEBUG   Automember Rule: 03automemb_hostgroup
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.master.cmd152] DEBUG   Description: testing
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.master.cmd152] DEBUG   Inclusive Regex: manager=^uid=miles
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 151] EOF received (151)
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 151] EOF sent (151)
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.master.cmd152] DEBUG Exit code: 0
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 152] Max packet in: 32768 bytes
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 152] Max packet out: 32768 bytes
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG Secsh channel 152 opened.
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.master.ParamikoTransport] INFO RUN ['kdestroy', '-A']
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.master.cmd153] DEBUG RUN ['kdestroy', '-A']
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 152] Sesch channel 152 request ok
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.master.cmd153] DEBUG -bash: line 1: cd: /root/multihost_tests: No such file or directory
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.master.cmd153] DEBUG -bash: line 2: /root/multihost_tests/env.sh: No such file or directory
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 152] EOF received (152)
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 152] EOF sent (152)
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.master.cmd153] DEBUG Exit code: 0
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.ParamikoTransport] INFO WRITE inventory/automember.hosts
2022-01-13T12:35:53+0000 [paramiko.transport.sftp] DEBUG [chan 0] open(b'inventory/automember.hosts', 'wb')
2022-01-13T12:35:53+0000 [paramiko.transport.sftp] DEBUG [chan 0] open(b'inventory/automember.hosts', 'wb') -> 00000000
2022-01-13T12:35:53+0000 [paramiko.transport.sftp] DEBUG [chan 0] close(00000000)
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.ParamikoTransport] INFO PUT automember_module.yml
2022-01-13T12:35:53+0000 [paramiko.transport.sftp] DEBUG [chan 0] open(b'automember_module.yml', 'wb')
2022-01-13T12:35:53+0000 [paramiko.transport.sftp] DEBUG [chan 0] open(b'automember_module.yml', 'wb') -> 00000000
2022-01-13T12:35:53+0000 [paramiko.transport.sftp] DEBUG [chan 0] close(00000000)
2022-01-13T12:35:53+0000 [paramiko.transport.sftp] DEBUG [chan 0] stat(b'automember_module.yml')
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 29] Max packet in: 32768 bytes
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 29] Max packet out: 32768 bytes
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG Secsh channel 29 opened.
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.ParamikoTransport] INFO RUN ['ansible-playbook', '--ssh-extra-args="-o StrictHostKeyChecking=no"', '-vv', '-i', 'inventory/automember.hosts', 'automember_module.yml']
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG RUN ['ansible-playbook', '--ssh-extra-args="-o StrictHostKeyChecking=no"', '-vv', '-i', 'inventory/automember.hosts', 'automember_module.yml']
2022-01-13T12:35:53+0000 [paramiko.transport] DEBUG [chan 29] Sesch channel 29 request ok
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG -bash: line 1: cd: /root/multihost_tests: No such file or directory
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG -bash: line 2: /root/multihost_tests/env.sh: No such file or directory
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG ansible-playbook [core 2.12.1]
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG   config file = /etc/ansible/ansible.cfg
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG   configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG   ansible python module location = /usr/lib/python3.8/site-packages/ansible
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG   ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG   executable location = /usr/bin/ansible-playbook
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG   python version = 3.8.12 (default, Sep 16 2021, 10:46:05) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG   jinja version = 2.10.3
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG   libyaml = True
2022-01-13T12:35:53+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG Using /etc/ansible/ansible.cfg as config file
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG Skipping callback 'default', as we already have a stdout callback.
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG Skipping callback 'minimal', as we already have a stdout callback.
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG Skipping callback 'oneline', as we already have a stdout callback.
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG 
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG PLAYBOOK: automember_module.yml ************************************************
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG 1 plays in automember_module.yml
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG 
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG PLAY [Playbook to ensure a host group automember rule is updated with discreption without changing exiting inclusive, exclusive parameters.] ***
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG 
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG TASK [Gathering Facts] *********************************************************
2022-01-13T12:35:54+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG task path: /root/automember_module.yml:2
2022-01-13T12:35:55+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG ok: [master.ipadomain.test]
2022-01-13T12:35:55+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG META: ran handlers
2022-01-13T12:35:55+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG 
2022-01-13T12:35:55+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG TASK [ipaautomember] ***********************************************************
2022-01-13T12:35:55+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG task path: /root/automember_module.yml:7
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG changed: [master.ipadomain.test] => {"changed": true}
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG META: ran handlers
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG META: ran handlers
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG 
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG PLAY RECAP *********************************************************************
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG master.ipadomain.test      : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG 
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 29] EOF received (29)
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 29] EOF sent (29)
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.ansible.cmd29] DEBUG Exit code: 0
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 153] Max packet in: 32768 bytes
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 153] Max packet out: 32768 bytes
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG Secsh channel 153 opened.
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.ParamikoTransport] INFO RUN ['kinit', 'admin']
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.cmd154] DEBUG RUN ['kinit', 'admin']
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 153] Sesch channel 153 request ok
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.cmd154] DEBUG -bash: line 1: cd: /root/multihost_tests: No such file or directory
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.cmd154] DEBUG -bash: line 2: /root/multihost_tests/env.sh: No such file or directory
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.cmd154] DEBUG Password for admin: 
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 153] EOF received (153)
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 153] EOF sent (153)
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.cmd154] DEBUG Exit code: 0
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 154] Max packet in: 32768 bytes
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 154] Max packet out: 32768 bytes
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG Secsh channel 154 opened.
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.ParamikoTransport] INFO RUN ['ipa', 'automember-show', '--type=hostgroup', '03automemb_hostgroup']
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.cmd155] DEBUG RUN ['ipa', 'automember-show', '--type=hostgroup', '03automemb_hostgroup']
2022-01-13T12:35:58+0000 [paramiko.transport] DEBUG [chan 154] Sesch channel 154 request ok
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.cmd155] DEBUG -bash: line 1: cd: /root/multihost_tests: No such file or directory
2022-01-13T12:35:58+0000 [pytest_multihost.host.Host.master.cmd155] DEBUG -bash: line 2: /root/multihost_tests/env.sh: No such file or directory
2022-01-13T12:35:59+0000 [pytest_multihost.host.Host.master.cmd155] DEBUG   Automember Rule: 03automemb_hostgroup
2022-01-13T12:35:59+0000 [pytest_multihost.host.Host.master.cmd155] DEBUG   Description: Automember rule 1976922
2022-01-13T12:35:59+0000 [pytest_multihost.host.Host.master.cmd155] DEBUG   Inclusive Regex: manager=^uid=miles

Comment 10 errata-xmlrpc 2022-05-10 13:38:24 UTC
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 (ansible-freeipa bug fix and enhancement update), 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-2022:1791