Commit Graph

1560 Commits

Author SHA1 Message Date
Thomas Woerner
7eb98eaaef roles/ipaclient/tasks/install.yml: Fix principal/keytab check, set default principle early 2017-09-15 14:29:17 +02:00
Thomas Woerner
945da71207 Merge remote-tracking branch 'upstream/master' 2017-09-15 14:12:12 +02:00
Thomas Woerner
db12c0959a library/ipajoin.py: Fix principal usage with otp
With otp usage the user supplied principal may not be used for join.
2017-09-15 14:06:39 +02:00
Florence Blanc-Renaud
c824cf6745 Fix logic trying to obtain a keytab
When ipahost is run to generate an OTP and the host is already existing,
the OTP is properly generated but ipa-join will fail if the host is
already enrolled (ie when it has a keytab).
Add a step calling ipa host-disable to erase OTP and keytab before
requesting an OTP.
2017-09-15 13:49:09 +02:00
Thomas Woerner
6a9bc0df82 roles/ipaclient/tasks/install.yml: Fix typo in comment 2017-09-15 12:54:32 +02:00
Thomas Woerner
609f12c4fc roles/ipaclient/tasks/install.yml: Set default principal if not set
If use_otp is not enabled, then the principal will be set to "admin" after
the discovery has been done. If use_otp is enabled, then the princial will
be set to "admin" after the join has been done - as admin will not match
with the otp.
2017-09-15 12:52:05 +02:00
Thomas Woerner
fd88ba1c7d roles/ipaclient/tasks/install.yml: Checks for principal, keytab and password 2017-09-15 12:51:40 +02:00
Thomas Woerner
2d95d0df95 roles/ipaclient: New ipaclient_use_otp setting to force otp usage
The use of otp can be forced to not transfer the admin password while setting
up the ipa client. Only the one-time-password will be transferred to the
client machine.

ipaclient_password will be overwritten by the otp password.
2017-09-15 12:49:22 +02:00
Thomas Woerner
c088e3f9a6 library/ipajoin.py: Add kinit_attempts default value
Also: Add ipaclient_kinit_attempts default value to
roles/ipaclient/defaults/main.yml
2017-09-15 12:26:03 +02:00
Thomas Woerner
3cd878d10b library/ipajoin.py: Fix required_one_of, add mutually_exclusive
The one_of check was using a tuple instead of a list, the check for principal
or keytab has been removed, a new mutually exclusive check for password
xor keytab has been added.
2017-09-15 12:22:34 +02:00
Thomas Woerner
fa1eeb042c library/ipa{api,discovery,extras,nss,sssd}.py: Drop unused required_one_of 2017-09-15 12:20:46 +02:00
Thomas Woerner
e7520a5b1f roles/ipaclient/tasks/install.yml: Tew additional checks for password, keytab and otp 2017-09-15 10:09:28 +02:00
Thomas Woerner
fcea9c2b6c library/ipaclient.py: Compatibility to ipa 4.4 and later 2017-09-15 10:08:36 +02:00
Thomas Woerner
d1a36f4342 library/ipaextras.py: Compatibility to ipa 4.4 and later, new version check 2017-09-15 09:40:09 +02:00
Thomas Woerner
71b19d3f07 library/ipanss.py: Compatibilty to ipa 4.4 and later, new version check 2017-09-15 09:40:08 +02:00
Thomas Woerner
2c2ae77bed library/ipaapi.py: Compatibilty to ipa 4.4 and later, new version check 2017-09-15 09:40:08 +02:00
Thomas Woerner
0b4aec7b6a roles/krb5: Compatibility for ipa 4.4 and later
New variables have been added (undefined by default):
  krb5_dns_canonicalize_hostname
  krb5_pkinit_anchors
  krb5_pkinit_pool

These are set according to the ipa version requirements. See
roles/ipaclient/tasks/install.yml
2017-09-15 09:40:08 +02:00
Thomas Woerner
a5fb29566f library/ipasssd.py: Compatibilty to ipa 4.4 and later, new version check
For ipa versions prior to 4.5 it is needed to use ipa-client-install script
as a source for functions. But the script contains a global finally clause
in which the generated ccache file gets removed. Threfore the script is
temporarily copied to ipa_client_install.py and the global finally clause
gets removed from the copy. All this is done in a temporary directory, which
gets removed right after the import has been done.
2017-09-15 09:40:08 +02:00
Thomas Woerner
a572dfb69e library/sssd.py: Renamed to ipasssd 2017-09-15 09:40:08 +02:00
Thomas Woerner
218d77e9c6 library/ipajoin.py: Compatibilty to ipa 4.4 and later, new version check
For ipa versions prior to 4.5 it is needed to use ipa-client-install script
as a source for functions. But the script contains a global finally clause
in which the generated ccache file gets removed. Threfore the script is
temporarily copied to ipa_client_install.py and the global finally clause
gets removed from the copy. All this is done in a temporary directory, which
gets removed right after the import has been done.

A Object called options is generated as ipa-client-install and also
ipaclient/install/client.py functions are using this object.

inspect.argspec is used on configure_krb5_conf to find out if the function
requires configure_sssd as an optional argument or in the options object.
2017-09-15 09:40:08 +02:00
Thomas Woerner
6e3f133aee library/ipafstore.py: Compatibilty to ipa 4.4 and later, new version check 2017-09-15 09:40:08 +02:00
Thomas Woerner
56063ae373 library/ipadiscovery.py: Compatibilty to ipa 4.4 and later, new version check
freeipa 4.4 is the first version that supports all needed functions.
Therefore a check has been added to make sure that ipadiscovery fails for
versions before 4.4.

The python bindings of ipa versions before 4.6 are having a different
structure.
2017-09-15 09:40:08 +02:00
Thomas Woerner
4f06e9df65 library/ipadiscovery.py: New return: ipa_python_version
ipa_python_version is the version gathered from ipapython.version.NUM_VERSION.
For ipa versions before 3.2.1, the version is generated from
ipapython.version.VERSION because NUM_VERSION changed the format two times
before 3.2.1.
2017-09-15 09:40:08 +02:00
Thomas Woerner
0c5905fddb library/ipadiscovery.py: Add ca_cert_file argument for discovery 2017-09-15 09:40:08 +02:00
Thomas Woerner
2253a415f4 library/ipadiscovery.py: Allow to use server only also
The discovery was not working if a server has been specified. The domain has
been needed additionally. The domain is now gathered from the server name if
it is missing in this case.
2017-09-15 09:40:08 +02:00
Thomas Woerner
4789595428 library/fstore.py: Renaed to ipafstore 2017-09-15 09:40:08 +02:00
Thomas Woerner
20538cc86e New module fstore to backup files using IPA client sysrestore
- Backup ipa default conf
- Backup krb5.conf
2017-08-31 18:45:28 +02:00
Thomas Woerner
893e32b7c6 roles/ipaclient/defaults/main.yml: Remove default values for some vars
This is needed to be able to use defined and undefined checks.
2017-08-31 17:44:57 +02:00
Thomas Woerner
ba1e5c210f roles/ipaclient/tasks/install.yml: Replace ipaserver_ by ipaclient_ 2017-08-31 17:36:47 +02:00
Thomas Woerner
b26b223dec library/ipanss.py: principal option is optional 2017-08-31 17:34:45 +02:00
Thomas Woerner
e5b6eb2381 library/ipajoin.py: Fix required tags for servers and domain in docs 2017-08-31 17:34:02 +02:00
Thomas Woerner
b6bac014a5 Add newline in authors list 2017-08-30 14:56:32 +02:00
Thomas Woerner
6d8874ad63 iRenamed README to README.md 2017-08-30 14:55:44 +02:00
Thomas Woerner
4ac9963b3d New README 2017-08-30 14:53:51 +02:00
Thomas Woerner
2da53eb414 inventory/hosts: Updated inventory file 2017-08-30 14:51:42 +02:00
Thomas Woerner
5198eb5304 roles/ipaclient/tasks/install.yml: Use new roles and modules
The sssd role has been deactivated in favor of the new sssd module, because the module is able to adapt an existing configuration.
2017-08-30 14:45:01 +02:00
Thomas Woerner
cd2d7511b0 New module to configure IPA extras like NTP, SSH, firefox and NIS 2017-08-30 14:42:44 +02:00
Thomas Woerner
403c28b46b New module to cteate IPA NSS database 2017-08-30 14:41:25 +02:00
Thomas Woerner
e66c936622 New module to create temporary NSS database, call IPA API for remaining enrollment parts 2017-08-30 14:38:52 +02:00
Thomas Woerner
09d15b511b New module to configure sssd using SSSDConfig
The advantage of the use of SSSDConfig is that an existing configuration could be changed and not simply overwritten.
2017-08-30 14:36:49 +02:00
Thomas Woerner
d10d078a42 New role to configure ipa default.conf 2017-08-30 14:35:39 +02:00
Thomas Woerner
5f17e9a778 roles/krb5: New krb5_no_default_domain setting 2017-08-30 14:31:05 +02:00
Thomas Woerner
e65ba14e52 roles/sssd: Fixed several small defects, added libselinux-python to sssd_packages 2017-08-30 14:28:34 +02:00
Thomas Woerner
a484e5b2d2 roles/ipaclient/defaults/main.yml: ipaclient_ntp should default to no 2017-08-30 14:27:31 +02:00
Thomas Woerner
5724212b58 library/ipajoin.py: New documentation, debug flag, added missing kdestroy call 2017-08-30 14:25:32 +02:00
Thomas Woerner
edd590cad9 library/ipadiscovery.py: New documentation, conflict check from ipaclient.py
New documentation for incoming and outgoing arguments. Copied check from
library/ipaclient.py to do conflict checks if the check argument is set.
2017-08-30 14:22:33 +02:00
Thomas Woerner
5cfcccd616 library/ipajoin.py: Doc updates, renamed ca_certs_file
Documentation for domain, principal, keytab, ca_cert_file and kinit_attempts
has been added.

ca_certs_file has been renamed to ca_cert_file as it is used in
ipa-client-install.
2017-08-24 12:54:37 +02:00
Thomas Woerner
18cc39dd30 roles/ipaclient/tasks/install.yml: Test code for krb5 and sssd 2017-08-24 12:39:01 +02:00
Thomas Woerner
bd8e23f211 New role for krb5 2017-08-24 12:38:15 +02:00
Thomas Woerner
3ae2a51c08 New sssd role 2017-08-24 12:36:51 +02:00