Skip to content
Snippets Groups Projects
Select Git revision
  • e4d2b62bdb7d820859d624306e65f4547f06facd
  • master default protected
  • v1.14.7
  • v1.14.6
  • v1.14.5
  • v1.14.4
  • v1.14.3
  • v1.14.2
  • v1.14.1
  • v1.14.0
  • v1.13.2
  • v1.13.1
  • v1.13.0
  • v1.12.1
  • v1.12.0
  • v1.11.1
  • v1.11.0
  • v1.10.0
  • v1.9.2
  • v1.9.1
  • v1.9.0
  • v1.8.4
22 results

README-hostgroup.md

Blame
    • Rafael Guterres Jeffman's avatar
      16f67ce9
      Add support for parameter `rename` on ipahostgroup. · 16f67ce9
      Rafael Guterres Jeffman authored
      FreeIPA 4.8.7 introduced an option to rename an existing hostgroup.
      This patch adds support for renaming hostgroups if the option is
      available on installed IPA version.
      
      A new state `renamed` and a new option `rename` (alias: `new_name`)
      was added to module `ipahostgroup` to allow renaming of host groups.
      
      The implemented behavior is:
      * Rename if `name` exists and `rename` doesn't.
      * Do nothing if `name` does not exist and `rename` does, or if
        `name` equals to `rename`. (result.changed is False)
      * Fail if neither or both `name` and `rename` exist.
      16f67ce9
      History
      Add support for parameter `rename` on ipahostgroup.
      Rafael Guterres Jeffman authored
      FreeIPA 4.8.7 introduced an option to rename an existing hostgroup.
      This patch adds support for renaming hostgroups if the option is
      available on installed IPA version.
      
      A new state `renamed` and a new option `rename` (alias: `new_name`)
      was added to module `ipahostgroup` to allow renaming of host groups.
      
      The implemented behavior is:
      * Rename if `name` exists and `rename` doesn't.
      * Do nothing if `name` does not exist and `rename` does, or if
        `name` equals to `rename`. (result.changed is False)
      * Fail if neither or both `name` and `rename` exist.
    test_automember.yml 10.61 KiB
    ---
    - name: Test automember
      hosts: ipaserver
      become: true
    
      tasks:
    
      # CLEANUP TEST ITEMS
    
      - name: Ensure group testgroup is absent
        ipagroup:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          state: absent
    
      - name: Ensure hostgroup testhostgroup is absent
        ipahostgroup:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          state: absent
    
      - name: Ensure group automember rule testgroup is absent
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          state: absent
          automember_type: group
    
      - name: Ensure hostgroup automember rule testhostgroup is absent
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          state: absent
          automember_type: hostgroup
    
      # CREATE TEST ITEMS
    
      # TESTS
      - name: Ensure testgroup group is present
        ipagroup:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
    
      - name: Ensure testhostgroup hostgroup is present
        ipahostgroup:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
    
      - name: Ensure testgroup group automember rule is present
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          description: testgroup automember rule.
          automember_type: group
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testgroup group automember rule is present again
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          description: testgroup automember rule.
          automember_type: group
        register: result
        failed_when: result.changed or result.failed
    
      - name: Change testgroup group automember rule description
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          description: testgroup automember rule description.
          automember_type: group
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testgroup group automember rule has conditions
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          automember_type: group
          inclusive:
            - key: 'uid'
              expression: 'uid'
            - key: 'uidnumber'
              expression: 'uidnumber'
          exclusive:
            - key: 'uid'
              expression: 'uid'
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testgroup group automember rule has conditions again
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          automember_type: group
          inclusive:
            - key: 'uid'
              expression: 'uid'
            - key: 'uidnumber'
              expression: 'uidnumber'
          exclusive:
            - key: 'uid'
              expression: 'uid'
        register: result
        failed_when: result.changed or result.failed
    
      - name: Add testgroup group automember rule member condition
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          automember_type: group
          action: member
          inclusive:
            - key: 'manager'
              expression: 'uid=mscott'
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testgroup group automember rule has conditions
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          automember_type: group
          inclusive:
            - key: 'uid'
              expression: 'uid'
            - key: 'uidnumber'
              expression: 'uidnumber'
            - key: 'manager'
              expression: 'uid=mscott'
          exclusive:
            - key: 'uid'
              expression: 'uid'
        register: result
        failed_when: result.changed or result.failed
    
      - name: Remove testgroup group automember rule member condition
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          automember_type: group
          action: member
          state: absent
          inclusive:
            - key: 'manager'
              expression: 'uid=mscott'
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testgroup group automember rule has conditions again
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          automember_type: group
          inclusive:
            - key: 'uid'
              expression: 'uid'
            - key: 'uidnumber'
              expression: 'uidnumber'
          exclusive:
            - key: 'uid'
              expression: 'uid'
        register: result
        failed_when: result.changed or result.failed
    
      - name: Ensure testgroup group automember conditions fails on invalid inclusive key
        ipaautomember:
          ipaadmin_principal: admin
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          automember_type: group
          inclusive:
            - key: cns
              expression: 'foo'
          action: member
        register: result
        failed_when: result.changed or not result.failed or
                     "Invalid automember condition key 'cns'" not in result.msg
    
      - name: Ensure testgroup group automember conditions fails on invalid exlusive key
        ipaautomember:
          ipaadmin_principal: admin
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          automember_type: group
          exclusive:
            - key: cns
              expression: 'foo'
          action: member
        register: result
        failed_when: result.changed or not result.failed or
                     "Invalid automember condition key 'cns'" not in result.msg
    
      - name: Ensure testhostgroup hostgroup automember rule is present
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          description: testhostgroup automember rule
          automember_type: hostgroup
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testhostgroup hostgroup automember rule is present again
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          description: testhostgroup automember rule
          automember_type: hostgroup
        register: result
        failed_when: result.changed or result.failed
    
      - name: Change testhostgroup hostgroup automember rule description
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          description: testhostgroup test automember rule
          automember_type: hostgroup
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testhostgroup hostgroup automember rule has conditions
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          automember_type: hostgroup
          inclusive:
            - key: 'description'
              expression: 'description'
            - key: 'description'
              expression: 'description'
          exclusive:
            - key: 'cn'
              expression: 'cn'
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testhostgroup hostgroup automember rule has conditions again
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          automember_type: hostgroup
          inclusive:
            - key: 'description'
              expression: 'description'
            - key: 'description'
              expression: 'description'
          exclusive:
            - key: 'cn'
              expression: 'cn'
        register: result
        failed_when: result.changed or result.failed
    
      - name: Add testhostgroup hostgroup automember rule member condition
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          automember_type: hostgroup
          action: member
          inclusive:
            - key: 'fqdn'
              expression: '.*.domain.com'
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testhostgroup hostgroup automember rule has conditions
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          automember_type: hostgroup
          inclusive:
            - key: 'description'
              expression: 'description'
            - key: 'description'
              expression: 'description'
            - key: 'fqdn'
              expression: '.*.domain.com'
          exclusive:
            - key: 'cn'
              expression: 'cn'
        register: result
        failed_when: result.changed or result.failed
    
      - name: Remove testhostgroup hostgroup automember rule member condition
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          automember_type: hostgroup
          action: member
          state: absent
          inclusive:
            - key: 'fqdn'
              expression: '.*.domain.com'
        register: result
        failed_when: not result.changed or result.failed
    
      - name: Ensure testhostgroup hostgroup automember rule has conditions
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          automember_type: hostgroup
          inclusive:
            - key: 'description'
              expression: 'description'
            - key: 'description'
              expression: 'description'
          exclusive:
            - key: 'cn'
              expression: 'cn'
        register: result
        failed_when: result.changed or result.failed
    
    
      - name: Ensure testhostgroup hostgroup automember conditions fails on invalid inclusive key
        ipaautomember:
          ipaadmin_principal: admin
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          automember_type: hostgroup
          inclusive:
            - key: cns
              expression: 'foo'
          action: member
        register: result
        failed_when: result.changed or not result.failed or
                     "Invalid automember condition key 'cns'" not in result.msg
    
      - name: Ensure testhostgroup hostgroup automember conditions fails on invalid exlusive key
        ipaautomember:
          ipaadmin_principal: admin
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          automember_type: hostgroup
          exclusive:
            - key: cns
              expression: 'foo'
          action: member
        register: result
        failed_when: result.changed or not result.failed or
                     "Invalid automember condition key 'cns'" not in result.msg
    
      # CLEANUP TEST ITEMS
    
      - name: Ensure group testgroup is absent
        ipagroup:
          ipaadmin_password: SomeADMINpassword
          name: testgroup
          state: absent
    
      - name: Ensure hostgroup testhostgroup is absent
        ipahostgroup:
          ipaadmin_password: SomeADMINpassword
          name: testhostgroup
          state: absent
    
      - name: Ensure group automember rule testgroup is absent
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          automember_type: group
          name: testgroup
          state: absent
    
      - name: Ensure hostgroup automember rule testhostgroup is absent
        ipaautomember:
          ipaadmin_password: SomeADMINpassword
          automember_type: hostgroup
          name: testhostgroup
          state: absent