diff options
author | Tomas Krizek <tkrizek@redhat.com> | 2017-03-07 13:54:41 +0100 |
---|---|---|
committer | Tomas Krizek <tkrizek@redhat.com> | 2017-03-09 16:50:21 +0100 |
commit | ecb450308d0a49afffb31dda1e405ad40552e70e (patch) | |
tree | c33c142792c146a07e00ab6fcd0d0bea85ced876 /ipaplatform | |
parent | 381c1c7a8fe63526d21cb65decb75fb5ffda676a (diff) | |
download | freeipa-ecb450308d0a49afffb31dda1e405ad40552e70e.tar.gz freeipa-ecb450308d0a49afffb31dda1e405ad40552e70e.tar.xz freeipa-ecb450308d0a49afffb31dda1e405ad40552e70e.zip |
server install: require IPv6 stack to be enabled
Add checks to install and replica install to verify IPv6 stack
is enabled. IPv6 is required by some IPA parts (AD, conncheck, ...).
https://pagure.io/freeipa/issue/6608
Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Diffstat (limited to 'ipaplatform')
-rw-r--r-- | ipaplatform/base/paths.py | 1 | ||||
-rw-r--r-- | ipaplatform/base/tasks.py | 5 | ||||
-rw-r--r-- | ipaplatform/redhat/tasks.py | 14 |
3 files changed, 20 insertions, 0 deletions
diff --git a/ipaplatform/base/paths.py b/ipaplatform/base/paths.py index de4ea23d3..f74dfa1ad 100644 --- a/ipaplatform/base/paths.py +++ b/ipaplatform/base/paths.py @@ -353,5 +353,6 @@ class BasePathNamespace(object): EXTERNAL_SCHEMA_DIR = '/usr/share/ipa/schema.d' GSSPROXY_CONF = '/etc/gssproxy/10-ipa.conf' KRB5CC_HTTPD = '/tmp/krb5cc-httpd' + IF_INET6 = '/proc/net/if_inet6' path_namespace = BasePathNamespace diff --git a/ipaplatform/base/tasks.py b/ipaplatform/base/tasks.py index 5806e7504..9f91fef2b 100644 --- a/ipaplatform/base/tasks.py +++ b/ipaplatform/base/tasks.py @@ -103,6 +103,11 @@ class BaseTaskNamespace(object): raise NotImplementedError() + def check_ipv6_stack_enabled(self): + """Check whether IPv6 kernel module is loaded""" + + raise NotImplementedError() + def restore_hostname(self, fstore, statestore): """ Restores the original hostname as backed up in the diff --git a/ipaplatform/redhat/tasks.py b/ipaplatform/redhat/tasks.py index 8f9b39bf8..67cb02196 100644 --- a/ipaplatform/redhat/tasks.py +++ b/ipaplatform/redhat/tasks.py @@ -141,6 +141,20 @@ class RedHatTaskNamespace(BaseTaskNamespace): 'Install the policycoreutils package and start ' 'the installation again.' % restorecon) + def check_ipv6_stack_enabled(self): + """Checks whether IPv6 kernel module is loaded. + + Function checks if /proc/net/if_inet6 is present. If IPv6 stack is + enabled, it exists and contains the interfaces configuration. + + :raises: RuntimeError when IPv6 stack is disabled + """ + if not os.path.exists(paths.IF_INET6): + raise RuntimeError( + "IPv6 kernel module has to be enabled. If you do not wish to " + "use IPv6, please disable it on the interfaces in " + "sysctl.conf and enable the IPv6 kernel module.") + def restore_pre_ipa_client_configuration(self, fstore, statestore, was_sssd_installed, was_sssd_configured): |