This changes the MMR password from hard-coded value of 'linux',
adds tests and fixes the Fedora DS backend.
Currently the MMR password matches the admin password, but we can
change this to be another random value if required.
Also require the port to be specified on the command line, so we don't
hard-code a port of 9000.
Andrew Bartlett
(This used to be commit
08257c6d6ce809fcd53f9b2b4d558fef616b74ce)
paths.memberofconf = os.path.join(paths.ldapdir,
"memberof.conf")
paths.fedoradsinf = os.path.join(paths.ldapdir,
paths.memberofconf = os.path.join(paths.ldapdir,
"memberof.conf")
paths.fedoradsinf = os.path.join(paths.ldapdir,
+ "fedorads.inf")
+ paths.fedoradspartitions = os.path.join(paths.ldapdir,
+ "fedorads-partitions.ldif")
paths.olmmrserveridsconf = os.path.join(paths.ldapdir,
paths.olmmrserveridsconf = os.path.join(paths.ldapdir,
paths.olmmrsyncreplconf = os.path.join(paths.ldapdir,
paths.olmmrsyncreplconf = os.path.join(paths.ldapdir,
- "mmr_syncrepl.conf")
- paths.olmmron = os.path.join(paths.ldapdir,
- "mmr_on.conf")
paths.hklm = "hklm.ldb"
paths.hkcr = "hkcr.ldb"
paths.hkcu = "hkcu.ldb"
paths.hklm = "hklm.ldb"
paths.hkcr = "hkcr.ldb"
paths.hkcu = "hkcu.ldb"
rootdn=None, domaindn=None, schemadn=None, configdn=None,
domain=None, hostname=None, adminpass=None, root=None, serverrole=None,
ldap_backend_type=None, ldap_backend_port=None,
rootdn=None, domaindn=None, schemadn=None, configdn=None,
domain=None, hostname=None, adminpass=None, root=None, serverrole=None,
ldap_backend_type=None, ldap_backend_port=None,
- ol_mmr_urls=None, mmr_serverids_config=None, mmr_on_config=None,
- mmr_syncrepl_schema_config=None,
- mmr_syncrepl_config_config=None,
- mmr_syncrepl_user_config=None ):
def setup_path(file):
return os.path.join(setup_dir, file)
def setup_path(file):
return os.path.join(setup_dir, file)
refint_config = read_and_sub_file(setup_path("refint.conf"),
{ "LINK_ATTRS" : refint_attributes})
refint_config = read_and_sub_file(setup_path("refint.conf"),
{ "LINK_ATTRS" : refint_attributes})
-########################################################
-### generate serverids and ldap-urls for mmr hosts ###
-########################################################
-
- mmr_on_config = " "
- mmr_serverids_config = " "
-
+# generate serverids, ldap-urls and syncrepl-blocks for mmr hosts
+ mmr_on_config = ""
+ mmr_serverids_config = ""
+ mmr_syncrepl_schema_config = ""
+ mmr_syncrepl_config_config = ""
+ mmr_syncrepl_user_config = ""
+
if ol_mmr_urls is not None:
if ol_mmr_urls is not None:
- mmr_hosts=ol_mmr_urls
- mmr_hosts=filter(None,mmr_hosts.split(' '))
+ mmr_hosts=filter(None,ol_mmr_urls.split(' '))
+ if (len(mmr_hosts) == 1):
+ mmr_hosts=filter(None,ol_mmr_urls.split(','))
+
+
+ mmr_on_config = "MirrorMode On"
- mmr_serverids_config = "# Generated from template mmr_serverids.conf\n"
z=0
for i in mmr_hosts:
z=z+1
mmr_serverids_config += read_and_sub_file(setup_path("mmr_serverids.conf"),
{ "SERVERID" : str(z),
"LDAPSERVER" : i })
z=0
for i in mmr_hosts:
z=z+1
mmr_serverids_config += read_and_sub_file(setup_path("mmr_serverids.conf"),
{ "SERVERID" : str(z),
"LDAPSERVER" : i })
- mmr_on_config = "MirrorMode On"
-
-########################################################
-### generate syncrepl-blocks for mmr hosts ###
-########################################################
- mmr_syncrepl_schema_config = " "
- mmr_syncrepl_config_config = " "
- mmr_syncrepl_user_config = " "
-
- if ol_mmr_urls is not None:
- mmr_hosts=ol_mmr_urls
- mmr_hosts=filter(None,mmr_hosts.split(' '))
- mmr_syncrepl_schema_config = "# Generated from template mmr_syncrepl.conf\n"
- mmr_syncrepl_config_config = "# Generated from template mmr_syncrepl.conf\n"
- mmr_syncrepl_user_config = "# Generated from template mmr_syncrepl.conf\n"
- z=0
- for i in mmr_hosts:
z=z+1
mmr_syncrepl_schema_config += read_and_sub_file(setup_path("mmr_syncrepl.conf"),
{ "RID" : str(z),
"MMRDN": names.schemadn,
z=z+1
mmr_syncrepl_schema_config += read_and_sub_file(setup_path("mmr_syncrepl.conf"),
{ "RID" : str(z),
"MMRDN": names.schemadn,
+ "LDAPSERVER" : i,
+ "MMR_PASSWORD": adminpass})
z=z+1
mmr_syncrepl_config_config += read_and_sub_file(setup_path("mmr_syncrepl.conf"),
{ "RID" : str(z),
"MMRDN": names.configdn,
z=z+1
mmr_syncrepl_config_config += read_and_sub_file(setup_path("mmr_syncrepl.conf"),
{ "RID" : str(z),
"MMRDN": names.configdn,
+ "LDAPSERVER" : i,
+ "MMR_PASSWORD": adminpass})
z=z+1
mmr_syncrepl_user_config += read_and_sub_file(setup_path("mmr_syncrepl.conf"),
{ "RID" : str(z),
"MMRDN": names.domaindn,
z=z+1
mmr_syncrepl_user_config += read_and_sub_file(setup_path("mmr_syncrepl.conf"),
{ "RID" : str(z),
"MMRDN": names.domaindn,
+ "LDAPSERVER" : i,
+ "MMR_PASSWORD": adminpass })
setup_file(setup_path("slapd.conf"), paths.slapdconf,
setup_file(setup_path("slapd.conf"), paths.slapdconf,
"MMR_SYNCREPL_SCHEMA_CONFIG": mmr_syncrepl_schema_config,
"MMR_SYNCREPL_CONFIG_CONFIG": mmr_syncrepl_config_config,
"MMR_SYNCREPL_USER_CONFIG": mmr_syncrepl_user_config,
"MMR_SYNCREPL_SCHEMA_CONFIG": mmr_syncrepl_schema_config,
"MMR_SYNCREPL_CONFIG_CONFIG": mmr_syncrepl_config_config,
"MMR_SYNCREPL_USER_CONFIG": mmr_syncrepl_user_config,
+ "MMR_PASSWORD": adminpass,
"REFINT_CONFIG": refint_config})
setup_file(setup_path("modules.conf"), paths.modulesconf,
{"REALM": names.realm})
"REFINT_CONFIG": refint_config})
setup_file(setup_path("modules.conf"), paths.modulesconf,
{"REALM": names.realm})
-ServerID ${SERVERID} "${LDAPSERVER}:9000"
+# Generated from template mmr_serverids.conf
+ServerID ${SERVERID} "${LDAPSERVER}"
+# Generated from template mmr_syncrepl.conf
+
- provider="${LDAPSERVER}:9000"
+ provider="${LDAPSERVER}"
searchbase="${MMRDN}"
type=refreshAndPersist
retry="10 +"
bindmethod=simple
binddn="CN=Manager,${MMRDN}"
searchbase="${MMRDN}"
type=refreshAndPersist
retry="10 +"
bindmethod=simple
binddn="CN=Manager,${MMRDN}"
+ credentials="${MMR_PASSWORD}"
database hdb
suffix ${SCHEMADN}
rootdn cn=Manager,${SCHEMADN}
database hdb
suffix ${SCHEMADN}
rootdn cn=Manager,${SCHEMADN}
+rootpw "${MMR_PASSWORD}"
directory ${LDAPDIR}/db/schema
index objectClass eq
index samAccountName eq
directory ${LDAPDIR}/db/schema
index objectClass eq
index samAccountName eq
database hdb
suffix ${CONFIGDN}
rootdn cn=Manager,${CONFIGDN}
database hdb
suffix ${CONFIGDN}
rootdn cn=Manager,${CONFIGDN}
+rootpw "${MMR_PASSWORD}"
directory ${LDAPDIR}/db/config
index objectClass eq
index samAccountName eq
directory ${LDAPDIR}/db/config
index objectClass eq
index samAccountName eq
database hdb
suffix ${DOMAINDN}
rootdn cn=Manager,${DOMAINDN}
database hdb
suffix ${DOMAINDN}
rootdn cn=Manager,${DOMAINDN}
+rootpw "${MMR_PASSWORD}"
directory ${LDAPDIR}/db/user
index objectClass eq
index samAccountName eq
directory ${LDAPDIR}/db/user
index objectClass eq
index samAccountName eq
. `dirname $0`/../../../testprogs/blackbox/subunit.sh
testit "openldap-backend" $PYTHON ./setup/provision-backend --domain=FOO --realm=foo.example.com --host-name=samba --ldap-backend-type=openldap --targetdir=$PREFIX/openldap-backend
. `dirname $0`/../../../testprogs/blackbox/subunit.sh
testit "openldap-backend" $PYTHON ./setup/provision-backend --domain=FOO --realm=foo.example.com --host-name=samba --ldap-backend-type=openldap --targetdir=$PREFIX/openldap-backend
+testit "openldap-mmr-backend" $PYTHON ./setup/provision-backend --domain=FOO --realm=foo.example.com --host-name=samba --ldap-backend-type=openldap --targetdir=$PREFIX/openldap-mmr-backend --ol-mmr-urls='ldap://localdc1:9000,ldap://localdc2:9000,ldap://localdc3:9000'
testit "fedora-ds-backend" $PYTHON ./setup/provision-backend --domain=FOO --realm=foo.example.com --host-name=samba --ldap-backend-type=fedora-ds --targetdir=$PREFIX/fedora-ds-backend
reprovision() {
testit "fedora-ds-backend" $PYTHON ./setup/provision-backend --domain=FOO --realm=foo.example.com --host-name=samba --ldap-backend-type=fedora-ds --targetdir=$PREFIX/fedora-ds-backend
reprovision() {