Version 3.5
Major update that refreshes all Python dependencies and resolves older incompatibilities. Only needed when upgrading from a pre-3.5 version.
Breaking Changes
requirements.txt Split
The requirements file is now split into three files:
requirements.txt— everything needed to run the Syncerrequirements-extras.txt— optional modules (LDAP, MySQL, etc.)requirements-ansible.txt— everything needed for Ansible automations
Docker users: all modules are installed automatically.
Module Updates
Due to security fixes in upstream packages, all framework modules have been upgraded. After updating the Syncer code, run pip install -r requirements.txt again.
Inventory Prefix Change
Inventory value prefixes changed from single underscore to double underscore:
| Old prefix | New prefix |
|---|---|
cmk_ |
cmk__ |
cmk_svc_ |
cmk_svc__ |
csv_ |
csv__ |
Migration steps:
- Delete current inventory:
./cmdbsyncer sys delete_inventory - Re-run your inventories
- Update rules that reference inventory attributes to use the new prefix
Normal attributes from imports are not affected — only inventorized data.
Checkmk Create Tags
The function is now simpler: instead of specifying a foreach and referring to {{name}}, you can directly reference the attribute by name.
Attribute Values as Lists and Dicts
Attributes can now hold lists and dicts in addition to strings. Example: service: ['dns', 'dhcp'] can be used in Jinja as {{ service[0] }} or {% for svc in service %}.