Commit Graph
834 Commits
Author SHA1 Message Date
Martin Kosek 6fbe0e86e9 Replica installation fails for self-signed server
When IPA server was configured as self-signed (--selfsign option)
the replica always failed to install.

https://fedorahosted.org/freeipa/ticket/1122
2011-03-30 10:00:13 -04:00
Rob Crittenden ca5332951c Automatically update IPA LDAP on rpm upgrades
Re-enable ldapi code in ipa-ldap-updater and remove the searchbase
restriction when run in --upgrade mode. This allows us to autobind
giving root Directory Manager powers.

This also:
 * corrects the ipa-ldap-updater man page
 * remove automatic --realm, --server, --domain options
 * handle upgrade errors properly
 * saves a copy of dse.ldif before we change it so it can be recovered
 * fixes an error discovered by pylint

ticket 1087
2011-03-21 13:23:53 -04:00
Rob Crittenden 861d1bbdca Fix SELinux errors caused by enabling TLS on dogtag 389-ds instance.
This fixes 2 AVCS:

* One because we are enabling port 7390 because an SSL port must be
  defined to use TLS On 7389.
* We were symlinking to the main IPA 389-ds NSS certificate databsae.
  Instead generate a separate NSS database and certificate and have
  certmonger track it separately

I also noticed some variable inconsistency in cainstance.py. Everywhere
else we use self.fqdn and that was using self.host_name. I found it
confusing so I fixed it.

ticket 1085
2011-03-15 14:09:57 -04:00
Rob Crittenden 9dfb0f05b0 Use TLS for dogtag replication agreements.
Configure the dogtag 389-ds instance with SSL so we can enable TLS
for the dogtag replication agreements. The NSS database we use is a
symbolic link to the IPA 389-ds instance.

ticket 1060
2011-03-10 09:57:36 -05:00
Rob Crittenden 8c50ea3da3 chkconfig the ipa service off when it is uninstalled.
ticket 1056
2011-03-08 10:23:10 -05:00
Martin Kosek 46221e57bf Improve error handling and return status codes in ipactl
There are cases when ipactl returns success even when it fails. Plus,
when the error really is detected the status codes are not LSB
compliant. This may result in consequent issues.

This patch improves error handling in ipactl and adds LSB compliant
status codes. Namely:

0   program is running or service is OK
3   program is not running
4   program or service status is unknown

for "status" action. Status code 4 is issued when IPA is not
configured to distinguish this state from not running IPA.

For other actions, the following non-zero status codes are
implemented:

1   generic or unspecified error
2   invalid or excess argument(s)
4   user had insufficient privilege
6   program is not configured

https://fedorahosted.org/freeipa/ticket/1055
2011-03-07 18:16:48 -05:00
Rob Crittenden c0ecdd1395 Skip DNS validation checks if we're setting up DNS in ipa-server-install.
If we're going to be authoritative ourselves don't bother with what
other DNS servers think.

ticket 1036
2011-03-04 11:05:40 -05:00
Pavel Zuna 64575a411b Use ldapi: instead of unsecured ldap: in ipa core tools.
The patch also corrects exception handling in some of the tools.

Fix #874
2011-03-03 14:04:34 -05:00
Rob Crittenden f69dc03f07 Need to restart the dogtag 388-ds instance before using it.
Restart the 389-ds instance to ensure all schema is loaded that
dogtag may have installed as files.

According to bug
https://bugzilla.redhat.com/show_bug.cgi?id=680984 this it is only needed
on clones.

ticket 1024
2011-03-03 11:02:03 -05:00
Martin Kosek f785af4efe Inconsistent sysrestore file handling by IPA server installer
IPA server/replica uninstallation may fail when it tries to restore
a Directory server configuration file in sysrestore directory, which
was already restored before.

The problem is in Directory Server uninstaller which uses and modifies
its own image of sysrestore directory state instead of using the
common uninstaller image.

https://fedorahosted.org/freeipa/ticket/1026
2011-03-03 11:02:02 -05:00
Martin Kosek 5a9a9723de IPA replica/server install does not check for a client
When IPA replica or server is configured it does not check for
possibly installed client. This will cause the installation to
fail in the very end.

This patch adds a check for already configured client and suggests
removing it before server/replica installation.

https://fedorahosted.org/freeipa/ticket/1002
2011-03-03 10:20:39 -05:00
Simo Sorce 54b2627018 Store list of non-master replicas in DIT and provide way to list them
Fixes: https://fedorahosted.org/freeipa/ticket/1007
2011-03-02 09:46:46 -05:00
Simo Sorce 2028695d88 Use wrapper for sasl gssapi binds so it behaves like other binds
By calling directly sasl_interactive_bind_s() we were not calling __lateinit()
This in turn resulted in some variables like dbdir not to be set on the
IPAadmin object.
Keep all bind types in the same place so the same common sbind steps can be
performed in each case.

Related to: https://fedorahosted.org/freeipa/ticket/1022
2011-03-01 11:02:55 -05:00
Jan Zeleny b26e265961 Fixed in ipa-server-install help and man page
https://fedorahosted.org/freeipa/ticket/831
2011-02-18 10:00:48 -05:00
Jakub Hrozek 57b36ae65d Note --ip-address parameter of ipa-replica-prepare in man page
https://fedorahosted.org/freeipa/ticket/615
2011-02-15 15:42:27 -05:00
Rob Crittenden aab27a76e2 Require ipactl be run as root to avoid a lot of misleading error msgs.
Trying to run ipactl as non-root results in a slew of bogus
error messages, some of which come because dirsrv can't read certain
files as the wrong user, some based on our handling of that fact.

ticket 936
2011-02-15 14:21:08 -05:00
Rob Crittenden 16b8d62968 Fix two problems with ipa-replica-prepare
1. Fix a unicode() problem creating the DNS entries
2. Fix a strange NSS error when generating the certificates against
   a dogtag server.

The NSS errors are quite strange. When generating the first certificate
nss_shutdown() fails because the database isn't initialized yet but
nss_is_initialized() returned True. The second pass fails because
something is in use.
2011-02-14 18:15:35 -05:00
Rob Crittenden 76f2d2eac2 Handle bad DM password in ipa-host-net-manage & ipa-copmat-manage.
This was resulting in a traceback because while conn was not None
it wasn't connected either.

ticket 920
2011-02-14 10:13:52 -05:00
Martin Kosek 30fdafcfbe ipa-dns-install does not exit on error
This patch fixes behavior of ipa-dns-install, which does not
exit when an invalid configuration of /etc/hosts is detected.

https://fedorahosted.org/freeipa/ticket/736
2011-02-11 10:34:03 -05:00
Martin Kosek fb751686a1 Fix return codes for ipactl
This patch fixes ipactl to return non-zero value when something
goes wrong.

https://fedorahosted.org/freeipa/ticket/894
2011-02-10 13:59:03 -05:00
Rob Crittenden b77046d550 Disable replication version plugin by default.
The 389-ds replication plugin may not be installed on all platforms
and our replication version plugin will cause 389-ds to not start
if it is loaded and the replication plugin is not. So disable by
default.

When a replica is prepared we check for the replication plugin.
If it exists we will enable the replication version plugin.

Likewise on installation of a replica we check for existence of
the repliation plugin and if it is there then we enable the version
plugin before replication begins.

ticket 918
2011-02-10 13:54:39 -05:00
Rob Crittenden 9b73da1d54 Refresh state data before removing the dirsrv user, fixes uninstall.
The state is read only at initialization time. This works ok when
individual services remove their state data but when worked upon again
at the top-level it still has the full state in memory, so when the
state file is re-written all of the data that was removed is re-added.

ticket 916
2011-02-07 14:41:05 -05:00
Martin Kosek 4880598fbd ipa-server-install inconsistent capitalization
A cosmetic patch to IPA server installation output aimed to make
capitalization in installer output consistent. Several installation
tasks started with a lowercase letter and several installation
task steps started with an uppercase letter.

https://fedorahosted.org/freeipa/ticket/776
2011-02-03 10:34:01 -05:00
Rob Crittenden 275998f6bd Add support for tracking and counting entitlements
Adds a plugin, entitle, to register to the entitlement server, consume
entitlements and to count and track them. It is also possible to
import an entitlement certificate (if for example the remote entitlement
server is unaviailable).

This uses the candlepin server from https://fedorahosted.org/candlepin/wiki
for entitlements.

Add a cron job to validate the entitlement status and syslog the results.

tickets 28, 79, 278
2011-02-02 10:00:38 -05:00
Rob Crittenden f3d04bfc40 Fix installing with an external CA and wait for dogtag to come up
There wasn't an exception in the "is the server already installed"
check for a two-stage CA installation.

Made the installer slightly more robust. We create a cache file of
answers so the next run won't ask all the questions again. This cache
is removed when the installation is complete. Previously nothing would work
if the installer was run more than once, this should be fixed now.
The cache is encrypted using the DM password.

The second problem is that the tomcat6 init script returns control
before the web apps are up. Add a small loop in our restart method
to wait for the 9180 port to be available.

This also adds an additional restart to ensure that nonces are disabled.

ticket 835

revise
2011-02-01 17:52:57 -05:00
Simo Sorce 5c6232e24d Force sync in both direction before changing replication agreements
Fixes: https://fedorahosted.org/freeipa/ticket/887
2011-02-01 13:49:41 -05:00
Jakub Hrozek 0dce1bc9e1 Add an address for a nameserver when a new zone is created during install
https://fedorahosted.org/freeipa/ticket/881
2011-01-31 22:15:45 -05:00
Simo Sorce cc9abf5d38 Use a common group for all DS instances
Also remove the option to choose a user.
It is silly to keep it, when you can't choose the group nor the CA
directory user.

Fixes: https://fedorahosted.org/freeipa/ticket/851
2011-01-31 16:35:53 -05:00
Rob Crittenden 359d54e741 Don't perform some API self-tests in production mode for performance reasons
The API does a fair number of self tests and locking to assure that the
registered commands are consistent and will work. This does not need
to be done on a production system and adds additional overhead causing
somewhere between a 30 and 50% decrease in performance.

Because makeapi is executed when a build is done ensure that it is
executed in developer mode to ensure that the framework is ok.

ticket 751
2011-01-28 18:49:17 -05:00
Simo Sorce 3cb33d74ae Make sure all DS instances are managed by ipactl
Fixes: https://fedorahosted.org/freeipa/ticket/860
2011-01-27 17:49:30 -05:00
Jakub Hrozek ab2ca8022e Fix assorted bugs found by pylint 2011-01-25 14:01:36 -05:00
Simo Sorce 34cedfe138 Create DNS records as early as possible
Fixes: https://fedorahosted.org/freeipa/ticket/833
2011-01-25 14:01:35 -05:00
Simo Sorce cec3978c79 Always add DNS records when installing a replica
Even if the replica is not running a DNS server other replicas might.
So if the DNS container is present, then try to add DNS records.

Fixes: https://fedorahosted.org/freeipa/ticket/824
2011-01-25 14:01:35 -05:00
Simo Sorce 5bc7e5a9c7 Populate shared tree with replica related values
Fixes: https://fedorahosted.org/freeipa/ticket/820
2011-01-25 11:10:27 -05:00
Simo Sorce 35b3d6b3be Make the -u option optional in unattended mode
Fixes: https://fedorahosted.org/freeipa/ticket/836
2011-01-24 16:45:43 -05:00
Simo Sorce e72815771e Remove trailing space 2011-01-24 14:50:50 -05:00
Simo Sorce 861aa9c1b8 Allow SASL/EXTERNAL authentication for the root user
This gives the root user low privileges so that when anonymous searches are
denied the init scripts can still search the directory via ldapi to get the
list of serevices to start.

Fixes: https://fedorahosted.org/freeipa/ticket/795
2011-01-20 15:49:30 -05:00
Simo Sorce 244239e27e Let ipactl output errors to stderr
Init scripts normally do not log to syslog, instead they write errors to the
stderr pipe. Do the same.
2011-01-18 10:04:29 -05:00
Simo Sorce 373455026e Add a way to print output from commands
Instead pof always capturing the output, make it possible to let
it go to the standard output pipes.
Use this in ipactl to let init scripts show their output.

Fixes: https://fedorahosted.org/freeipa/ticket/765
2011-01-18 10:04:19 -05:00
Rob Crittenden d7bd9138c8 Execute /usr/bin/python directly instead of /usr/bin/env python
ticket 608
2011-01-14 16:27:48 -05:00
Simo Sorce cfa23b1c2a Allow using Kerberos credentials with the 'connect' command
Now that we can setup GSSAPI authenticated replication we are not
tied to use the Directory Manager password to set up replication
agreements.

Fixes: https://fedorahosted.org/freeipa/ticket/644
2011-01-14 14:06:56 -05:00
Simo Sorce a0bfbec19f Use GSSAPI for replication
Uses a temporary simple replication agreement over SSL to init the tree.
Then once all principals have been created switches replication to GSSAPI.

Fixes: https://fedorahosted.org/freeipa/ticket/690
2011-01-14 14:06:56 -05:00
Simo Sorce 05055870c9 Remove port argument for ipa-replica-manage
We can't use arbitrary ports anyway. And neither AD has any way to use non
stadard ports. So remove this unnecessary option.
2011-01-14 14:06:56 -05:00
Simo Sorce 343ab382a5 Remove unused random password in replica install script 2011-01-14 14:06:56 -05:00
Simo Sorce 2255479ef0 Refactor some replication code
This simplifies or rationalizes some code in order to make it easier to change
it to fix bug #690
2011-01-14 14:06:56 -05:00
Rob Crittenden 06179dc105 Exit if a DNS A or AAAA record doesn't exist for the replica we are preparing.
Without this it is possible to prepare a replica for a host that doesn't
exist in DNS. The result when this replica file is installed is that
replication will fail because the master won't be able to communicate
to the replica by name.

ticket 680
2011-01-11 10:22:33 -05:00
Rob Crittenden 2dac03d7d5 Ship the ipa-dns-install man page
ticket 734
2011-01-10 10:38:46 -05:00
Jakub Hrozek 9232a47877 Create the reverse zone by default
A new option to specify reverse zone creation for unattended installs

https://fedorahosted.org/freeipa/ticket/678
2011-01-07 05:05:54 -05:00
Simo Sorce 21bf175e0c Allow ipa-dns-install to install with just admin credentials
Do this by creating a common way to attach to the ldap server for each
instance.

Fixes: https://fedorahosted.org/freeipa/ticket/686
2011-01-07 04:54:17 -05:00
Simo Sorce 56f000e9a9 Allow ipa-dns-install to configure DNS on a replica.
Fixes: https://fedorahosted.org/freeipa/ticket/645
2011-01-07 04:53:50 -05:00