diff options
Diffstat (limited to 'ipaserver/install')
-rw-r--r-- | ipaserver/install/replication.py | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/ipaserver/install/replication.py b/ipaserver/install/replication.py index 74685ef0f..3ac99e6bd 100644 --- a/ipaserver/install/replication.py +++ b/ipaserver/install/replication.py @@ -673,7 +673,9 @@ class ReplicationManager(object): self.replica_config(conn, replica_id, repldn) self.setup_changelog(conn) - def setup_replication(self, r_hostname, r_port=389, r_sslport=636, r_binddn=None, r_bindpw=None, starttls=False): + def setup_replication(self, r_hostname, r_port=389, r_sslport=636, + r_binddn=None, r_bindpw=None, starttls=False, + is_cs_replica=False): # note - there appears to be a bug in python-ldap - it does not # allow connections using two different CA certs if starttls: @@ -698,14 +700,22 @@ class ReplicationManager(object): self.basic_replication_setup(r_conn, r_id, self.repl_man_dn, self.repl_man_passwd) - self.setup_agreement(r_conn, self.conn.host, port=r_port, - repl_man_dn=self.repl_man_dn, - repl_man_passwd=self.repl_man_passwd, - master=True) - self.setup_agreement(self.conn, r_hostname, port=r_port, - repl_man_dn=self.repl_man_dn, - repl_man_passwd=self.repl_man_passwd, - master=False) + if is_cs_replica: + self.setup_agreement(r_conn, self.conn.host, port=r_port, + repl_man_dn=self.repl_man_dn, + repl_man_passwd=self.repl_man_passwd, + master=True) + self.setup_agreement(self.conn, r_hostname, port=r_port, + repl_man_dn=self.repl_man_dn, + repl_man_passwd=self.repl_man_passwd, + master=False) + else: + self.setup_agreement(r_conn, self.conn.host, port=r_port, + repl_man_dn=self.repl_man_dn, + repl_man_passwd=self.repl_man_passwd) + self.setup_agreement(self.conn, r_hostname, port=r_port, + repl_man_dn=self.repl_man_dn, + repl_man_passwd=self.repl_man_passwd) #Finally start replication ret = self.start_replication(r_conn, master=True) |