Windows breed
by Alan Evangelista
Cobbler is a Linux installation server, based on Linux boot loaders,
Linux initrd/kernel
and Linux automated installation processes. Why is there a Windows
breed? How would someone
use this to install a Windows system? imho this should be deleted.
Regards,
Alan Evangelista
9 years, 5 months
Support of several network interfaces in system object
by Alan Evangelista
I would like to understand why Cobbler allows user to define several
network interfaces in system object.
Netboot and automated installation processes only require 1 network
interface and supporting multiple
network interfaces introduce complexity. Possible motivations I see:
1) allow user to quickly alternate between different network interfaces
for testing purposes
2) automatically setup all network interfaces in a system
imho motivation 2 is a strong point, but it goes beyond the scope of
network installation and automated
installation. I see in http://projects.theforeman.org/issues/2240 that
people are
requesting the same feature in Foreman to support automatic setup of all
network interfaces
using Puppet and its integration with Foreman. I think it makes more
sense to delegate this
task (automatic setup of all network interfaces) to a config management
tool (eg Puppet)
than do it in Cobbler, otherwise Cobbler ends up being a "do it all" tool.
Maybe I have a restricted view of how and how much this feature is used,
so I'd like to get
some feedback from Cobbler community.
Regards,
Alan Evangelista
9 years, 5 months
pxe_just_once setting default value
by Alan Evangelista
Why pxe_just_once default value is 0 in Cobbler? It seems to me that
most users
would like to have this setting enabled so that netboot is disabled in
system
object (and system entry is removed from DHCP server configuration file)
after
OS installation is done.
Often I see beginner users having problem with this in IRC.
Regards,
Alan Evangelista
9 years, 5 months
System console logs cleanup
by Alan Evangelista
I see that there is a Cobbler XML-RPC interface call to delete console
logs in /var/consoles/
Is anyone using this feature? I think that Cobbler should not handle any
console logs cleanup,
as it has not other console management/logging/access features. imho
partial features like this
do not help much. I'd remove this from Cobbler code and keep it simpler.
What do you think?
Regards,
Alan Evangelista
9 years, 6 months
Terminology suggestions
by Alan Evangelista
I see some terms used in Cobbler which were probably created a long time
ago and are
currently outdated. I'd like to suggest renamings which would make names
reflect better
current code. Examples:
- "kickstart" is commonly used in Cobbler to refer to the file which is
used by Linux installers
to automate Linux installation and configuration. Cobbler supports
Debian, Suse and Red Hat based
distros. However, "kickstart" term is exclusive to Red Hat based
distros, Suse based distros use
"autoyast" and Debian based distros use "preseed". A generic term (eg
auto-installation file)
would prevent confusion.
- BootAPI and BootCLI are not intuitive names. It seems Cobbler is
limited to managing network
boot. I think CobblerAPI and CobblerCLI are better names.
- I'd expect that PXEGen class would handle all PXE (DHCP + TFTP) files.
However, it builds mainly
boot loader configuration files and files which will be copied to TFTP
server in a Cobbler server,
it does not build DHCP conf file. Also, Cobbler currently support archs
which do not use PXE,
such as Power. I'd rename this to TFTPGen.
- Config class manages collections of Cobbler objects (system, profile,
distro, etc.). Config is
already used in several different contexts in Cobbler, such as Cobbler
config file, DHCP config file,
boot loader config file, etc. It takes a while to figure out that
system/profile/distro data created
by user is maintained by this class. I think that CollectionManager or
something similar would be more
intuitive.
- cobbler/modules/serializer_catalog.py serializes/deserializes objects
to/from files. Catalog is a
generic term which does not add much. Renaming to serializer_file would
make this much easier to understand.
I have already implemented most of these changes in my customized
Cobbler. If the ideas are welcome,
I could apply them in upstream code and submit patches.
Regards,
Alan Evangelista
9 years, 6 months
Ext-Nodes
by J's Mail
/usr/bin/cobbler-ext-nodes is a very useful piece of functionality that
allows Puppet to use Cobbler as an External Node Classifier. The file is
installed through the 'cobbler' rpm.
Often, the puppetmaster and cobblerd will be on different systems. I
suggest breaking this functionality out into it's own package. This will
allow the a very minimal install on puppet-master systems.
Ideally, this is a minor adjustment to the cobbler.spec file.
As a secondary concern, cobbler-ext-nodes reads /etc/cobbler/settings.
Perhaps it should check first if a /etc/cobbler/ext-node-settings exists,
defaulting to /etc/cobbler/settings. This should allow a minimal config
file for the separate functionality.
Thanks,
-- Jess
9 years, 6 months
web directory clean-up
by J's Mail
I'm mounting /var/www/cobbler from NFS. It's Netapp, so there's a
'.snapshot' directory. 'cobbler sync' wants to remove/clean-up this
directory. Nothing happens, as .snapshot is read-only, but there's a
noticable delay as the command runs.
At first blush, the change is simple: whitelist the directory in
action_sync.py. However, I'm not a fan of this approach because a version
upgrade could lose this change. More preferable, I believe, would be a
file with whitelisted directories. Thoughts?
Finally, thanks for all the hard work; it's great software.
-- Jess
9 years, 6 months
Support subdirectories in kickstarts directory
by Alan Evangelista
Currently, Cobbler code only reads kickstarts files from root kickstarts
directory.
I have expanded that to also read from subdirectories in kickstarts
directory.
This allows an Cobbler admin to better organize kickstarts, autoyasts
and preseeds.
May I suppose the Cobbler community is interested in this?
Regards,
Alan Evangelista
9 years, 6 months