30 Eylül 2024 Pazartesi

freeipa ve freeipa-client sertifika problemi RHEL 9

 RHEL 9 güncellemelerinden sonra sssd servisi kullanıcı bilgilerini alamamaktır.

Bunun esas nedeni python3-cryptography paketinin güncellenmesi.
rhel 9 güncellemeleri ile gelen güncel python3-cryptography paket içindeki bazı  özellikler kaldırılmış, bundan dolayı sssd servisi ile ipa-server arasındaki haberleşme sağlanamıyor. Gecici çözüm olarak ipa-client ve python3-cryptography paketinin downgrade edilip, sürümünün kilitlenmesi.
Şayet bir sunucusunuz varsa elle aşağıdaki gibi yapabilirsiniz.

# yum -y install python3-dnf-plugin-versionlock.noarch

# yum -y downgrade ipa-client-4.9.8  python3-cryptography-36.0.1

# dnf versionlock add ipa-client  python3-cryptography


Fakat 10 larce sunucunuz varsa tek tek elle bunları yapmak sıkıcı olacaktır.

Aşağıdaki playbook ile yapabilirsiniz, veya kendinize özel playbook yazabilirsiniz.


---
- name: Manage packages and restart sssd service on RHEL 9
  hosts: all
  become: yes
  vars:
    ipa_client_version: "4.9.8"
    python3_cryptography_version: "36.0.1"

  tasks:

    - name: Check if the system is RHEL 9 or Oracle Linux 9
      ansible.builtin.debug:
        msg: "This playbook only runs on RHEL 9 or Oracle Linux 9 systems."
      when: ansible_distribution_major_version != "9"
      ignore_errors: true

    - name: Exit if not RHEL 9 or Oracle Linux 9
      ansible.builtin.meta: end_play
      when: ansible_distribution_major_version != "9"

    - name: Install python3-dnf-plugin-versionlock
      ansible.builtin.yum:
        name: python3-dnf-plugin-versionlock.noarch
        state: present

    - name: Downgrade ipa-client to version {{ ipa_client_version }}
      ansible.builtin.yum:
        name: ipa-client-{{ ipa_client_version }}
        state: present
        allow_downgrade: yes

    - name: Downgrade python3-cryptography to version {{ python3_cryptography_version }}
      ansible.builtin.yum:
        name: python3-cryptography-{{ python3_cryptography_version }}
        state: present
        allow_downgrade: yes

    - name: Version-lock ipa-client
      ansible.builtin.command:
        cmd: dnf versionlock add ipa-client
        creates: /etc/dnf/plugins/versionlock.list

    - name: Version-lock python3-cryptography
      ansible.builtin.command:
        cmd: dnf versionlock add python3-cryptography
        creates: /etc/dnf/plugins/versionlock.list

    - name: Restart sssd service
      ansible.builtin.service:
        name: sssd
        state: restarted

Hiç yorum yok:

Yorum Gönder