#5343 platform: Abstract known Fedora-specific bits
Closed: fixed Opened by tbabej.

The following bits should be abstracted into platform-dependant code:

  • Hardcoded usernames
  • Config/service files with platform specific data (i.e. paths, usernames) should be converted to templates
  • Fedora-specific libpaths need to be abstracted
  • named.conf.template needs to introduce a way how to drop the default zone
  • httpdinstance module needs specific post-setup steps on non-Fedora certain platforms
  • While altering config files, do not use platform dependant paths/constants (i.e. httpdinstance.py:251)
  • Makefile needs to use --install-layout=deb for setup.py

Kudos to Timo Aaltonen for identifying these issues.


More info:
https://www.redhat.com/archives/freeipa-devel/2015-October/msg00059.html

master:

  • 7059117ec32bfad8ec802d472b0f7d2b6cb12d2a paths: Add GENERATE_RNDC_KEY.
  • 7c32ecaa0ebdfc879d6d2286974987b9fee7082e httpinstance: Replace a hardcoded path to password.conf with HTTPD_PASSWORD_CONF

ipa-4-2:

  • b8a2104fb55026275067bb3d8732dbf5612bb2e8 paths: Add GENERATE_RNDC_KEY.
  • 181c814e55611c64e8137a6edce6229c0199c4c5 httpinstance: Replace a hardcoded path to password.conf with HTTPD_PASSWORD_CONF

One thing I've missed:

  • ipa-client/ipaclient/ntpconf.py rewrites SYSCONFIG_NTPD unconditionally

master:

  • 874b6d9f28f29368ab5e4e4924136718fde9e2a8 ipaplatform: Add HTTPD_USER to constants, and use it.
  • 489c24837c51aa76c274687704453d032ce6f146 ipaplatform: Add NAMED_USER to constants
  • d269e25bfba0021528bde8c278cacbf894c40962 httpinstance: Use full path via HTTPD_IPA_REWRITE_CONF for Include.
  • 24ebdf90a5c1cb500591b273c61ccf588aad9ab1 ipaplatform: Add SECURE_NFS_VAR to constants
  • 43654c973c5977ae55250a30b5652f160b11d590 ipaplatform: Add NTPD_OPTS_VAR and NTPD_OPTS_QUOTE to constants

Still a few missing pieces to this, reopening.

another one:

install/oddjob/etc/oddjobd.conf.d/oddjobd-ipa-trust.conf: <helper exec="/usr/libexec/ipa/com.redhat.idm.trust-fetch-domains"

and

install/oddjob/etc/oddjobd.conf.d/ipa-server.conf: <helper exec="/usr/libexec/ipa/oddjob/org.freeipa.server.conncheck"

also install/conf/ipa-kdc-proxy.conf.template hardcores python paths:
WSGIImportScript /usr/lib/python2.7/site-packages/kdcproxy/init.py
WSGIScriptAlias /KdcProxy /usr/lib/python2.7/site-packages/kdcproxy/init.py

ipa-4-3:

  • 813dde8ef15f2f16bb0b3451f2b96e16fbbe30ba ipaplatform: Move remaining user/group constants to ipaplatform.constants.
  • 13e9af3b6f85127645eee17f8fab0e8e60169a4b Use ODS_USER/ODS_GROUP in opendnssec_conf.template

master:

  • 2a2d63669d740396eabc6f46906b8625f001ad3c ipaplatform: Move remaining user/group constants to ipaplatform.constants.
  • f761051411a83dc15a97c53309cc08652a24d80a Use ODS_USER/ODS_GROUP in opendnssec_conf.template

master:

  • b793c9049ec1bf72eb7d3395e9221b229237171b Fix kdc.conf.template to use ipaplatform.paths.

ipa-4-3:

  • d09b8f05fdc3dbe8a5dde3e2c529fb62ea2a503c Fix kdc.conf.template to use ipaplatform.paths.

Metadata Update from @tbabej:
- Issue set to the milestone: FreeIPA 4.5 backlog

Fedora and RHEL bits have been sufficiently abstracted to support Debian and Ubuntu. I'm closing this bug as fixed. Please open a new bug if more work is needed.

Metadata Update from @cheimes:
- Issue close_status updated to: fixed

Metadata