Closed
Description
The purpose of this issue is to document issues that I found during the validation of commit 3e81be5 as a potential candidate to receive the Cobbler 3.3.4 tag.
The validation was performed in libvirt with openSUSE Tumbleweed 20240209 with 4 cores, 4GB RAM and 30GB disk space. mange_dns
& manage_dhcp_v4
was enabled.
Test plan:
- Install via Repo (successful)
- Turn on DHCP & DNS management (successful)
- "cobbler import" (successful after Leap 15.5 patch)
- "cobbler reposync" --> Test skip, since openSUSE isn't supported for repo import
- "cobbler buildiso" --> Test skip, too much effort for the weekend
- "cobbler sync" (failed)
- "cobbler mkloaders" (successful)
- "cobbler validate-autoinstalls" (error)
- "cobbler version" (partly successful)
- "cobbler hardlink" (successful)
- "cobbler signature" (reload failed - more below)
- "cobbler report"/"cobbler list" (successful)
- Restarting the daemon (not attempted)
- Install a VM via PXE/GRUB (not attempted)
Problems:
- settings.yaml: Link to the docs for DNS is not working - [Backport] Docs: Fixup smaller issues #3612
- Docs: Section about DHCP & DNS are a subsection to Boot-CD (makes no sense) - [Backport] Docs: Fixup smaller issues #3612
- Docs: Sections about DHCP & DNS are not extensive enough - [Backport] Docs: Fixup smaller issues #3612
- scm_track: Bug after subprocess.call refactoring - [Backport] scm_track: Push script not working #3621 [Backport] [scm-track] Fix commit command #3591
- settings.yaml: Commented out Puppet Settings should be removed at the bottom and commented in - [Backport] Docs: Fixup smaller issues #3612
- settings.yaml: Create docstrings for Leftovers - [Backport] Docs: Fixup smaller issues #3612
- Docs: DNS no link to the upstream documentation of the servers - [Backport] Docs: Fixup smaller issues #3612
- "cobbler import" with incorrect path doesn't give a good error message
- Signatures: schema based handling instead of version based one
- Signatures: Leap & SLES 15.6 missing, as is SLE Micro - [Backport] Add SUSE signatures #3589
- "cobbler import": finds no repos with "openSUSE" based distros
- "cobbler import": No documentation about the list of allowed repo breeds (no openSUSE at the moment!) - [Backport] Docs: Fixup smaller issues #3612
- settings.yaml: Migration for 3.3.4 is missing! - Create Settings migration for Cobbler 3.3.4 and increase the version #3592
- BuildRequires for git missing - We have the requirement but didn't include the metadata for it to work (
package-meta
in_service
in the OBS). - Bash Completition crashes some situations - [Backport] Bash completion broken #3604
- "cobbler signature reload": Without arguments wrong default --> Also it is executed client side
- "cobbler validate-autoinstalls": Unhashable type Profile -
cobbler validate-autoinstalls
: Crashes with "Unhashable type Profile" #3597 - "cobbler sync": KeyError "bind_zonefiles" - [Backport] Exception occurred: <class 'KeyError'> while "cobbler sync" #3588
Bug Traces:
[2024-02-11_122905_validate_autoinstall_files] 2024-02-11T12:29:06 - INFO | Exception Info:
File "/usr/lib/python3.11/site-packages/cobbler/remote.py", line 103, in run
rc = self._run(self)
^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/cobbler/remote.py", line 264, in runner
return self.remote.api.validate_autoinstall_files()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/cobbler/api.py", line 1525, in validate_autoinstall_files
autoinstall_mgr.validate_autoinstall_files()
File "/usr/lib/python3.11/site-packages/cobbler/autoinstall_manager.py", line 328, in validate_autoinstall_files
(success, errors_type, errors) = self.validate_autoinstall_file(x, True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/cobbler/autoinstall_manager.py", line 308, in validate_autoinstall_file
self.generate_autoinstall(profile=obj)
File "/usr/lib/python3.11/site-packages/cobbler/autoinstall_manager.py", line 267, in generate_autoinstall
return self.autoinstallgen.generate_autoinstall_for_profile(profile)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/cobbler/autoinstallgen.py", line 342, in generate_autoinstall_for_profile
g = self.api.find_profile(name=g)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/cobbler/api.py", line 1081, in find_profile
return self._collection_mgr.profiles().find(name=name, return_list=return_list, no_errors=no_errors, **kargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/cobbler/cobbler_collections/collection.py", line 127, in find
return self.listing.get(kargs["name"], None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-02-11_123025_sync] 2024-02-11T12:30:26 - INFO | Exception occurred: <class 'KeyError'>
[2024-02-11_123025_sync] 2024-02-11T12:30:26 - INFO | Exception value: 'bind_zonefiles'
[2024-02-11_123025_sync] 2024-02-11T12:30:26 - INFO | Exception Info:
File "/usr/lib/python3.11/site-packages/cobbler/remote.py", line 103, in run
rc = self._run(self)
^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/cobbler/remote.py", line 222, in runner
self.remote.api.sync(self.options.get("verbose", False), what=what)
File "/usr/lib/python3.11/site-packages/cobbler/api.py", line 1566, in sync
sync_obj.run()
File "/usr/lib/python3.11/site-packages/cobbler/actions/sync.py", line 163, in run
self.dns.write_configs()
File "/usr/lib/python3.11/site-packages/cobbler/modules/managers/bind.py", line 605, in write_configs
self.__write_named_conf()
File "/usr/lib/python3.11/site-packages/cobbler/modules/managers/bind.py", line 317, in __write_named_conf
self.templar.render(template_data, metadata, settings_file)
File "/usr/lib/python3.11/site-packages/cobbler/templar.py", line 141, in render
data_out = data_out.replace(match, search_table[match.strip("@@")])
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
Ideas:
- Blog entry how DNS can be managed via Cobbler
Notes:
- "cobbler replicate" will not be tested!
- post_report Trigger will not be tested!
- Authorization Modules will not be tested!
- Koan/Virt will not be tested!
- Only the configfile auth module will be getestet
- IPv6 will not be tested
- DNS: Bind -
secondary.conf
creation not skippable/forced master & slave config - DNS: Bind - Hardcoded templates for the zone entries in
named.conf
- DNS: Primary & Secondary Management is reasonable but should be standalone daemons since it is stupid that both services are on the same server. Cobbler should embedd in the default case the primary or secondary daemon if desired.
- Again missing folder for imported ISOs & automatic mount of them (at the least we should create a convention)
- No formula for Disk-Space-Usage for a given number of distros, repos, ...
Metadata
Metadata
Assignees
Type
Projects
Status
Done