Commit Graph

241 Commits

Author SHA1 Message Date
Thomas Woerner
b39fa3b738 ipareplica: Fix typo in tasks/install.yml
This typo has been introduced with 20d25d0 in import_tasks for the
Python 2/3 test.
2018-11-23 16:27:36 +01:00
Thomas Woerner
36c7e0e122 ipaserver_setup_custodia: options.promote needs to be set
The use of custodiainstance.get_custodia_instance requires that
options.promote exists. As this is a server installation, promote
is set to False.
2018-11-22 16:29:34 +01:00
Thomas Woerner
20d25d0d43 Replace deprecated include with import_tasks and include_tasks
As the old way to include tasks is deprecated, replace static include
statements with import_tasks and dynamic ones with include_tasks.

Increaded the required ansible version to 2.5.0 to make sure that
include_tasks and import_tasks is working as expected.

Fixes issue #38
2018-11-22 16:26:58 +01:00
Thomas Woerner
6910d99fc9 ipaserver: Fix NameError: name 'api_Backend_ldap2_connect' is not defined
ipaserver_setup_adtrust was using api_Backend_ldap2_connect instead of
api_Backend_ldap2 with attribute connect set to True.

Fixes issue #39
2018-11-22 15:39:41 +01:00
Thomas Woerner
cd96c8a07c ipaserver: Transform DNS overlap end_play into a failure
This is more like the normal installer behavior and should also help with
issue #50: https://github.com/freeipa/ansible-freeipa/issues/50
2018-11-22 15:27:12 +01:00
Thomas Woerner
785cff9a0e ipaserver: Fix use of subject_validator in ipaserver_test
subject_validator and also VALID_SUBJECT_ATTRS are provided of the ca
binding.

Fixes issue #43
2018-11-22 12:36:20 +01:00
Thomas Woerner
0ee92a5ab3 Revert "ipareplica: Limit the number of concurrent executions for the setup of CA"
This reverts commit 7a76f73bc4.

It needs to be done as ansible 2.7.1 is now complaining on unknown attribues.

This fixes issue #48: https://github.com/freeipa/ansible-freeipa/issues/48
2018-11-22 12:00:54 +01:00
Thomas Woerner
a128726567 ipaserver: Delay enabling services until end of installer
Service entries in cn=FQDN,cn=masters,cn=ipa,cn=etc are no longer
created as enabled. Instead they are flagged as configuredService. At
the very end of the installer, the service entries are switched from
configured to enabled service.

This is related to freeipa upstream commit:

Delay enabling services until end of installer:
  https://github.com/freeipa/freeipa/commit/7284097
2018-11-22 11:51:36 +01:00
Thomas Woerner
73b0505299 ipaserver: Use Custodia instance in installers and setup before CA
Custodia is configured before CA and used in the setup of CA. Also add
support for name FIRST_MASTER as a replacement for MASTER_PEER.

This is related to the freeipa upstream commits:

Use single Custodia instance in installers:
  https://github.com/freeipa/freeipa/commit/994f71a
Rename CustodiaModes.STANDALONE to CustodiaModes.FIRST_MASTER:
  https://github.com/freeipa/freeipa/commit/842cb5f
2018-11-22 11:51:08 +01:00
Thomas Woerner
dc0d1fc196 ipaclient: Fix gathering of subject_base from server in ipaapi.py module
The api command to get the server config is failing with more recent
freeipa versions. Therefore another way to gather the server config using
api.Backend.rpcclient.forward has been added in case the first version
fails.

The new code is from freeipa commit 8af6accfa5734a7e9a7c92fcf38d5440482413d4
(https://github.com/freeipa/freeipa/commit/8af6accf)
2018-11-21 17:13:15 +01:00
Thomas Woerner
b2583f7078 Ubuntu support added (partly pick from pyguy)
This is a partly pick of the changes done by pyguy for pull request #28.
The unrelated changed on inventory files have been removed and the change
to the README has been adapted to use the "Supported Distributions" section.

The original commits by pyguy in https://github.com/pyguy/ansible-freeipa
are:

commit 1ed1fa845eafd69432b1fd1fc8e5329e4991e84a
Author: pyguy <hr.josheghani@gmail.com>
Date:   Mon Jun 25 17:17:31 2018 +0430

    Ubuntu Support added

commit 9a4a7c84e4af20af27e814aba4fc2c6b8b35ec0f
Author: pyguy <hr.josheghani@gmail.com>
Date:   Sun Jun 24 10:58:07 2018 +0430

    Ubuntu support added
2018-07-23 11:07:23 +02:00
Thomas Woerner
7a76f73bc4 ipareplica: Limit the number of concurrent executions for the setup of CA
There is a pull request and also a proposal for ansible be able to limit the
number of concurrent executions for a single task:

- https://github.com/ansible/proposals/issues/129
- https://github.com/ansible/ansible/pull/42528

The keyword is currently named max_concurrent, but might be renamed later
on. If the keyword is present, but not supported by ansible, it will be
simply ignored. Therefore there is no issue right now with adding in here
early.
2018-07-19 14:30:18 +02:00
Thomas Woerner
9264187173 ipareplica: Use ipaclient role to deploy client
The ipaclient role is now used instead of ipa-client-install.
2018-07-19 14:19:08 +02:00
Thomas Woerner
915cc39b31 ipaclient,ipareplica: Set ipaclient_ssh_trust_dns to no by default 2018-07-19 14:15:47 +02:00
Thomas Woerner
695d09aa69 ipaclient: Backup and set hostname explicitly
This is needed to use ipaclient in ipareplica for client deployment.
2018-07-19 14:14:45 +02:00
Thomas Woerner
e6cd47bcce ipa-krb5/tasks/main.yml: Create additional .ipabkp for krb5.conf
This is done in IPAChangeConf.changeConf and IPAChangeConf.newConf
2018-07-19 14:10:01 +02:00
Thomas Woerner
1b2f6d7e8b ipaclient: Set default_domain in krb5.conf in the same way as ipa-client-install
Set default_domain if not ipadiscovery.dnsok or not ipadiscovery.kdc like it
is done in ipa-client-install.
2018-07-19 13:00:39 +02:00
Thomas Woerner
0154f36a69 Added ipa- prefix to krb5 and sssd roles as these are ansible-freeipa specific
These roles will most likely not work in the common case. Therefore the roles
have been renamed.

The ipa-krpb5 role is used by ipcalient, but the ipa-sssd role is currently
not used.
2018-07-19 12:58:30 +02:00
Thomas Woerner
eced45bb53 ipareplica/library/ipareplica_custodia_import_dm_password: Fix post 4.7 use
custodiainstance.import_dm_password does not support master_host_name post
4.6.90 anymore. A new inspect call has been added to verify if the arg is
supported or not.
2018-07-17 13:49:10 +02:00
Thomas Woerner
70f756fd83 New REPLICA.md file 2018-07-09 13:58:28 +02:00
Thomas Woerner
b26d366732 ipareplica/library/ipareplica_custodia_import_dm_password: Also use custodia here
custodia needs to be used here with newer IPA versions (introduced with 4.6.4).
With this master_host_name does is not supplied to custodia.import_dm_password
as an arguemtn anymore.
2018-07-09 13:48:03 +02:00
Thomas Woerner
f69c13cfd6 ipareplica: Do no use IPA version to check for get_custodia_instance existance
The use of IPA versions to determine if get_custodia_instance should be
used was not optimal as the patch that introduced this has been back-ported
to the EL-7 package with verion 4.5.4. As get_custodia_instance was not
available before we can simply check if get_custodia_instance exists in
custodiainstance.
2018-07-09 13:47:09 +02:00
Thomas Woerner
b282fc5088 ipaserver/library/ipaserver_test: adtrust message should be warning
Tee message for a domain and realm name mismatch should be a warning and
not a fail in the ipaserver test. It is also a warning in the normal
installer.
2018-07-09 13:39:17 +02:00
Thomas Woerner
c8be120e78 ipaserver: Do no use IPA version to check for get_custodia_instance existance
The use of IPA versions to determine if get_custodia_instance should be
used was not optimal as the patch that introduced this has been back-ported
to the EL-7 package with verion 4.5.4. As get_custodia_instance was not
available before we can simply check if get_custodia_instance exists in
custodiainstance.
2018-07-09 13:07:47 +02:00
Thomas Woerner
04325849ef ansible_ipa_replica: Do not use warn for debug output 2018-07-09 13:01:46 +02:00
Thomas Woerner
c0eff23da0 ipareplica: Drop debugging remain show_obj 2018-07-09 13:00:36 +02:00
Thomas Woerner
4784be9be8 Merge pull request #30 from dihmandrake/hotfix/ca-setup-version
Lowered Version for Setup CA | Tested on CentOS 7.5
2018-07-09 12:17:31 +02:00
Thomas Woerner
606603f4cc Merge pull request #31 from apsivam/master
CentOS 7 Compatibility
2018-07-09 12:15:44 +02:00
Siva Paramasivam
2f3ee6dc29 Added missing parameter realm to setup_kra 2018-07-06 23:04:55 -07:00
Siva Paramasivam
720204fe5a var files for CentOS 7 (now that the default is compatible with Fedora not RHEL) 2018-07-06 22:20:05 -07:00
Siva Paramasivam
22d188fcb0 CentOS 7 compatibility.
Lowered version check to be compatible with CentOS 7.5
Added missing attributes to setup_kra to be compatible with latest python2-ipaserver librarty on CentOS 7.5 (python2-ipaserver-4.5.4-10.el7.centos.3.noarch)
2018-07-06 22:13:27 -07:00
dihmandrake
08c6fe1bb3 Lowered Version for Setup CA | Tested on CentOS 7.5
Signed-off-by: dihmandrake <jasper.bernhardt@live.de>
2018-07-05 12:04:17 +02:00
Thomas Woerner
fb281859b6 Update CLIENT.md 2018-06-28 19:26:27 +02:00
Thomas Woerner
34fe6103db ipaclient/library/ipanss.py: Fixed wrong name in paths.GETENT compat check
The paths.GETENT compat check was using "KDESTROY" instead of "GETENT".
2018-06-28 17:32:07 +02:00
Thomas Woerner
809e490f03 Update CLIENT.md 2018-06-28 17:23:53 +02:00
Thomas Woerner
53343e0b60 Update CLIENT.md 2018-06-28 17:20:41 +02:00
Thomas Woerner
34e3e186d1 Merge pull request #29 from itewk/patch-1
ipadiscovery.py - fix typo of timconf to timeconf
2018-06-28 11:47:35 +02:00
Ian Tewksbury
d6ff55d8c6 ipadiscovery.py - fix typo of timconf to timeconf 2018-06-27 14:23:46 -04:00
Thomas Woerner
3e4557524d Update README.md 2018-06-25 16:06:14 +02:00
Thomas Woerner
b53a415fcb ipareplica/vars: New Fedora-27 specific file, updated ipareplica_packages_adtrust
A new Fedora-27 ditribution specific file has been added. Additionally
ipareplica_packages_adtrust has been updated in all files to contain
[free]ipa-server-trust-ad.
2018-06-25 15:45:29 +02:00
Thomas Woerner
3db47b2ce8 ipaserver/vars: New Fedora-27 specific file, updated ipaserver_packages_adtrust
A new Fedora-27 ditribution specific file has been added. Additionally
ipaserver_packages_adtrust has been updated in all files to contain
[free]ipa-server-trust-ad.
2018-06-25 15:31:07 +02:00
Thomas Woerner
01ac73f69e Added "Supported Distributions" section
The new section contains RHEL/CentOS 7.4+ and Fedora26+ for now.
2018-06-25 15:06:08 +02:00
Thomas Woerner
e6f8f10790 ipareplica: Add support for 4.7 (4.6.90-pre2)
With IPA 4.7 bigger changes have been introduced

Changes:
- Use of timeconf and chrony instead of ntpconf and ntpd.
- custodia instance needed for ca and kra
- Use of create_ipa_conf with changed setting in setup_http for install_http,
  reverted back afterwards.
2018-06-21 13:40:51 +02:00
Thomas Woerner
037b3c0b41 ipareplica: Link used ipaserver modules instead of using a copy
Affected files:
- ipareplica/library/ipaserver_enable_ipa.py
- ipareplica/library/ipaserver_master_password.py
- ipareplica/library/ipaserver_setup_ntp.py
2018-06-21 13:33:09 +02:00
Thomas Woerner
25d5198f48 ipareplica/library/ipareplica_restart_kdc.py: Comemnted out _pkinit_pkcs12_info
The _pkinit_pkcs12_info var seems not to be needed for now. Will be removed
in a following cleanup.
2018-06-21 13:30:05 +02:00
Thomas Woerner
74a55d6efd ipaserver/vars/default.yml: Use python3-libselinux instead of libselinux-python
The python3 bindings should be required and not the python2 bindings as a
default.
2018-06-21 13:27:41 +02:00
Thomas Woerner
587fef68ad ipaserver: Fixed typos
Affected files:
- ipaserver/library/ipaserver_enable_ipa.py
- ipaserver/library/ipaserver_master_password.py
2018-06-21 13:26:20 +02:00
Thomas Woerner
14f975b411 ipaserver: Add support for 4.7 (4.6.90-pre2)
With IPA 4.7 bigger changes have been introduced

Changes:
- Use of timeconf and chrony instead of ntpconf and ntpd.
- New IPAChangeConf (not used in ipaserver modules)
- New check_ldap_conf form ipaclient.install.client
- custodia instance needed for ca and kra
- no_ntp defaults to yes for client installation part
- A new option ntp_pool has been introduced (set to None).
2018-06-21 13:21:10 +02:00
Thomas Woerner
86e9496ab6 ipaclient/vars/default.yml: Use python3-libselinux instead of libselinux-python
The python3 bindings should be required and not the python2 bindings as a
default.
2018-06-21 13:14:19 +02:00
Thomas Woerner
1ed9379c9c ipaclient: Fix OTP action plugin to work with python3 bindings
As the action plugin is used with the default python interpreter and
the change to python3 for FreeIPA, the use of OTP was not working anymore.

The ansible_python_interpreter is not automatically used for the module
part of the action plugin. Therefore ansible_python_interpreter needed to
be added to the action plugin call as a new var to make sure that the
module part is used with the proper python version.

Also a new import for the Python2/3 import test has been added to discover
of the server is supporting python2 or python3. The old
ansible_python_interpreter setting is saved before doing this and restored
after the one-time password has been generated on the server.
2018-06-21 13:08:44 +02:00