Skip to content
  1. Aug 21, 2020
    • Thomas Woerner's avatar
      tests/user/test_users*.yml: Use extended dynamic users.json · b7e1a99b
      Thomas Woerner authored
      test_users_absent.yml was using users_absent.json. It has been adapted to
      use users.json instead with an additional json_query to get only the names
      from users_present.json.
      
      create_users_json.yml has been added to create users.json if it is missing
      containing 500 users. It is included by test_users_present.yml and
      test_users_absent.yml.
      
      users_present.sh has been renamed to users.sh and modified to create by
      default users.json with 1000 users and additional with password and
      passwordexpiration in two years.
      
      jmespath has been added to pip install list in
      tests/azure/templates/playbook_tests.yml to emable the use of json_query.
      
      The requirement for jmespath has been added to tests/README.md.
      b7e1a99b
  2. Jun 29, 2020
    • Thomas Woerner's avatar
      ipa[user,host]: Fail on duplucate names in the users and hosts lists · 1d7fb31b
      Thomas Woerner authored
      It was possible to have several entries for names with the hosts and users
      lists. This resulted sometimes in errors but also unexpected changes. A new
      check has been added to make sure that the names in the users and hosts
      lists are unique.
      
      New tests have been added to verify this in the existing files:
      - tests/host/test_hosts.yml
      - tests/user/test_users.yml
      1d7fb31b
  3. May 12, 2020
    • Thomas Woerner's avatar
      ipauser: Fix certmapdata, add missing certmapdata data option · ac61f597
      Thomas Woerner authored
      certmapdata was not processed properly. The certificate was not loaded and
      therefore the `issuer` and `subject` could not be compared to the
      certmapdata entries in the user record. The function `load_cert_from_str`
      from ansible_freeipa_moduleis used for this.
      
      Additionally there was no way to use the certmapdata data format. This
      is now possible with the `data` option in the certmapdata dict.
      
      Example: "data: X509:<I>dc=com,dc=example,CN=ca<S>dc=com,dc=example,CN=test"
      
      `data` may not be used together with `certificate`, `issuer` and `subject`
      in the same record.
      
      Given certmapdata for the ipauser module is now converted to the internal
      data representation using also the new function `DN_x500_text` from
      `ansible_freeipa_module`.
      
      New functions `convert_certmapdata` and `check_certmapdata` have been added
      to ipauser.
      
      tests/user/certmapdata/test_user_certmapdata.yml has been extended with
      additional tasks to verify more complex issuer and subjects and also using
      the data format.
      ac61f597
  4. May 06, 2020
    • Thomas Woerner's avatar
      Do not remove member attributes while updating others · 457050c6
      Thomas Woerner authored
      Because of a missing check member attributes (for use with action: member)
      are cleared when a non-member attribute is changed. The fix simply adds a
      check for None (parameter not set) to gen_add_del_lists in
      ansible_freeipa_module to make sure that the parameter is only changed if
      it should be changed.
      
      All places where the add and removal lists have been generated manually
      have been changed to also use gen_add_del_lists.
      
      Resolves: #252 (The "Manager" attribute is removed when updating any user
                      attribute)
      457050c6
  5. Feb 26, 2020
    • Thomas Woerner's avatar
      tests: Unite admin passwords · d3c6b976
      Thomas Woerner authored
      The tests have been using MyPassword123 and also SomeADMINpassword within
      the tasks of the tests. SomeADMINpassword should be used everywhere.
      d3c6b976
  6. Feb 11, 2020
    • Thomas Woerner's avatar
      tests: Fix top name tags in tests · 28d8896b
      Thomas Woerner authored
      Most tests have simply been using the Tests as name, but this there is a
      lack of information in automated runs. The name should be similar to the
      test file name.
      28d8896b
  7. Nov 20, 2019
    • Thomas Woerner's avatar
      ipauser: Return generated random password · b5f20922
      Thomas Woerner authored
      The random password is only returned if random is yes and user did not exist
      or update_password is yes.
      
      If only one user is handled by the module, the returned dict is containing
      this dict:
      
        { "randompassword": "<the user random password>" }
      
      If several users are handled by the module:
      
        { "<user>": { "randompassword": "<the user random password>" } }
      
      This is related to issue #134 (ipahost does not return the random password)
      b5f20922
  8. Nov 09, 2019
  9. Nov 08, 2019
  10. Oct 21, 2019
    • Thomas Woerner's avatar
      ipauser: User module extension · 40713e71
      Thomas Woerner authored
      The ipauser module now supports all user settings and additionally to ensure
      the presence of several users with the new users setting. The users setting
      can also be used with other states, but it has to be limited to only contain
      the name of the users.
      
      There updated user management module is placed in the plugins folder:
      
        plugins/modules/ipauser.py
      
      The user module now additionally allows to handle these user settings:
      
        initials
        principalexpiration
        random
        city
        userstate
        postalcode
        mobile
        pager
        fax
        orgunit
        manager
        carlicense
        sshpubkey
        userauthtype
        userclass
        radius
        radiususer
        departmentnumber
        employeenumber
        employeetype
        preferredlanguage
        certificate
        certmapdata
        noprivate
        nomembers
      
      Here is the updated documentation for the module:
      
        README-user.md
      
      New example playbooks have been added:
      
        playbooks/user/user_certificate_absent.yml
        playbooks/user/user_certificate_present.yml
        playbooks/user/user_present.yml
        playbooks/user/users_absent.yml
        playbooks/user/users_certificate_absent.yml
        playbooks/user/users_certificate_present.yml
        playbooks/user/users_present.yml
        plugins/modules/ipauser.py
      
      New tests added for ipauser:
      
        tests/user/certificate/cert1.der
        tests/user/certificate/cert1.pem
        tests/user/certificate/cert2.der
        tests/user/certificate/cert2.pem
        tests/user/certificate/cert3.der
        tests/user/certificate/cert3.pem
        tests/user/certificate/private1.key
        tests/user/certificate/private2.key
        tests/user/certificate/private3.key
        tests/user/certificate/test_user_certificate.yml
        tests/user/certificate/test_users_certificate.yml
        tests/user/certmapdata/test_user_certmapdata.yml
        tests/user/certmapdata/test_user_certmapdata_issuer_subject.yml
        tests/user/certmapdata/test_users_certmapdata.yml
        tests/user/test_user.yml
        tests/user/test_users.yml
        tests/user/test_users_absent.yml
        tests/user/test_users_invalid_cert.yml
        tests/user/test_users_present.yml
        tests/user/test_users_present_slice.yml
        tests/user/users_absent.json
        tests/user/users_absent.sh
        tests/user/users_present.json
        tests/user/users_present.sh
      40713e71
Loading