Commit Graph

150 Commits

Author SHA1 Message Date
Alessandro De Blasis
3c952cdb16 Fixes #51 upstream 2019-02-01 13:15:44 +00: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Thomas Woerner
7180d1beff ipaclient,ipaserver: Better names for package tasks 2018-01-29 17:30:11 +01:00
Thomas Woerner
4228ae7d80 ipaserver: Drop unused test file install_cache 2018-01-29 17:22:46 +01:00
Thomas Woerner
cce86d09ef ipaserver: Drop ipaserver_allow_repair
There is no way to repair a server installation like it is possible with a
client.
2018-01-29 17:22:25 +01:00
Thomas Woerner
a0040ee821 ipaserver/library/ipaserver_prepare.py: Add missing allow_zone_overlap 2018-01-28 11:49:38 +01:00
Thomas Woerner
d8c3d34369 ipaserver/library/ipaserver_test.py: Use check_zone_overlap directly 2018-01-28 11:48:40 +01:00
Thomas Woerner
3edc1bedca Make ipaserver role working with ipa 4.5(.4) 2018-01-28 11:46:31 +01:00
Thomas Woerner
c5462d4aac roles/ipaserver/library/ipaserver_test: Return dns.ip_adresses and dns.reverse_zones
These global variables are initialized in the dns module in the
dns.install_check function. The settings are needed to be able to do a
proper dns setup in the ipaserver_setup_dns ansible module.
2017-12-08 13:39:36 +01:00
Thomas Woerner
e215b67dbc module_utils/ansible_ipa_server.py: New function ansible_module_get_parsed_ip_addresses
This methods creates a list of ipautil.CheckedIPAddress from the provided
ip string list.
2017-12-08 13:36:26 +01:00
Thomas Woerner
d2d4d95a5a Remove test remains from new ipasever role 2017-12-01 13:27:56 +01:00
Thomas Woerner
079049fa66 New role for ipaserver installation
The support for external cert files is not complete yet.
2017-12-01 13:24:01 +01:00