389 Commits

Author SHA1 Message Date
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
d009b80621 library/ipadiscovery: Add time synchronization calls
Attempt to sync time if on_master is not set and no_ntp is not set: At
first with given or dicovered time servers. If no ntp servers have been
given or discovered, then with the ipa server.

New parameters:
  on_master:
    description: IPA client installation on IPA server
    required: false
    default: false
    type: bool
    default: no
  ntp_servers:
    description: List of NTP servers to use
    required: false
    type: list
    default: []
  no_ntp:
    description: Do not sync time and do not detect time servers
    required: false
    default: false
    type: bool
    default: no

The ntp_servers output parameter is now always an empty list if on_master
or no_ntp is set.
2017-12-06 12:53:19 +01:00
Thomas Woerner
120786672e library/ipadiscovery: Drop unused check parameter 2017-12-06 12:52:46 +01:00
Thomas Woerner
a7e78597c6 Add support for on_master flag
This is needed to be able to use ipaclient role in the server role
2017-12-06 12:46:57 +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
Thomas Woerner
86323feb80 roles/ipaclient/tasks/install.yml: Allow to specify different hostname
ipaclient_hostname needs to be specified in the inventory file for the hosts
where the name needs to get changed.

Example:
192.168.1.1 ipaclient_hostname=ipaclient1.mine.local

The option should not be specified in [ipaclients:vars] as all hosts would
get the same name.
2017-11-09 13:20:44 +01:00
Thomas Woerner
bb603fbd9f roles/ipaclient/tasks/uninstall.yml: No need to use python3 test for uninstall 2017-11-09 13:19:58 +01:00
Thomas Woerner
7b51df6c33 roles/ipaclient/tasks/[un]install.yml: Use better formatting for commands 2017-11-09 13:19:08 +01:00
Thomas Woerner
11bf327c64 roles/ipaclient/defaults/main.yml: Do not use false string for bool values 2017-11-09 13:17:42 +01:00
Thomas Woerner
d8ba096eb9 New global ansible_ipa_client utils module
With ansible 2.3.1 it is possible to have one place as an additional utils
module to do all the needed steps to be able to generate the environment for
new and older ipa versions.

The library modules are now a lot smaller.

The minimal ansible version has been increased to 2.3.1.

In the future it might now also be possible to have a special
ansible_ipa_client version for ipa < 4.4 in this utils module.
2017-11-09 13:16:28 +01:00
Thomas Woerner
fb047d7e4e Merge pull request #4 from flo-renaud/simplify_uninstall
Simplify ipaclient uninstall
2017-10-16 14:21:53 +02:00
Thomas Woerner
e3ae3476a5 roles/ipaclient/tasks/install.yml: Add keytab or password required test
The failed test result in ipahost will not be seen because of the no_log
setting to hide the generated password.
2017-10-13 16:38:45 +02:00
Thomas Woerner
8af5a26873 roles/ipaclient/tasks/install.yml: Use ipadiscovery.hostname for ipahost
The use of ansible_fqdn could result in a failure if DNS hostname and IP
do not match.
2017-10-13 16:37:10 +02:00
Thomas Woerner
ccdd43f0b5 Extended python3 test to do an additional client test
The additional client test is needed to make sure that the client is
installed for python3 usage. The ipalib test has not been sufficient.
2017-10-13 16:13:57 +02:00
Florence Blanc-Renaud
a0b8bd39e0 Simplify ipaclient uninstall
Currently ipaclient role is using the module ipaclient only for uninstallation,
and this module contains a lot of unused code.
It is simpler to directly call the command-line
   ipa-client-install --uninstall -U
and remove the ipaclient module.
2017-10-12 09:47:03 +02:00
Florence Blanc-Renaud
92d73ae2b8 Fix otp + force-join usecase
When the client already has a working keytab, use_otp is disabled. This creates
an issue when ipaclient_force_join is set, because the join module is called
with ipaadmin_principal and ipaadmin_password, but these variables may be
undefined if ipaadmin_keytab is used instead.
We should not disable OTP when force-join is specified.
2017-10-11 16:48:26 +02:00
Thomas Woerner
63fd53eb77 Use Python2/3 to detect ansible_python_interpreter
With the test it is not needed to pin down the python interpreter for ansible
modules. It is therefore possible to use a Python2 version on Fedora-27 and
a Python3 version on Fedora-26.
2017-10-10 17:20:59 +02:00
Scott Poore
2183bb68cc change pkinit_anchors to kdc-ca-bundle
In the client krb5.conf setup, a pkinit_anchors entry
was being added for pki-ca-bundle.  This should instead
be kdc-ca-bundle.

Signed-off-by: Scott Poore <spoore@redhat.com>
2017-10-05 11:46:07 -05:00
Thomas Woerner
6482a0d1c3 library/ipatest.py: Drop unused prinipal from module parameters
The principal is not used and needed in the module, therefore it got removed.
2017-10-05 10:39:43 +02:00
Thomas Woerner
c696ea3ebf New module ipafixca to fix a missing ca.crt file.
This is done right ipanss is used as this is failing without the ca.crt file.
2017-10-04 17:40:13 +02:00
Thomas Woerner
a6c8505938 roles/ipaclient/tasks/install.yml: New fail for missing ca.crt file 2017-10-04 17:39:37 +02:00
Thomas Woerner
b51980ee5d roles/ipaclient/tasks/install.yml: New fails, no end_play with ipajoin.changed
The new results from ipatest (krb5_conf_ok and ipa_test_ok) are now used for
additional fails to suggest to enable allow_repair.

The playbook is not ended anymore if ipajoin changed something.
2017-10-04 17:38:23 +02:00
Thomas Woerner
455f5c9811 roles/ipaclient/vars/rhel.yml: Removed unused file 2017-10-04 17:28:06 +02:00
Thomas Woerner
990da8341f ipaclient vars: Renamed ipaclient_package to ipaclient_packages
The rename was needed to be able to have more than one package in the list
of required packages.

For RHEL-7.3 it has been needed to add ipa-admintools to have /usr/bin/ipa
available. libselinux-python has been added for all.
2017-10-04 17:22:40 +02:00
Thomas Woerner
92b824d8d2 roles/ipaclient/tasks/install.yml: ccache cleanup, new always clause
Add big block has been added that contains all steps where the ccache is
created an used. With the block it is possible to add an always clause to
remove the ccachae also in the error case. The cleanup of the ccache is
also done in the beginning to make sure that no ccache leftover will be
used.
2017-10-02 18:54:23 +02:00
Thomas Woerner
895a887701 Add support for Python3 based freeipa versions (F-27+), make Python3 default
Add configuration for F-26, F-27 and RHEL-7 to be Python2 based
2017-10-02 17:12:15 +02:00
Thomas Woerner
cd5b7711f6 roles/ipaclient/tasks/install.yml: Better message for cleanup and stop 2017-09-25 15:59:04 +02:00
Thomas Woerner
6dc469fdb8 library/ipaapi.py: Add call to api to get subject base form server
The subject base generated in discovery is only a guess and might have been
changed by the admin at installation process. Therefore it is needed to
get this from the server.

subject_base has been added as a new return value.

Use subject base form ipaapi in roles/ipaclient/tasks/install.yml instead of
guessed value from ipadiscovery.
2017-09-25 15:54:21 +02:00
Thomas Woerner
375500df37 roles/ipaclient/tasks/install.yml: Set no_log:yes for OTP generation and usage 2017-09-19 18:08:24 +02:00
Thomas Woerner
4918ac508f Renamed ipaclient_{principal,password} to ipaadmin_{principal,password}
This has been done to make clear that these are admin settings and to make
these settings consistent to ipaadmin_keytab.
2017-09-19 17:54:30 +02:00
Thomas Woerner
8152ecf31e roles/ipaclient/tasks/install.yml: Use ipajoin also if force_join is set 2017-09-19 15:16:24 +02:00
Thomas Woerner
aa2048aef9 roles/ipaclient/tasks/install.yml: Drop ipaclient_keytab empty string test 2017-09-19 10:00:17 +02:00
Thomas Woerner
7428a47977 roles/ipaclient/tasks/install.yml: Fix use of wrong quotes 2017-09-19 09:57:24 +02:00
Thomas Woerner
edab4274bb roles/ipaclient/tasks/install.yml: Properly test ipaclient_keytab for join 2017-09-18 18:23:33 +02:00