Commit Graph

190 Commits

Author SHA1 Message Date
Thomas Woerner
2d6c9bb381 ipaclient/library/ipa_facts.py: Fix version_info for new pre versions
With 4.6.90 pre versions have been introduced. The version parsing in
ipa_facts broke with this as it did not know about pre versions so far.
2018-06-21 12:52:10 +02:00
Thomas Woerner
285790231a ipaclient: Use paths variables for executables used in modules
paths.KDESTROY instead of "kdestroy" and paths.GETENT instead of "getent"

Affected modules:
  roles/ipaclient/library/ipahost.py
  roles/ipaclient/library/ipajoin.py
  roles/ipaclient/library/ipanss.py
2018-06-21 12:48:24 +02:00
Thomas Woerner
7b009c4bb4 module_utils/ansible_ipa_replica.py: Cleanup
Dropped commented out imports
2018-06-21 12:34:16 +02:00
Thomas Woerner
ab14ce4e37 ipaserver_setup_ds: Fix tasks.create_tmpfiles_dirs call (issue#19) (2nd try)
tasks.create_tmpfiles_dirs only needs IPAAPI_USER as an argument for
version 4.5.4. For 4.5 there is no support for arguments.

IPAAPI_USER is therefore only needed for 4.5.4 in
module_utils/ansible_ipa_server.py
2018-06-21 12:00:24 +02:00
Thomas Woerner
1ecc194ca6 ipclient: Move library and action_plugins into ipaclient role directory
The directories library and action_plugins do only contain ipaclient specific
modules and plugins. Therefore these directories should be located in the
ipaclient role directory.
2018-06-21 11:34:50 +02:00
Thomas Woerner
0c942baea2 ipaserver: Fix issue with setup_dns and forwarders or no_forwarders
When forwarders list or the no_forwarders flag has been set, the
configuraiton does not reflect the setting. With no_forwarders
the preparation step of the DNS server could fail in ipaserver_prepare.

This is addressing the issue of pull request #25.
2018-06-11 15:33:08 +02:00
Thomas Woerner
d4b7d4d3e8 Merge pull request #22 from kellinm/no-change-on-python3-test
Capturing python3 check result is not a change
2018-05-18 15:37:28 +02:00
Thomas Woerner
80c81c2b0d Merge pull request #21 from etcet/master
Fix typo in README
2018-05-18 15:32:58 +02:00
Thomas Woerner
397acc01db ipaclient: Make krb5 DNS lookup possible in cluster environments
krb5 DNS discovery was not possible in cluster environments as the server
list from groups.ipaserver was used all the time. DNS discovery is though
only used if no servers are given.

The new setting ipaclient_no_dns_lookup has been added to make sure that
DNS lookup is used in the first place and can be disabled easily with this
setting. There is also a new way to override servers per client in the
inventory file with ipaclient_servers.

Two new settings have been added:

ipaclient_no_dns_lookup (bool, default: no)
  Set to 'yes' to use groups.ipaserver in cluster environments as servers
  for the clients. This deactivates DNS lookup in krb5.

ipaclient_servers (list of strings, default: undefined)
  Manually override list of servers for example in a cluster environment on
  a per client basis. The list of servers is normally taken from from
  groups.ipaserver in cluster environments.
2018-05-18 15:06:53 +02:00
Thomas Woerner
3e9568e39e ipaclient: Fix krb5 DNS lookup and servers
The krb5 DNS lookup settings krb5_dns_lookup_realm and krb5_dns_lookup_kdc
ans also the servers have not been set properly set if no server has been
specified and discovery succeeded. This has been fixed.

This fixes issue #23.
2018-05-18 14:38:27 +02:00
Kellin
75cd130d4a Capturing python3 check result is not a change
- Do not register a change in the playbook run when registering the
  variable checking for whether or not Python 3 imports work

Signed-off-by: Kellin <kellin@retromud.org>
2018-04-10 21:01:13 -04:00
Thomas Woerner
a4b2401e4f Add example client and cluster playbooks and also cluster inventory file 2018-04-04 16:23:26 +02:00
Thomas Woerner
53d984f1e8 New role for ipareplica installation
The support for external cert files is not complete yet.

Please have a look at the example inventory file inventory/hosts.replica and
also the install and uninstall playbook files install-replica.yml and
uninstall-replica.yml
2018-04-04 16:19:37 +02:00
Thomas Woerner
71ec4d4e2a Incorporate "Use os.path.isfile() and isdir()" from freeipa upstream
b29db07c3b3d8937f53684fdbba985fec525d69d by Christian Heimes

    Replace custom file_exists() and dir_exists() functions with proper
    functions from Python's stdlib.

    The change also gets rid of pylint's invalid bad-python3-import error,
    https://github.com/PyCQA/pylint/issues/1565
2018-04-04 15:11:34 +02:00
Chris
8027415cb7 Fix typo 2018-02-26 21:00:37 -06:00
Thomas Woerner
50bbd82338 ipaserver_setup_ds: Fix tasks.create_tmpfiles_dirs call (issue#19)
tasks.create_tmpfiles_dirs does not support options for FreeIPA 4.5
2018-02-21 17:35:40 +01:00
Thomas Woerner
458017f7d4 Merge pull request #20 from JAORMX/setup-py
Introduce setup files that copy roles to relevant directories
2018-02-21 16:36:51 +01:00
Juan Antonio Osorio Robles
5e48f8e2ba Introduce setup files that copy roles to relevant directories
This enables easy installation of these roles through pip.
2018-02-13 17:15:03 +02:00
Thomas Woerner
9d6cd7acac ipaserver_{test,prepare}: Add kasp_db_file to options
options.kasp_db_file is used in dns.install_check if options.dnssec_master
is enabled. kasp_db_file defauts to None and is only a supported option in
the post deployment ipa-dns-install script. Therefore it is suffient to
set it to None.
2018-02-09 19:43:46 +01:00
Thomas Woerner
4f897d37f5 Server: Configure firewalld by default, new switch: ipaserver_no_firewalld
A new section has been added to configure firewalld automatically as the
last step of the server installation.

A new switch has been added to be able to turn firewalld configuration off:
ipaserver_no_firewalld. It defaults to no.
2018-02-09 16:57:14 +01:00
Thomas Woerner
3e03d7f44d ipaclient/tasks/install: Fix client installation on master within server role
The client role is used also while installing the server. There has been an
issue where the server installation has not been complete because of a
playbook termination in the client.

This has been fixed and the client and also the server are fully configured
in the server installation.
2018-02-09 16:56:53 +01:00
Thomas Woerner
78a7a3bd2b Added requirements.txt file
Currently only contains the ansible requirement: ansible>=2.4.1.0
2018-02-09 16:49:57 +01:00
Thomas Woerner
9beb31bf5c Client: Added version checks for save_state and configure_nisdomain calls
With FreeIPA 4.5 the functions save_state and configure_nisdomain have gotten
new options. A version check has been added to ipaextras and ipanss to make
sure that the modules are also working with FreeIPA 4.4.
2018-02-09 16:38:15 +01:00
Thomas Woerner
aaea687a3b Added GPLv3 COPYING file, fixed licenses in ipaconf, krb5 and sssd roles
The roles ipaconf, krb5 and sssd have been using GPLv2+ in the license meta
information while everything else is GPLv3. Therefore the license meta
information has been changed to GPLv3.
2018-02-09 16:33:53 +01:00
Thomas Woerner
467c7764ea Merge pull request #18 from spoore1/serverforce
server install force and allow_zone_overlap fixes
2018-02-09 16:11:48 +01:00
Scott Poore
f3ef5f5fc8 server install force and allow_zone_overlap fixes
force and allow_zone_overlap options were missing from a couple places.

Signed-off-by: Scott Poore <spoore@redhat.com>
2018-02-08 18:47:19 -06:00
Thomas Woerner
bf63b2cbc8 Update SERVER.md 2018-02-01 07:31:39 +01:00
Thomas Woerner
6b4f1e3854 Create SERVER.md 2018-02-01 07:27:11 +01:00
Thomas Woerner
159f24598b Create README.md 2018-02-01 06:49:47 +01:00
Thomas Woerner
7ef563327a Update CLIENT.md 2018-02-01 06:25:28 +01:00
Thomas Woerner
583c951a18 ipaserver/tasks/install.yml: Finally use include_role for client setup on master 2018-01-31 23:46:47 +01:00
Thomas Woerner
9adfb2f5a0 ipaserver/tasks/uninstall.yml: Fix error for using uninstall on not installed server 2018-01-31 23:46:43 +01:00
Thomas Woerner
986ac80a60 ipaserver: End play if server is already configured or client is configured 2018-01-31 23:46:41 +01:00
Thomas Woerner
4e2b687723 ipaserver/tasks/install.yml: Add no-log got master password generation again 2018-01-31 23:46:39 +01:00
Thomas Woerner
3dc9ab9999 ipaserver: Add no_host_dns for ipaserver_test
This is needed to fix the installation without configuring the dns server in
the IPA server.
2018-01-31 23:46:37 +01:00
Thomas Woerner
4697a0326d ipaclient/tasks/main.yml: Fix undefined ipaclient_packages error with include_role
The relative import of the distribution specific vars files requires to use
is not working. {{ role_path }} needs to be used to force the load of the
proper files.
2018-01-31 23:46:36 +01:00
Thomas Woerner
3c4e68ef10 ipaclient/tasks/install.yml: Fix possible ipajoin.already_joined undefined issue 2018-01-31 23:46:33 +01:00
Thomas Woerner
ceb4224afe ipaclient/tasks/install.yml: Support client usage in server role
The server role has different setting names:

- groups.ipaserver: groups.ipaservers
- ipaserver_domain: ipaclient_domain
- ipaserver_realm: ipaclient_realm

Both need to be supported to be able to sue the client role within the server
role, but also standalone.
2018-01-31 23:46:31 +01:00
Thomas Woerner
2a2f534540 module_utils/ansible_ipa_server.py: Deactivate debug log using warn output 2018-01-31 23:46:29 +01:00
Thomas Woerner
27dd55b58b module_utils/ansible_ipa_client.py: Fix client module util to work with python3 2018-01-31 23:46:25 +01:00
Thomas Woerner
747ec87588 library/ipahost.py: Fix ipahost to work with Python3 2018-01-31 23:46:22 +01:00
Thomas Woerner
6d252a24d1 Rename README.md to CLIENT.md 2018-01-31 13:12:12 +01:00
Thomas Woerner
ecdbcea1e8 ipaserver: Fix DNS installation forward policy and DNSSEC validation
forward_policy needs to be None for the DNS check for proper initialization
if the user is not providing another forward_policy value. forward_policy will
be set in the DNS check.

no_dnssec_validation is enabled in the DNS check if the forwarders do not
provide DNSSEC validation. Therefore this needs to be handed over to the dns
installation later on.

New return values for forward_policy and no_dnssec_validation have been added
to the ipaserver_test module.
2018-01-30 10:25:56 +01:00
Thomas Woerner
80d503a21c ipaserver_prepare: Add missing no_dnssec_validation setting 2018-01-29 18:09:13 +01:00
Thomas Woerner
21eea732cc ipaserver/tasks/install.yml: Properly order settings for ipaserver_prepare 2018-01-29 18:05:58 +01:00
Thomas Woerner
55d9ca8215 ipaserver: Use result_ prefix for results 2018-01-29 17:56:30 +01:00
Thomas Woerner
bc253e7233 ipaserver: Use ipaclient_ prefix for client settings
The client settings are:

ipaclient_mkhomedir
ipaclient_no_ntp
ipaclient_ssh_trust_dns
ipaclient_no_ssh
ipaclient_no_sshd
ipaclient_no_dns_sshfp
2018-01-29 17:46:53 +01:00
Thomas Woerner
9faea32375 ipaserver: Renamed ipaserver_*_password
ipaserver_password has been renamed to ipaadmin_password
ipaserver_dm_password has been renamed to ipadm_password
2018-01-29 17:40:59 +01:00
Thomas Woerner
1bebc6c4e9 ipaserver/library/ipaserver_master_password.py: Renamed name of password return
With using the name password for the password return it will be hidden
automatically and an error message will still be visible.
2018-01-29 17:35:24 +01:00
Thomas Woerner
d84a199345 roles/ipaserver/tasks/install.yml: Remove test section remain 2018-01-29 17:33:35 +01:00