summaryrefslogtreecommitdiff
path: root/source4/scripting/python/samba/provision.py
AgeCommit message (Collapse)AuthorFilesLines
2009-09-07s4: Exceptions in "provision.py"Michael Ströder1-11/+15
This looks much nicer than "normal" string exceptions - and fits better in the OO programming style.
2009-09-07s4:Foreign security principals - Fix them upMatthias Dieter Wallnöfer1-19/+0
I fixed them up to match with Windows Server 2003. I don't think that the creation of them in the provision script is needed so I put them in the "provision_users.ldif" file.
2009-09-07s4:provision - Change the module order to match Windows ServerMatthias Dieter Wallnöfer1-1/+1
Tests show that Windows Server seems to do the access checks on the very last moment.
2009-09-07s4:samldb - Major reworkMatthias Dieter Wallnöfer1-32/+0
This fixes up the change of the primary group of a user when using the ADUC console: - When the "primaryGroupId" attribute changes, we have to delete the "member"/"memberOf" attribute reference of the new primary group and add one for the old primary group. - Deny deletion of primary groups according to Windows Server (so we cannot have invalid "primaryGroupID" attributes in our AD). - We cannot add a primary group directly before it isn't a secondary one of a user account. - We cannot add a secondary reference ("member" attribute) when the group has been chosen as primary one. This also removes the LDB templates which are basically overhead now. This should also fix bug #6599.
2009-09-07s4:setup: Use ms_display_specifiers script for provision.Andrew Kroeger1-2/+5
Changed the provisioning to use the new script to parse the Microsoft-provided DisplaySpecifiers LDIF file.
2009-09-03allow setting of the debug level in python from CAndrew Tridgell1-1/+3
2009-09-02repl_meta_data should only be included when we are a DCAndrew Tridgell1-1/+1
2009-09-02move the repl_meta_data module up the ldb module stackAndrew Tridgell1-1/+2
The repl_meta_data module needs to be above the linked_attributes module, to allow linked_attributes to do its magic
2009-08-28s4: Create helpers functions related to provisionMatthieu Patou1-17/+34
One for getting attributes with DN syntax, one for getting forward linked attributes and one for getting the list of partition
2009-08-26s4:provision Ensure that @OPTIONS is mirrored into each partitionAndrew Bartlett1-0/+4
The previous patches to the provision system cut down on the number of reconnects, and disabled the partition handling for part of the process. This means we lost the setting of @OPTIONS as a replicated attribute into the partitions. Andrew Bartlett
2009-08-26s4:provison Add prefixes to ldb using same code a later modify will useAndrew Bartlett1-5/+9
This allows us to test out the code that will do the modify of the prefixMap, and to provide the bindings that may assist a future upgrade script. Andrew Bartlett
2009-08-26s4:provision Only create references to our server DN after the self joinAndrew Bartlett1-0/+10
This will ensure that the GUID can be filled in correctly, and assist us to validate DN targets in the future. Andrew Bartlett
2009-08-17sigh - still not rightAndrew Tridgell1-5/+5
2009-08-17fixed up add_foreign againAndrew Tridgell1-7/+19
my last patch was not even close ... I'll leave abartlet to work out how to fix the test case
2009-08-17more fixups from provision changesAndrew Tridgell1-22/+10
Andrew, can you please check this? The idmap.setup_name_mapping tests look totally out of place here. I'm also not sure I captured your intention with the other changes
2009-08-17s4:provision Add comments to the provision scriptAndrew Bartlett1-1/+10
Hopefully this will explain a bit more whey things are done the way that they are done. Andrew Bartlett
2009-08-17s4:provision Avoid one more call to ltdb_reindexAndrew Bartlett1-3/+3
The Samba4 schema code (called via samdb.set_schema_from_ldb(schema.ldb)) manages the @ATTRIBUTES and @INDEXLIST records, so don't wipe them early. The chances are that we will not change them anyway. Andrew Bartlett
2009-08-17s4:provision Fix existing ldapi:// backend detection exceptionAndrew Bartlett1-1/+1
Found by Oliver Liebel <oliver@itc.li> Andrew Bartlett
2009-08-17s4:provision Make sure that we don't use Kerberos to our LDAP backendAndrew Bartlett1-1/+3
This makes no sense, and just causes trouble - we are aiming for DIGEST-MD5 or NTLM. Andrew Bartlett
2009-08-17s4:provison Print the LDAP backend admin username/passwordAndrew Bartlett1-6/+14
2009-08-17s4: Re-add --ldapadminpass as an option to provisionAndrew Bartlett1-5/+9
This should make setting up LDAP servers more predictable. When not specified, it is random Andrew Bartlett
2009-08-17s4:provision Keep a single transaction for the erase and rebuildAndrew Bartlett1-15/+6
Using a single transaction to both erase the bulk of the data and the rebuild of that data means that the in-memory index list is maintained, and not written out to disk until it is all compleated. All the writes then occour at the end. Andrew Bartlett
2009-08-17s4:provision Rework provision-backend into provisionAndrew Bartlett1-618/+558
This removes a *lot* of duplicated code and the cause of much administrator frustration. We now handle starting and stopping the slapd (at least for the provision), and ensure that there is only one 'right' way to configure the OpenLDAP and Fedora DS backend We now run OpenLDAP in 'cn=config' mode for online configuration. To test what was the provision-backend code, a new --ldap-dryrun-mode option has been added to provision. It quits the provision just before it would start the LDAP binaries Andrew Bartlett
2009-08-12s4:provision Allow provision-backend to not run slapd for 'make test'Andrew Bartlett1-22/+23
As the version of OpenLDAP required for Samba4 is fairly new, we don't want to make it a requirement before this python code is run in 'make test'. As such, skip over the actual starting of slapd, but check the rest runs alright (which still validates syntax and other modules). Andrew Bartlett
2009-08-12s4:provision Make the --ol-slapd paramter take the full path to slapdAndrew Bartlett1-2/+1
2009-08-12s4:provision Rework and further automate setup of OpenLDAP backendOliver Liebel1-35/+191
heres the summary of all changes/extensions: - Andrew Bartlett's patch to generate indext - Howard Chu's idea to use nosync on the DB included, but made optional - slaptest-path is not needed any more (slapd -Ttest is used instead) and is therefore removed. slapd-path is now recommended when openldap-backend is chosen. its also used for olc-conversion - slapd-detection is now always done by ldapsearch (ldb module), looking anonymous for objectClass: OpenLDAProotDSE via our ldapi_uri. - if ldapsearch was not successfull, (no slapd listening on our socket) slapd is started via special generated slapdcommand_prov (ldapi_uri only) - slapd-"provision-process" startup is done via pythons subprocess. - the slapd-provision-pid is stored under paths.ldapdir/slapd_provision_pid. - after provision-backend is finished: --- slapd.pid is compared with our stored slapd_provision_pid. if the are unique, slapd.pid will be read out, and the slapd "provison"-process will be shut down. --- proper slapd-shutdown is verified again with ldb-search -> ldapi_uri -> rootDSE. --- if the pids are different or one of the pid-files is missing, slapd will not be shut down, instead an error message is displayed to locate slapd manually --- extended help-messages (relevant to slapd) are always displayed, e.g. the commandline with which slapd has to be started when everythings finished (slapd-commandline is stored under paths.ldapdir/slapd_command_file.txt)) - upgraded the content of the mini-howto (howto-ol-backend-s4.txt)
2009-07-19Remove unnecessary imports.Jelmer Vernooij1-3/+2
2009-07-16s4:dsdb Handle dc/domain/forest functional levels properlyAndrew Bartlett1-5/+19
Rather than have the functional levels scattered in 4 different, unconnected locations, the provision script now sets it, and the rootdse module maintains it's copy only as a cached view onto the original values. We also use the functional level to determine if we should store AES Kerberos keys. Andrew Bartlett
2009-04-03s4:schema Update Windows 2008 schema from Microsoft to latest versionAndrew Bartlett1-2/+2
2009-03-31Merge branch 'master' into wspp-schemaAndrew Tridgell1-1/+1
2009-03-21s4/provision: Use existing serverrole variable.Matthias Dieter Wallnoefer1-1/+1
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2009-03-11s4:provision load_schema in provision.py no longer takes a hostnameAndrew Bartlett1-2/+1
This was missed in the earlier work to use this in provision-backend Andrew Bartlett
2009-03-06Load the schema for provision-backend in a transactionAndrew Bartlett1-18/+24
Loading data in a transaction is faster than without. Andrew Bartlett
2009-03-05Remove ad2oLschema, insted call it directly from provision-backendAndrew Bartlett1-12/+10
This removes a level of indirection via external binaries in the provision-backend code, and also makes better use of our internal code for loading schema from an LDIF file. Remaining to do: Sort the output again, as the load from LDIF is unsorted (also needed because the normal LDB load from sorted input is too slow anyway, and is only needed here). Andrew Bartlett
2009-03-05Merge branch 'master' of ssh://git.samba.org/data/git/samba into wspp-schemaAndrew Bartlett1-3/+4
2009-03-04Don't print the admin password if we don't set one.Andrew Bartlett1-1/+2
For example, if we don't create the admin user (perhaps expecting users to be in LDAP already, or we are due an incoming replication) we should not confuse the administrator by printing a unused password. Andrew Bartlett
2009-02-25Merge branch 'master' of ssh://git.samba.org/data/git/sambaJelmer Vernooij1-16/+109
Conflicts: source4/scripting/python/samba/provision.py
2009-02-25Add the new, updated AD schema file from MicrosoftAndrew Bartlett1-2/+2
Also remove the copy of the licence text from licence.txt, to ensure we don't get variations between the copies. Andrew Bartlett
2009-02-25Don't parse the schema data twiceAndrew Bartlett1-12/+8
2009-02-25Create schema.ldif at runtime directly from ad-schema filesSreepathi Pai1-5/+25
Here's a first attempt at moving the minschema_wspp code into a library as Andrew requested. Since this script no longer has to generate CN=aggregate, I've simplified it quite a bit to a level where it almost does a line-by-line translation. This is faster and simpler, but it may not catch as many errors in the ad-schema files as the previous versions did. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-02-25Updates to the recent cn=config support for the OpenLDAP backendOliver Liebel1-18/+6
- removed workaround for olcSyncprovConfig - creation (works perfect now with 2.4.15, release was today) - added 1 message-helpline, which is displayed when running provision-backend with olc and/or mmr setup - corrected 1 wrong slapcommand-helpline - slapd.conf is removed now in case of olc-setup - added 1 copyright-line to provision.py and provision-backend Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-02-24Added mmr and olc to the OpenLDAP backend provisioning-scriptsOliver Liebel1-41/+146
These extensions add mmr (multi-master-replication) and olc (openldap-online-configuration) capabilities to the provisioning-scripts (provision-backend and provision.py), for use with the openldap-backend (only versions >=2.4.15!). Changes / additions made to the provision-backend -script: added new command-line-options: --ol-mmr-urls=<list of whitespace separated ldap-urls> for use with mmr (can be combined with --ol-olc=yes), --ol-olc=[yes/no] (activate automatic conversion from static slapd.conf to olc), --ol-slaptest=<path to slaptest binary> (needed in conjunction with --ol-olc=yes) Changes / additions made to the provision.py -script: added extensions, that will automatically generate the chosen mmr and/or olc setup for the openldap backend, according to the to chosen parameters set in the provision-backend script Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-02-24expand tabs in python file, consistent with the rest of the file.Jelmer Vernooij1-39/+39
2009-02-24Fix finding of setup data.Jelmer Vernooij1-1/+1
2009-02-18paper over failure to reprovision with os.unlink()Andrew Bartlett1-1/+2
We need to figure out why the deletes on the database fail, but for now doing an unlink of templates_tdb isn't too bad. Andrew Bartlett
2009-02-11Catch specific exceptions, rather than catching everything, which might hide ↵Jelmer Vernooij1-3/+3
other exceptions silently.
2009-02-11Use convenience function for finding setup_dir based on location ofJelmer Vernooij1-0/+17
python module.
2009-02-11Move some samdb-specific code out of provision.Jelmer Vernooij1-6/+2
2009-01-19Make sure server_role gets initialized in backend provisioning code -Jelmer Vernooij1-1/+17
fixes test.
2009-01-19Print more useful suggestion for the main provision command lineAndrew Bartlett1-1/+1