On 03/23/2015 09:03 AM, Jan Cholasta wrote:

the attached patch contains a new PoC installer for httpd.

Design goals:

1) Make code related to any particular configuration change co-located,
be it install/uninstall/upgrade.

2) Get rid of code duplicates.

3) Use the same code path for install and upgrade.

4) Provide metadata for parameters from which option parsers etc. can be

5) Make installers plugable. This is not really apparent from the patch,
since it only implements installer for a single component, but I plan to
make the whole thing extensible by plugins.


1. In

-def install_http(config, auto_redirect):
+def install_http(config, http):

to me, it was not obvious whether `http` is an http instance or an http installer. I would prefer `installer` or `http_installer`. Distinguishing these two could be a good convention.

2. What is the reason for hard coding step numbers in output messages, e.g.:

+        if self.is_installer:
+            self.service.print_msg("  [6/16] configuring httpd")

Is it temporary for the POC? I look forward to the plugin support. Do you plan to allow adding a step in the plugin to an arbitrary place? It could invalidate these hardcoded strings.
Petr Vobornik

Manage your subscription for the Freeipa-devel mailing list:
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to