Cobbler Client written in Go.
Original authors:
- Container Solutions (2015)
- Joe Topjian (2017)
Adapted by hbokh (for Devhouse Spindle, 2020) to support Cobbler 3.x.
Cobbler (up to version 2.8.x) was written in Python2.
However, Python2 is EOL since January 2020.
Cobbler 3 has been adapted to use Python3 and so lots of code changed. Sadly this also broke
backward compatability with the original cobblerclient. Hence this fork.
Function read_or_write_kickstart_template was replaced with:
read_autoinstall_templatewrite_autoinstall_templateremove_autoinstall_template
Function read_or_write_snippet was replaced with:
read_autoinstall_snippetwrite_autoinstall_snippetremove_autoinstall_snippet
Template names used are now short names without a path.
So foo.ks instead of /var/lib/cobbler/kickstarts/foo.ks.
These attributes are renamed in Cobbler 3:
kickstarttoautoinstallks_metatoautoinstall_meta, but it is still used as a "legacy field"
These directories have been renamed:
/var/www/cobbler/ks_mirrorto/var/www/cobbler/distro_mirror/var/lib/cobbler/kickstartsto/var/lib/cobbler/templates
The storage locations for the json files changed from /var/lib/cobbler/config/{distros,profiles,systems,etc...}.d to /var/lib/cobbler/collections/{distros,profiles,systems,etc...}.
There is being worked on a script to migrate these: scripts/migrate-data-v2-to-v3.py.
These fields have been added:
boot_loader- must be eithergruborpxelinux
Support for these attributes was dropped in Cobbler 3:
ldap_enabledldap_typemonit_enabledredhat_management_server
- Make
terraform apply&terrafrom destroyat least work for the Spindle setup ("add systems"). - Fix outdated go tests (
go test -v ., also broken in origin repo). - Dive deeper into changed types for some fields (see COBBLER_FIELDS).