[Freeipa-devel] [freeipa PR#373][synchronized] ipaplatform: Add Debian platform module.
URL: https://github.com/freeipa/freeipa/pull/373 Author: tjaalton Title: #373: ipaplatform: Add Debian platform module. Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/373/head:pr373 git checkout pr373 From 6b490e2c4165215f0d6b9b08676661c4c9d4abd6 Mon Sep 17 00:00:00 2001 From: Timo Aaltonen Date: Thu, 5 Jan 2017 12:41:08 +0200 Subject: [PATCH] ipaplatform: Add Debian platform module. v2: - use redhat_services.redhat_system_units.copy - don't use wildcard imports - add some empty lines to make pep8 happy v3: - make parse_ipa_version static v4: - make more methods static v5: - fix pylint issues - use syntax that doesn't break with python3 v6: - remove IPA_GETKEYTAB from paths, it's the same across distros --- ipaplatform/base/tasks.py | 3 +- ipaplatform/debian/__init__.py | 7 ++ ipaplatform/debian/constants.py | 25 ++ ipaplatform/debian/paths.py | 96 + ipaplatform/debian/services.py | 184 ipaplatform/debian/tasks.py | 50 +++ ipaplatform/setup.py| 1 + 7 files changed, 365 insertions(+), 1 deletion(-) create mode 100644 ipaplatform/debian/__init__.py create mode 100644 ipaplatform/debian/constants.py create mode 100644 ipaplatform/debian/paths.py create mode 100644 ipaplatform/debian/services.py create mode 100644 ipaplatform/debian/tasks.py diff --git a/ipaplatform/base/tasks.py b/ipaplatform/base/tasks.py index 702da6b..8cf6fde 100644 --- a/ipaplatform/base/tasks.py +++ b/ipaplatform/base/tasks.py @@ -227,7 +227,8 @@ def create_system_user(self, name, group, homedir, shell, uid=None, gid=None, co else: log.debug('user %s exists', name) -def parse_ipa_version(self, version): +@staticmethod +def parse_ipa_version(version): """ :param version: textual version :return: object implementing proper __cmp__ method for version compare diff --git a/ipaplatform/debian/__init__.py b/ipaplatform/debian/__init__.py new file mode 100644 index 000..6305270 --- /dev/null +++ b/ipaplatform/debian/__init__.py @@ -0,0 +1,7 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This module contains Debian specific platform files. +""" diff --git a/ipaplatform/debian/constants.py b/ipaplatform/debian/constants.py new file mode 100644 index 000..1edcb5a --- /dev/null +++ b/ipaplatform/debian/constants.py @@ -0,0 +1,25 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +''' +This Debian family platform module exports platform dependant constants. +''' + +# Fallback to default path definitions +from ipaplatform.base.constants import BaseConstantsNamespace + + +class DebianConstantsNamespace(BaseConstantsNamespace): +HTTPD_USER = "www-data" +NAMED_USER = "bind" +NAMED_GROUP = "bind" +# ntpd init variable used for daemon options +NTPD_OPTS_VAR = "NTPD_OPTS" +# quote used for daemon options +NTPD_OPTS_QUOTE = "\'" +ODS_USER = "opendnssec" +ODS_GROUP = "opendnssec" +SECURE_NFS_VAR = "NEED_GSSD" + +constants = DebianConstantsNamespace() diff --git a/ipaplatform/debian/paths.py b/ipaplatform/debian/paths.py new file mode 100644 index 000..5cbe9b8 --- /dev/null +++ b/ipaplatform/debian/paths.py @@ -0,0 +1,96 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This Debian base platform module exports default filesystem paths as common +in Debian-based systems. +""" + +# Fallback to default path definitions +from ipaplatform.base.paths import BasePathNamespace +import sysconfig + +MULTIARCH = sysconfig.get_config_var('MULTIARCH') + +class DebianPathNamespace(BasePathNamespace): +BIN_HOSTNAMECTL = "/usr/bin/hostnamectl" +AUTOFS_LDAP_AUTH_CONF = "/etc/autofs_ldap_auth.conf" +ETC_HTTPD_DIR = "/etc/apache2" +HTTPD_ALIAS_DIR = "/etc/apache2/nssdb" +ALIAS_CACERT_ASC = "/etc/apache2/nssdb/cacert.asc" +ALIAS_PWDFILE_TXT = "/etc/apache2/nssdb/pwdfile.txt" +HTTPD_CONF_D_DIR = "/etc/apache2/conf-enabled/" +HTTPD_IPA_KDCPROXY_CONF_SYMLINK = "/etc/apache2/conf-enabled/ipa-kdc-proxy.conf" +HTTPD_IPA_PKI_PROXY_CONF = "/etc/apache2/conf-enabled/ipa-pki-proxy.conf" +HTTPD_IPA_REWRITE_CONF = "/etc/apache2/conf-available/ipa-rewrite.conf" +HTTPD_IPA_CONF = "/etc/apache2/conf-enabled/ipa.conf" +HTTPD_NSS_CONF = "/etc/apache2/mods-available/nss.conf" +IPA_KEYTAB = "/etc/apache2/ipa.keytab" +HTTPD_PASSWORD_CONF = "/etc/apache2/password.conf" +NAMED_CONF = "/etc/bind/named.conf" +NAMED_VAR_DIR = "/var/cache/bind" +NAMED_KEYTAB = "/etc/bind/named.keytab" +NAMED_RFC1912_ZONES = "/etc/bind/named.conf.default-zones" +NAMED_ROOT_KEY = "/etc/bind/bind.keys" +NAMED_BINDKEYS_FILE = "/etc/bind/bind.keys" +NAMED_MANAGED_KEYS_DIR = "/var/cache/bind/dynamic" +OPENLDAP
[Freeipa-devel] [freeipa PR#373][synchronized] ipaplatform: Add Debian platform module.
URL: https://github.com/freeipa/freeipa/pull/373 Author: tjaalton Title: #373: ipaplatform: Add Debian platform module. Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/373/head:pr373 git checkout pr373 From c7b64b72481529f0b7370047a40ab82f49465a49 Mon Sep 17 00:00:00 2001 From: Timo Aaltonen Date: Thu, 5 Jan 2017 12:41:08 +0200 Subject: [PATCH] ipaplatform: Add Debian platform module. v2: - use redhat_services.redhat_system_units.copy - don't use wildcard imports - add some empty lines to make pep8 happy v3: - make parse_ipa_version static v4: - make more methods static v5: - fix pylint issues - use syntax that doesn't break with python3 --- ipaplatform/base/tasks.py | 3 +- ipaplatform/debian/__init__.py | 7 ++ ipaplatform/debian/constants.py | 25 ++ ipaplatform/debian/paths.py | 97 + ipaplatform/debian/services.py | 184 ipaplatform/debian/tasks.py | 50 +++ ipaplatform/setup.py| 1 + 7 files changed, 366 insertions(+), 1 deletion(-) create mode 100644 ipaplatform/debian/__init__.py create mode 100644 ipaplatform/debian/constants.py create mode 100644 ipaplatform/debian/paths.py create mode 100644 ipaplatform/debian/services.py create mode 100644 ipaplatform/debian/tasks.py diff --git a/ipaplatform/base/tasks.py b/ipaplatform/base/tasks.py index 702da6b..8cf6fde 100644 --- a/ipaplatform/base/tasks.py +++ b/ipaplatform/base/tasks.py @@ -227,7 +227,8 @@ def create_system_user(self, name, group, homedir, shell, uid=None, gid=None, co else: log.debug('user %s exists', name) -def parse_ipa_version(self, version): +@staticmethod +def parse_ipa_version(version): """ :param version: textual version :return: object implementing proper __cmp__ method for version compare diff --git a/ipaplatform/debian/__init__.py b/ipaplatform/debian/__init__.py new file mode 100644 index 000..6305270 --- /dev/null +++ b/ipaplatform/debian/__init__.py @@ -0,0 +1,7 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This module contains Debian specific platform files. +""" diff --git a/ipaplatform/debian/constants.py b/ipaplatform/debian/constants.py new file mode 100644 index 000..1edcb5a --- /dev/null +++ b/ipaplatform/debian/constants.py @@ -0,0 +1,25 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +''' +This Debian family platform module exports platform dependant constants. +''' + +# Fallback to default path definitions +from ipaplatform.base.constants import BaseConstantsNamespace + + +class DebianConstantsNamespace(BaseConstantsNamespace): +HTTPD_USER = "www-data" +NAMED_USER = "bind" +NAMED_GROUP = "bind" +# ntpd init variable used for daemon options +NTPD_OPTS_VAR = "NTPD_OPTS" +# quote used for daemon options +NTPD_OPTS_QUOTE = "\'" +ODS_USER = "opendnssec" +ODS_GROUP = "opendnssec" +SECURE_NFS_VAR = "NEED_GSSD" + +constants = DebianConstantsNamespace() diff --git a/ipaplatform/debian/paths.py b/ipaplatform/debian/paths.py new file mode 100644 index 000..4ceb218 --- /dev/null +++ b/ipaplatform/debian/paths.py @@ -0,0 +1,97 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This Debian base platform module exports default filesystem paths as common +in Debian-based systems. +""" + +# Fallback to default path definitions +from ipaplatform.base.paths import BasePathNamespace +import sysconfig + +MULTIARCH = sysconfig.get_config_var('MULTIARCH') + +class DebianPathNamespace(BasePathNamespace): +BIN_HOSTNAMECTL = "/usr/bin/hostnamectl" +AUTOFS_LDAP_AUTH_CONF = "/etc/autofs_ldap_auth.conf" +ETC_HTTPD_DIR = "/etc/apache2" +HTTPD_ALIAS_DIR = "/etc/apache2/nssdb" +ALIAS_CACERT_ASC = "/etc/apache2/nssdb/cacert.asc" +ALIAS_PWDFILE_TXT = "/etc/apache2/nssdb/pwdfile.txt" +HTTPD_CONF_D_DIR = "/etc/apache2/conf-enabled/" +HTTPD_IPA_KDCPROXY_CONF_SYMLINK = "/etc/apache2/conf-enabled/ipa-kdc-proxy.conf" +HTTPD_IPA_PKI_PROXY_CONF = "/etc/apache2/conf-enabled/ipa-pki-proxy.conf" +HTTPD_IPA_REWRITE_CONF = "/etc/apache2/conf-available/ipa-rewrite.conf" +HTTPD_IPA_CONF = "/etc/apache2/conf-enabled/ipa.conf" +HTTPD_NSS_CONF = "/etc/apache2/mods-available/nss.conf" +IPA_KEYTAB = "/etc/apache2/ipa.keytab" +HTTPD_PASSWORD_CONF = "/etc/apache2/password.conf" +NAMED_CONF = "/etc/bind/named.conf" +NAMED_VAR_DIR = "/var/cache/bind" +NAMED_KEYTAB = "/etc/bind/named.keytab" +NAMED_RFC1912_ZONES = "/etc/bind/named.conf.default-zones" +NAMED_ROOT_KEY = "/etc/bind/bind.keys" +NAMED_BINDKEYS_FILE = "/etc/bind/bind.keys" +NAMED_MANAGED_KEYS_DIR = "/var/cache/bind/dynamic" +OPENLDAP_LDAP_CONF = "/etc/ldap/ldap.conf" +ETC_DEBIAN_VERSION = "/etc/de
[Freeipa-devel] [freeipa PR#373][synchronized] ipaplatform: Add Debian platform module.
URL: https://github.com/freeipa/freeipa/pull/373 Author: tjaalton Title: #373: ipaplatform: Add Debian platform module. Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/373/head:pr373 git checkout pr373 From 1d9022b643aa928c9b42b9f1f10794706c2889a1 Mon Sep 17 00:00:00 2001 From: Timo Aaltonen Date: Thu, 5 Jan 2017 12:41:08 +0200 Subject: [PATCH] ipaplatform: Add Debian platform module. v2: - use redhat_services.redhat_system_units.copy - don't use wildcard imports - add some empty lines to make pep8 happy v3: - make parse_ipa_version static v4: - make more methods static --- ipaplatform/base/tasks.py | 3 +- ipaplatform/debian/__init__.py | 7 ++ ipaplatform/debian/constants.py | 25 ++ ipaplatform/debian/paths.py | 97 + ipaplatform/debian/services.py | 184 ipaplatform/debian/tasks.py | 50 +++ ipaplatform/setup.py| 1 + 7 files changed, 366 insertions(+), 1 deletion(-) create mode 100644 ipaplatform/debian/__init__.py create mode 100644 ipaplatform/debian/constants.py create mode 100644 ipaplatform/debian/paths.py create mode 100644 ipaplatform/debian/services.py create mode 100644 ipaplatform/debian/tasks.py diff --git a/ipaplatform/base/tasks.py b/ipaplatform/base/tasks.py index 702da6b..8cf6fde 100644 --- a/ipaplatform/base/tasks.py +++ b/ipaplatform/base/tasks.py @@ -227,7 +227,8 @@ def create_system_user(self, name, group, homedir, shell, uid=None, gid=None, co else: log.debug('user %s exists', name) -def parse_ipa_version(self, version): +@staticmethod +def parse_ipa_version(version): """ :param version: textual version :return: object implementing proper __cmp__ method for version compare diff --git a/ipaplatform/debian/__init__.py b/ipaplatform/debian/__init__.py new file mode 100644 index 000..6305270 --- /dev/null +++ b/ipaplatform/debian/__init__.py @@ -0,0 +1,7 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This module contains Debian specific platform files. +""" diff --git a/ipaplatform/debian/constants.py b/ipaplatform/debian/constants.py new file mode 100644 index 000..1edcb5a --- /dev/null +++ b/ipaplatform/debian/constants.py @@ -0,0 +1,25 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +''' +This Debian family platform module exports platform dependant constants. +''' + +# Fallback to default path definitions +from ipaplatform.base.constants import BaseConstantsNamespace + + +class DebianConstantsNamespace(BaseConstantsNamespace): +HTTPD_USER = "www-data" +NAMED_USER = "bind" +NAMED_GROUP = "bind" +# ntpd init variable used for daemon options +NTPD_OPTS_VAR = "NTPD_OPTS" +# quote used for daemon options +NTPD_OPTS_QUOTE = "\'" +ODS_USER = "opendnssec" +ODS_GROUP = "opendnssec" +SECURE_NFS_VAR = "NEED_GSSD" + +constants = DebianConstantsNamespace() diff --git a/ipaplatform/debian/paths.py b/ipaplatform/debian/paths.py new file mode 100644 index 000..4ceb218 --- /dev/null +++ b/ipaplatform/debian/paths.py @@ -0,0 +1,97 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This Debian base platform module exports default filesystem paths as common +in Debian-based systems. +""" + +# Fallback to default path definitions +from ipaplatform.base.paths import BasePathNamespace +import sysconfig + +MULTIARCH = sysconfig.get_config_var('MULTIARCH') + +class DebianPathNamespace(BasePathNamespace): +BIN_HOSTNAMECTL = "/usr/bin/hostnamectl" +AUTOFS_LDAP_AUTH_CONF = "/etc/autofs_ldap_auth.conf" +ETC_HTTPD_DIR = "/etc/apache2" +HTTPD_ALIAS_DIR = "/etc/apache2/nssdb" +ALIAS_CACERT_ASC = "/etc/apache2/nssdb/cacert.asc" +ALIAS_PWDFILE_TXT = "/etc/apache2/nssdb/pwdfile.txt" +HTTPD_CONF_D_DIR = "/etc/apache2/conf-enabled/" +HTTPD_IPA_KDCPROXY_CONF_SYMLINK = "/etc/apache2/conf-enabled/ipa-kdc-proxy.conf" +HTTPD_IPA_PKI_PROXY_CONF = "/etc/apache2/conf-enabled/ipa-pki-proxy.conf" +HTTPD_IPA_REWRITE_CONF = "/etc/apache2/conf-available/ipa-rewrite.conf" +HTTPD_IPA_CONF = "/etc/apache2/conf-enabled/ipa.conf" +HTTPD_NSS_CONF = "/etc/apache2/mods-available/nss.conf" +IPA_KEYTAB = "/etc/apache2/ipa.keytab" +HTTPD_PASSWORD_CONF = "/etc/apache2/password.conf" +NAMED_CONF = "/etc/bind/named.conf" +NAMED_VAR_DIR = "/var/cache/bind" +NAMED_KEYTAB = "/etc/bind/named.keytab" +NAMED_RFC1912_ZONES = "/etc/bind/named.conf.default-zones" +NAMED_ROOT_KEY = "/etc/bind/bind.keys" +NAMED_BINDKEYS_FILE = "/etc/bind/bind.keys" +NAMED_MANAGED_KEYS_DIR = "/var/cache/bind/dynamic" +OPENLDAP_LDAP_CONF = "/etc/ldap/ldap.conf" +ETC_DEBIAN_VERSION = "/etc/debian_version" +IPA_P11_KIT = "/usr/local/share/ca-certificates/ipa
[Freeipa-devel] [freeipa PR#373][synchronized] ipaplatform: Add Debian platform module.
URL: https://github.com/freeipa/freeipa/pull/373 Author: tjaalton Title: #373: ipaplatform: Add Debian platform module. Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/373/head:pr373 git checkout pr373 From 3bce58353c8247ad5b920225b01ce96de79f4b10 Mon Sep 17 00:00:00 2001 From: Timo Aaltonen Date: Thu, 5 Jan 2017 12:41:08 +0200 Subject: [PATCH] ipaplatform: Add Debian platform module. v2: - use redhat_services.redhat_system_units.copy - don't use wildcard imports - add some empty lines to make pep8 happy v3: - make parse_ipa_version static v4: - make more methods static --- ipaplatform/base/tasks.py | 3 +- ipaplatform/debian/__init__.py | 7 ++ ipaplatform/debian/constants.py | 25 + ipaplatform/debian/paths.py | 98 ipaplatform/debian/services.py | 196 ipaplatform/debian/tasks.py | 51 +++ ipaplatform/setup.py| 1 + 7 files changed, 380 insertions(+), 1 deletion(-) create mode 100644 ipaplatform/debian/__init__.py create mode 100644 ipaplatform/debian/constants.py create mode 100644 ipaplatform/debian/paths.py create mode 100644 ipaplatform/debian/services.py create mode 100644 ipaplatform/debian/tasks.py diff --git a/ipaplatform/base/tasks.py b/ipaplatform/base/tasks.py index 702da6b..8cf6fde 100644 --- a/ipaplatform/base/tasks.py +++ b/ipaplatform/base/tasks.py @@ -227,7 +227,8 @@ def create_system_user(self, name, group, homedir, shell, uid=None, gid=None, co else: log.debug('user %s exists', name) -def parse_ipa_version(self, version): +@staticmethod +def parse_ipa_version(version): """ :param version: textual version :return: object implementing proper __cmp__ method for version compare diff --git a/ipaplatform/debian/__init__.py b/ipaplatform/debian/__init__.py new file mode 100644 index 000..6305270 --- /dev/null +++ b/ipaplatform/debian/__init__.py @@ -0,0 +1,7 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This module contains Debian specific platform files. +""" diff --git a/ipaplatform/debian/constants.py b/ipaplatform/debian/constants.py new file mode 100644 index 000..1edcb5a --- /dev/null +++ b/ipaplatform/debian/constants.py @@ -0,0 +1,25 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +''' +This Debian family platform module exports platform dependant constants. +''' + +# Fallback to default path definitions +from ipaplatform.base.constants import BaseConstantsNamespace + + +class DebianConstantsNamespace(BaseConstantsNamespace): +HTTPD_USER = "www-data" +NAMED_USER = "bind" +NAMED_GROUP = "bind" +# ntpd init variable used for daemon options +NTPD_OPTS_VAR = "NTPD_OPTS" +# quote used for daemon options +NTPD_OPTS_QUOTE = "\'" +ODS_USER = "opendnssec" +ODS_GROUP = "opendnssec" +SECURE_NFS_VAR = "NEED_GSSD" + +constants = DebianConstantsNamespace() diff --git a/ipaplatform/debian/paths.py b/ipaplatform/debian/paths.py new file mode 100644 index 000..8bc6684 --- /dev/null +++ b/ipaplatform/debian/paths.py @@ -0,0 +1,98 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This Debian base platform module exports default filesystem paths as common +in Debian-based systems. +""" + +# Fallback to default path definitions +from ipaplatform.base.paths import BasePathNamespace +import sysconfig + +MULTIARCH = sysconfig.get_config_var('MULTIARCH') + +class DebianPathNamespace(BasePathNamespace): +BIN_HOSTNAMECTL = "/usr/bin/hostnamectl" +AUTOFS_LDAP_AUTH_CONF = "/etc/autofs_ldap_auth.conf" +ETC_HTTPD_DIR = "/etc/apache2" +HTTPD_ALIAS_DIR = "/etc/apache2/nssdb" +ALIAS_CACERT_ASC = "/etc/apache2/nssdb/cacert.asc" +ALIAS_PWDFILE_TXT = "/etc/apache2/nssdb/pwdfile.txt" +HTTPD_CONF_D_DIR = "/etc/apache2/conf-enabled/" +HTTPD_IPA_KDCPROXY_CONF_SYMLINK = "/etc/apache2/conf-enabled/ipa-kdc-proxy.conf" +HTTPD_IPA_PKI_PROXY_CONF = "/etc/apache2/conf-enabled/ipa-pki-proxy.conf" +HTTPD_IPA_REWRITE_CONF = "/etc/apache2/conf-available/ipa-rewrite.conf" +HTTPD_IPA_CONF = "/etc/apache2/conf-enabled/ipa.conf" +HTTPD_NSS_CONF = "/etc/apache2/mods-available/nss.conf" +IPA_KEYTAB = "/etc/apache2/ipa.keytab" +HTTPD_PASSWORD_CONF = "/etc/apache2/password.conf" +NAMED_CONF = "/etc/bind/named.conf" +NAMED_VAR_DIR = "/var/cache/bind" +NAMED_KEYTAB = "/etc/bind/named.keytab" +NAMED_RFC1912_ZONES = "/etc/bind/named.conf.default-zones" +NAMED_ROOT_KEY = "/etc/bind/bind.keys" +NAMED_BINDKEYS_FILE = "/etc/bind/bind.keys" +NAMED_MANAGED_KEYS_DIR = "/var/cache/bind/dynamic" +OPENLDAP_LDAP_CONF = "/etc/ldap/ldap.conf" +ETC_DEBIAN_VERSION = "/etc/debian_version" +IPA_P11_KIT = "/usr/local/share/ca-certificates/ipa-c
[Freeipa-devel] [freeipa PR#373][synchronized] ipaplatform: Add Debian platform module.
URL: https://github.com/freeipa/freeipa/pull/373 Author: tjaalton Title: #373: ipaplatform: Add Debian platform module. Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/373/head:pr373 git checkout pr373 From 394f36acdd897dae25a5554c71cbdfc3d76cb4d0 Mon Sep 17 00:00:00 2001 From: Timo Aaltonen Date: Thu, 5 Jan 2017 12:41:08 +0200 Subject: [PATCH] ipaplatform: Add Debian platform module. v2: - use redhat_services.redhat_system_units.copy - don't use wildcard imports - add some empty lines to make pep8 happy v3: - make parse_ipa_version static --- ipaplatform/base/tasks.py | 3 +- ipaplatform/debian/__init__.py | 7 ++ ipaplatform/debian/constants.py | 25 ++ ipaplatform/debian/paths.py | 98 + ipaplatform/debian/services.py | 185 ipaplatform/debian/tasks.py | 46 ++ ipaplatform/setup.py| 1 + 7 files changed, 364 insertions(+), 1 deletion(-) create mode 100644 ipaplatform/debian/__init__.py create mode 100644 ipaplatform/debian/constants.py create mode 100644 ipaplatform/debian/paths.py create mode 100644 ipaplatform/debian/services.py create mode 100644 ipaplatform/debian/tasks.py diff --git a/ipaplatform/base/tasks.py b/ipaplatform/base/tasks.py index 702da6b..8cf6fde 100644 --- a/ipaplatform/base/tasks.py +++ b/ipaplatform/base/tasks.py @@ -227,7 +227,8 @@ def create_system_user(self, name, group, homedir, shell, uid=None, gid=None, co else: log.debug('user %s exists', name) -def parse_ipa_version(self, version): +@staticmethod +def parse_ipa_version(version): """ :param version: textual version :return: object implementing proper __cmp__ method for version compare diff --git a/ipaplatform/debian/__init__.py b/ipaplatform/debian/__init__.py new file mode 100644 index 000..6305270 --- /dev/null +++ b/ipaplatform/debian/__init__.py @@ -0,0 +1,7 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This module contains Debian specific platform files. +""" diff --git a/ipaplatform/debian/constants.py b/ipaplatform/debian/constants.py new file mode 100644 index 000..1edcb5a --- /dev/null +++ b/ipaplatform/debian/constants.py @@ -0,0 +1,25 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +''' +This Debian family platform module exports platform dependant constants. +''' + +# Fallback to default path definitions +from ipaplatform.base.constants import BaseConstantsNamespace + + +class DebianConstantsNamespace(BaseConstantsNamespace): +HTTPD_USER = "www-data" +NAMED_USER = "bind" +NAMED_GROUP = "bind" +# ntpd init variable used for daemon options +NTPD_OPTS_VAR = "NTPD_OPTS" +# quote used for daemon options +NTPD_OPTS_QUOTE = "\'" +ODS_USER = "opendnssec" +ODS_GROUP = "opendnssec" +SECURE_NFS_VAR = "NEED_GSSD" + +constants = DebianConstantsNamespace() diff --git a/ipaplatform/debian/paths.py b/ipaplatform/debian/paths.py new file mode 100644 index 000..a3fa02f --- /dev/null +++ b/ipaplatform/debian/paths.py @@ -0,0 +1,98 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This Debian base platform module exports default filesystem paths as common +in Debian-based systems. +""" + +# Fallback to default path definitions +from ipaplatform.base.paths import BasePathNamespace +import sysconfig + +MULTIARCH = sysconfig.get_config_var('MULTIARCH') + +class DebianPathNamespace(BasePathNamespace): +BIN_HOSTNAMECTL = "/usr/bin/hostnamectl" +AUTOFS_LDAP_AUTH_CONF = "/etc/autofs_ldap_auth.conf" +ETC_HTTPD_DIR = "/etc/apache2" +HTTPD_ALIAS_DIR = "/etc/apache2/nssdb" +ALIAS_CACERT_ASC = "/etc/apache2/nssdb/cacert.asc" +ALIAS_PWDFILE_TXT = "/etc/apache2/nssdb/pwdfile.txt" +HTTPD_CONF_D_DIR = "/etc/apache2/conf-enabled/" +HTTPD_IPA_KDCPROXY_CONF_SYMLINK = "/etc/apache2/conf-enabled/ipa-kdc-proxy.conf" +HTTPD_IPA_PKI_PROXY_CONF = "/etc/apache2/conf-enabled/ipa-pki-proxy.conf" +HTTPD_IPA_REWRITE_CONF = "/etc/apache2/conf-available/ipa-rewrite.conf" +HTTPD_IPA_CONF = "/etc/apache2/conf-enabled/ipa.conf" +HTTPD_NSS_CONF = "/etc/apache2/mods-available/nss.conf" +IPA_KEYTAB = "/etc/apache2/ipa.keytab" +HTTPD_PASSWORD_CONF = "/etc/apache2/password.conf" +NAMED_CONF = "/etc/bind/named.conf" +NAMED_VAR_DIR = "/var/cache/bind" +NAMED_KEYTAB = "/etc/bind/named.keytab" +NAMED_RFC1912_ZONES = "/etc/bind/named.conf.default-zones" +NAMED_ROOT_KEY = "/etc/bind/bind.keys" +NAMED_BINDKEYS_FILE = "/etc/bind/bind.keys" +NAMED_MANAGED_KEYS_DIR = "/var/cache/bind/dynamic" +OPENLDAP_LDAP_CONF = "/etc/ldap/ldap.conf" +ETC_DEBIAN_VERSION = "/etc/debian_version" +IPA_P11_KIT = "/usr/local/share/ca-certificates/ipa-ca.crt" +ETC_SYSCONFIG_DIR =
[Freeipa-devel] [freeipa PR#373][synchronized] ipaplatform: Add Debian platform module.
URL: https://github.com/freeipa/freeipa/pull/373 Author: tjaalton Title: #373: ipaplatform: Add Debian platform module. Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/373/head:pr373 git checkout pr373 From 57d84b539a2d411858b2c22cf49806a29ad67836 Mon Sep 17 00:00:00 2001 From: Timo Aaltonen Date: Thu, 5 Jan 2017 12:41:08 +0200 Subject: [PATCH] ipaplatform: Add Debian platform module. v2: - use redhat_services.redhat_system_units.copy - don't use wildcard imports - add some empty lines to make pep8 happy --- ipaplatform/debian/__init__.py | 7 ++ ipaplatform/debian/constants.py | 25 ++ ipaplatform/debian/paths.py | 98 + ipaplatform/debian/services.py | 185 ipaplatform/debian/tasks.py | 47 ++ ipaplatform/setup.py| 1 + 6 files changed, 363 insertions(+) create mode 100644 ipaplatform/debian/__init__.py create mode 100644 ipaplatform/debian/constants.py create mode 100644 ipaplatform/debian/paths.py create mode 100644 ipaplatform/debian/services.py create mode 100644 ipaplatform/debian/tasks.py diff --git a/ipaplatform/debian/__init__.py b/ipaplatform/debian/__init__.py new file mode 100644 index 000..6305270 --- /dev/null +++ b/ipaplatform/debian/__init__.py @@ -0,0 +1,7 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This module contains Debian specific platform files. +""" diff --git a/ipaplatform/debian/constants.py b/ipaplatform/debian/constants.py new file mode 100644 index 000..1edcb5a --- /dev/null +++ b/ipaplatform/debian/constants.py @@ -0,0 +1,25 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +''' +This Debian family platform module exports platform dependant constants. +''' + +# Fallback to default path definitions +from ipaplatform.base.constants import BaseConstantsNamespace + + +class DebianConstantsNamespace(BaseConstantsNamespace): +HTTPD_USER = "www-data" +NAMED_USER = "bind" +NAMED_GROUP = "bind" +# ntpd init variable used for daemon options +NTPD_OPTS_VAR = "NTPD_OPTS" +# quote used for daemon options +NTPD_OPTS_QUOTE = "\'" +ODS_USER = "opendnssec" +ODS_GROUP = "opendnssec" +SECURE_NFS_VAR = "NEED_GSSD" + +constants = DebianConstantsNamespace() diff --git a/ipaplatform/debian/paths.py b/ipaplatform/debian/paths.py new file mode 100644 index 000..a3fa02f --- /dev/null +++ b/ipaplatform/debian/paths.py @@ -0,0 +1,98 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This Debian base platform module exports default filesystem paths as common +in Debian-based systems. +""" + +# Fallback to default path definitions +from ipaplatform.base.paths import BasePathNamespace +import sysconfig + +MULTIARCH = sysconfig.get_config_var('MULTIARCH') + +class DebianPathNamespace(BasePathNamespace): +BIN_HOSTNAMECTL = "/usr/bin/hostnamectl" +AUTOFS_LDAP_AUTH_CONF = "/etc/autofs_ldap_auth.conf" +ETC_HTTPD_DIR = "/etc/apache2" +HTTPD_ALIAS_DIR = "/etc/apache2/nssdb" +ALIAS_CACERT_ASC = "/etc/apache2/nssdb/cacert.asc" +ALIAS_PWDFILE_TXT = "/etc/apache2/nssdb/pwdfile.txt" +HTTPD_CONF_D_DIR = "/etc/apache2/conf-enabled/" +HTTPD_IPA_KDCPROXY_CONF_SYMLINK = "/etc/apache2/conf-enabled/ipa-kdc-proxy.conf" +HTTPD_IPA_PKI_PROXY_CONF = "/etc/apache2/conf-enabled/ipa-pki-proxy.conf" +HTTPD_IPA_REWRITE_CONF = "/etc/apache2/conf-available/ipa-rewrite.conf" +HTTPD_IPA_CONF = "/etc/apache2/conf-enabled/ipa.conf" +HTTPD_NSS_CONF = "/etc/apache2/mods-available/nss.conf" +IPA_KEYTAB = "/etc/apache2/ipa.keytab" +HTTPD_PASSWORD_CONF = "/etc/apache2/password.conf" +NAMED_CONF = "/etc/bind/named.conf" +NAMED_VAR_DIR = "/var/cache/bind" +NAMED_KEYTAB = "/etc/bind/named.keytab" +NAMED_RFC1912_ZONES = "/etc/bind/named.conf.default-zones" +NAMED_ROOT_KEY = "/etc/bind/bind.keys" +NAMED_BINDKEYS_FILE = "/etc/bind/bind.keys" +NAMED_MANAGED_KEYS_DIR = "/var/cache/bind/dynamic" +OPENLDAP_LDAP_CONF = "/etc/ldap/ldap.conf" +ETC_DEBIAN_VERSION = "/etc/debian_version" +IPA_P11_KIT = "/usr/local/share/ca-certificates/ipa-ca.crt" +ETC_SYSCONFIG_DIR = "/etc/default" +SYSCONFIG_AUTOFS = "/etc/default/autofs" +SYSCONFIG_DIRSRV = "/etc/default/dirsrv" +SYSCONFIG_DIRSRV_INSTANCE = "/etc/default/dirsrv-%s" +SYSCONFIG_DIRSRV_SYSTEMD = "/etc/default/dirsrv.systemd" +SYSCONFIG_IPA_DNSKEYSYNCD = "/etc/default/ipa-dnskeysyncd" +SYSCONFIG_IPA_ODS_EXPORTER = "/etc/default/ipa-ods-exporter" +SYSCONFIG_KRB5KDC_DIR = "/etc/default/krb5-kdc" +SYSCONFIG_NAMED = "/etc/default/bind9" +SYSCONFIG_NFS = "/etc/default/nfs-common" +SYSCONFIG_NTPD = "/etc/default/ntp" +SYSCONFIG_ODS = "/etc/default/opendnssec" +SYSCONFIG_PKI = "/etc/dogtag/" +SYSCONFIG_PKI_TOMCAT =
[Freeipa-devel] [freeipa PR#373][synchronized] ipaplatform: Add Debian platform module.
URL: https://github.com/freeipa/freeipa/pull/373 Author: tjaalton Title: #373: ipaplatform: Add Debian platform module. Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/373/head:pr373 git checkout pr373 From 7fc38de803a12e60e506357aa8c8ac10a7b56ed1 Mon Sep 17 00:00:00 2001 From: Timo Aaltonen Date: Thu, 5 Jan 2017 12:41:08 +0200 Subject: [PATCH] ipaplatform: Add Debian platform module. --- ipaplatform/debian/__init__.py | 7 ++ ipaplatform/debian/constants.py | 25 ++ ipaplatform/debian/paths.py | 98 + ipaplatform/debian/services.py | 183 ipaplatform/debian/tasks.py | 46 ++ ipaplatform/setup.py| 1 + 6 files changed, 360 insertions(+) create mode 100644 ipaplatform/debian/__init__.py create mode 100644 ipaplatform/debian/constants.py create mode 100644 ipaplatform/debian/paths.py create mode 100644 ipaplatform/debian/services.py create mode 100644 ipaplatform/debian/tasks.py diff --git a/ipaplatform/debian/__init__.py b/ipaplatform/debian/__init__.py new file mode 100644 index 000..6305270 --- /dev/null +++ b/ipaplatform/debian/__init__.py @@ -0,0 +1,7 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This module contains Debian specific platform files. +""" diff --git a/ipaplatform/debian/constants.py b/ipaplatform/debian/constants.py new file mode 100644 index 000..1edcb5a --- /dev/null +++ b/ipaplatform/debian/constants.py @@ -0,0 +1,25 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +''' +This Debian family platform module exports platform dependant constants. +''' + +# Fallback to default path definitions +from ipaplatform.base.constants import BaseConstantsNamespace + + +class DebianConstantsNamespace(BaseConstantsNamespace): +HTTPD_USER = "www-data" +NAMED_USER = "bind" +NAMED_GROUP = "bind" +# ntpd init variable used for daemon options +NTPD_OPTS_VAR = "NTPD_OPTS" +# quote used for daemon options +NTPD_OPTS_QUOTE = "\'" +ODS_USER = "opendnssec" +ODS_GROUP = "opendnssec" +SECURE_NFS_VAR = "NEED_GSSD" + +constants = DebianConstantsNamespace() diff --git a/ipaplatform/debian/paths.py b/ipaplatform/debian/paths.py new file mode 100644 index 000..a3fa02f --- /dev/null +++ b/ipaplatform/debian/paths.py @@ -0,0 +1,98 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +""" +This Debian base platform module exports default filesystem paths as common +in Debian-based systems. +""" + +# Fallback to default path definitions +from ipaplatform.base.paths import BasePathNamespace +import sysconfig + +MULTIARCH = sysconfig.get_config_var('MULTIARCH') + +class DebianPathNamespace(BasePathNamespace): +BIN_HOSTNAMECTL = "/usr/bin/hostnamectl" +AUTOFS_LDAP_AUTH_CONF = "/etc/autofs_ldap_auth.conf" +ETC_HTTPD_DIR = "/etc/apache2" +HTTPD_ALIAS_DIR = "/etc/apache2/nssdb" +ALIAS_CACERT_ASC = "/etc/apache2/nssdb/cacert.asc" +ALIAS_PWDFILE_TXT = "/etc/apache2/nssdb/pwdfile.txt" +HTTPD_CONF_D_DIR = "/etc/apache2/conf-enabled/" +HTTPD_IPA_KDCPROXY_CONF_SYMLINK = "/etc/apache2/conf-enabled/ipa-kdc-proxy.conf" +HTTPD_IPA_PKI_PROXY_CONF = "/etc/apache2/conf-enabled/ipa-pki-proxy.conf" +HTTPD_IPA_REWRITE_CONF = "/etc/apache2/conf-available/ipa-rewrite.conf" +HTTPD_IPA_CONF = "/etc/apache2/conf-enabled/ipa.conf" +HTTPD_NSS_CONF = "/etc/apache2/mods-available/nss.conf" +IPA_KEYTAB = "/etc/apache2/ipa.keytab" +HTTPD_PASSWORD_CONF = "/etc/apache2/password.conf" +NAMED_CONF = "/etc/bind/named.conf" +NAMED_VAR_DIR = "/var/cache/bind" +NAMED_KEYTAB = "/etc/bind/named.keytab" +NAMED_RFC1912_ZONES = "/etc/bind/named.conf.default-zones" +NAMED_ROOT_KEY = "/etc/bind/bind.keys" +NAMED_BINDKEYS_FILE = "/etc/bind/bind.keys" +NAMED_MANAGED_KEYS_DIR = "/var/cache/bind/dynamic" +OPENLDAP_LDAP_CONF = "/etc/ldap/ldap.conf" +ETC_DEBIAN_VERSION = "/etc/debian_version" +IPA_P11_KIT = "/usr/local/share/ca-certificates/ipa-ca.crt" +ETC_SYSCONFIG_DIR = "/etc/default" +SYSCONFIG_AUTOFS = "/etc/default/autofs" +SYSCONFIG_DIRSRV = "/etc/default/dirsrv" +SYSCONFIG_DIRSRV_INSTANCE = "/etc/default/dirsrv-%s" +SYSCONFIG_DIRSRV_SYSTEMD = "/etc/default/dirsrv.systemd" +SYSCONFIG_IPA_DNSKEYSYNCD = "/etc/default/ipa-dnskeysyncd" +SYSCONFIG_IPA_ODS_EXPORTER = "/etc/default/ipa-ods-exporter" +SYSCONFIG_KRB5KDC_DIR = "/etc/default/krb5-kdc" +SYSCONFIG_NAMED = "/etc/default/bind9" +SYSCONFIG_NFS = "/etc/default/nfs-common" +SYSCONFIG_NTPD = "/etc/default/ntp" +SYSCONFIG_ODS = "/etc/default/opendnssec" +SYSCONFIG_PKI = "/etc/dogtag/" +SYSCONFIG_PKI_TOMCAT = "/etc/default/pki-tomcat" +SYSCONFIG_PKI_TOMCAT_PKI_TOMCAT_DIR = "/etc/dogtag/tomcat/pki-tomcat" +SYSTEMD_SYSTEM_