These notes apply to v2.3rc3 of 2017-12-10.
New Features
User Sync can now connect to Okta enterprise directories. Create an Okta configuration and use the new --connector okta
command-line argument to select that connector. See the docs for details.
There is a new command-line argument --connector
for specifying whether to get directory information via LDAP file, by reading a CSV file, or via the Okta connector. The default connector is ldap
. For CSV users, who formerly had to specify their input source with the --users
argument, this optional argument offers the chance to specify --users mapped
or --users group ...
(since the CSV input can be specified with --connector
). See the docs for details.
#292 You can now specify the log file name as well as the log file directory in your configuration file. The name is specified by giving a Python format string which, when applied to a Python datetime
value at the start of the run, produces the name of the log file. The default value of this string is backwards-compatible with prior User Sync behavior. See the docs for details.
#299 You can now use an invocation_defaults
section to specify desired values for command-line arguments in the main configuration file. This can make it a lot easier to repeat runs with a stable set of arguments, even when running interactively rather than from a script. The sample main configuration file specifies the configuration parameters to use as well as the syntax for specifying values. See the docs for full details.
Bug Fixes
#305 General issues with Okta connector.
#306 v2.2.2 crashes if country code not specified.
#314 invocation_defaults section should be optional.
#315 Can't specify --user-filter or other string-valued args.
Compatibility with Prior Versions
All configuration and command-line arguments accepted in prior releases work in this release. The --users file
argument is still accepted, and is equivalent to (although more limited than) specifying --connector csv
.
Known Issues
On the Win64 platform, there are very long pathnames embedded in the released build artifact user-sync.pex
, which will cause problems unless you are on Windows 10 and are either running Python 3.6 or have enabled long pathnames system-wide (as described in this Microsoft Dev Center article). To work around this issue on older platforms, set the PEX_ROOT
environment variable (as described in the docs here) to be a very short path (e.g., set PEX_ROOT=C:\pex
).
Each release on each platform is built with a specific version of Python. Typically this is the latest available for that platform (from the OS vendor, if they provide one, from python.org otherwise). In general, and especially on Windows, you should use the same Python to run User Sync as it was built with.
Additional Build Information
User Sync is now built with PyLDAP 2.4.45.
User Sync is now built with umapi_client 2.10. This allows mocking the UMAPI connection for use with a test framework. See the test_framework
directory in the source tree for more details.