summaryrefslogtreecommitdiffstats
path: root/ipaserver/advise/plugins
diff options
context:
space:
mode:
authorTomas Babej <tbabej@redhat.com>2013-06-10 14:43:24 +0200
committerMartin Kosek <mkosek@redhat.com>2013-07-17 13:49:59 +0200
commitc81849712f8888e6f12b7c2b7ebfcf5d2294addd (patch)
tree62a6975af7ea67686cc36c274da2431d8b720148 /ipaserver/advise/plugins
parent2a9be928556e58a69b7ce7a3b7f0aebd8f4c23bc (diff)
downloadfreeipa.git-c81849712f8888e6f12b7c2b7ebfcf5d2294addd.tar.gz
freeipa.git-c81849712f8888e6f12b7c2b7ebfcf5d2294addd.tar.xz
freeipa.git-c81849712f8888e6f12b7c2b7ebfcf5d2294addd.zip
Provide ipa-advise tool
Provides a pluggable framework for generating configuration scriptlets and instructions for various machine setups and use cases. Creates a new ipa-advise command, available to root user on the IPA server. Also provides an example configuration plugin, config-fedora-authconfig. https://fedorahosted.org/freeipa/ticket/3670
Diffstat (limited to 'ipaserver/advise/plugins')
-rw-r--r--ipaserver/advise/plugins/__init__.py22
-rw-r--r--ipaserver/advise/plugins/fedora_authconfig.py41
2 files changed, 63 insertions, 0 deletions
diff --git a/ipaserver/advise/plugins/__init__.py b/ipaserver/advise/plugins/__init__.py
new file mode 100644
index 00000000..2d561b41
--- /dev/null
+++ b/ipaserver/advise/plugins/__init__.py
@@ -0,0 +1,22 @@
+# Authors: Tomas Babej <tbabej@redhat.com>
+#
+# Copyright (C) 2013 Red Hat
+# see file 'COPYING' for use and warranty information
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+"""
+Provides a separate api for ipa-advise plugins.
+"""
diff --git a/ipaserver/advise/plugins/fedora_authconfig.py b/ipaserver/advise/plugins/fedora_authconfig.py
new file mode 100644
index 00000000..915877db
--- /dev/null
+++ b/ipaserver/advise/plugins/fedora_authconfig.py
@@ -0,0 +1,41 @@
+# Authors: Tomas Babej <tbabej@redhat.com>
+#
+# Copyright (C) 2013 Red Hat
+# see file 'COPYING' for use and warranty information
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+from ipalib import api
+from ipalib.frontend import Advice
+
+
+class config_fedora_authconfig(Advice):
+ """
+ Provides client configuration instructions using authconfig.
+ """
+
+ description = 'Authconfig instructions for configuring Fedora 18/19 '\
+ 'client with IPA server without use of SSSD.'
+
+ def get_info(self):
+ self.log.debug("Hostname obtained via api.env.host")
+ self.log.comment("Run the following command as a root:")
+ template = "/sbin/authconfig --enableldap --ldapserver={server} "\
+ "--enablerfc2307bis --enablekrb5"
+ advice = template.format(server=api.env.host)
+ self.log.command(advice)
+
+
+api.register(config_fedora_authconfig)