Re: Cobbler: defining network profiles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Peter Wright wrote:

Hristov, Georgi wrote:
This reminds me a lot of AIX NIM (Network Installation Manager
http://www.redbooks.ibm.com/abstracts/sg247296.html). NIM has similar
functionality. Actually, NIM would even setup a static route on a
provisioned system if the system is being installed via a secondary NIC.
This functionality is made possible via the knowledge of networks,
similar to what is being discussed here.
Hmm - I think this is a little different, unless I misunderstand the proposal. Since I think most sites are using dhcp reservations, I think the proposed patch is to break out the IP management functionality from the "cobbler system" command set.

-pete

Pete's correct though I haven't looked into the above much. It would work for static configs as well as DHCP reservations. Certaintly DHCP reservations are preferred and much much easier, though in the static case, all of the added variables are still very nice to have for kickstart templates.

To get a bit technical, the previous way of working will still work.

cobbler system add --name=foo --ip=foo1 --mac=foo2 --gateway=foo3 --subnet=foo4

Except that (as proposed) I see this as having each interface will now have an additional shortcut that will fill in the others if they are not already set.

cobbler system add --name=foo --network=alpha

This would not actually store the IP and data with each system, but would fill them in from the alpha part.

Possibly this could be smart enough to pick ips's from within the netmask. If doing this, we probably do something internally like assigning the --ip field to a special counter like maybe "*1", "*2", and so on, and then let blender() in utils.py calculate it using the netmask. For those not familiar with the point of blender, it's that in Cobbler, everything is generated from a tree that overrides things on the way down. Systems override profiles, subprofiles if present override their parents, profiles override distros. This function ensures that all of the variables that appear in DHCP and elsewhere represent that configuration once it is evaluated.

So this would in theory allow reassigning the subnet with a:

"cobbler network edit --name=alpha --subnet=foo5 && cobbler sync"

And then not having to update any of the system objects. We'd just need to have a way to give them all nice unique ID's so the DHCP reservations remain intact when we add new records, so something like assigning the first free increasing integer to the system and storing it there and then doing some simple math to align those with the subnets should be sufficient.

We'd want to make sure that if we added a two hundred systems, then deleted a hundred, the next one added starts back at the first free slot, and that adding systems didn't move the reservations around. This is probably pretty simple to do.

More people here probably have better network management expertise than I do, so let me know if I'm missing something in terms of use cases and so forth.

cobbler could also probably ship with "default" networking parameters in /etc/cobbler/settings too, so many people would not have to create their own networking object. I handle kernel options something like this, so if someone defines their subnet there and enables DHCP management, reservations would then start working and automatically handing out IPs. We'd probably also want an additional configuration setting to decide whether or not to start handing them out in the block, probably defaulted off, with good comments in the settings file about how that would all play together.

Very interesting idea folks!

--Michael







_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/et-mgmt-tools

[Index of Archives]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux