-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal 0016, Default Workflows #178
Comments
Just an update to say that I personally like this idea and feel like it will make Tinkerbell much more user-friendly. |
In the 8/31 Tinkerbell meeting, this proposal was discussed briefly. I have some thoughts on the overall approach. Regarding, the registration approach:
Tinkerbell should avoid taking on more responsibilities. A default workflow could take on this function. When attributing workflows as default:
Workflows could be matched to hardware ID using some matching system rather than A more comprehensive matching system could take all hardware components into consideration. Following that pattern, an 'AutoRegister Workflow' (any "default" workflow) could match Questions:
Cross-posted in discussion tinkerbell/tink#522 (comment) |
I'm very interested in tinkerbell/boots gaining support to do "wildcard" hardware matching, initially just using a regex to match MAC addresses much like @displague provided as an example. I prefer the paradigm of creating workflows that can match a hardware identifier via some provided (regex) patterns, instead of only allowing a single "default" (both in name and function) template that is auto-registered to the specific hardware that is initially unknown to tinkerbell. I think this would be far more flexible and in effect create "scoped default workflows". I think it should be left up to the user whether to run a workflow that explicitly registers a specific workflow per piece of hardware (ex: to build an inventory) or simply allow workflows to run as they are matched to a specified identifier pattern. I do like the idea of having a "discovery" workflow that runs and is potentially able to gather much more system information than you receive from a simple DHCP request. Am I correct in understanding that adding support for an enabling feature like regex matching of MAC addresses would need to be added to the tink server and not boots? Best I can tell from my read of the boots codebase is that boots does not do any hardware matching itself, except in the case of the standalone data model. |
We should discuss this in tinkerbell/tink#522. This is a tink feature not so much a boots one an as such doesn't make sense as an issue here. |
Auto netboot capabilities in Smee have landed. #460 For auto capabilities with Workflows see the roadmap ticket: tinkerbell/roadmap#23 |
Expected Behaviour
It would be very helpful to have default workflows for Tinkerbell, meaning that when a currently unknown machine sends out a DHCPDISCOVER request, Boots will push the new hardware and create a workflow for the new machine from the default template.
Current Behaviour
Currently, you must manually push each new piece of hardware you expect and then manually create a workflow for this HW
Possible Solution
on dhcpdiscover received:
- grab mac address from req
- create hardware with mac
- push hardware
- grab a template titled 'default'
- create workflow with new hw id and
default
template idContext
Trying to provision multiple bare metal machines on a private network as soon as they are turned on
Your Environment
Operating System and version (e.g. Linux, Windows, MacOS):
Win10, Ubuntu
How are you running Tinkerbell? Using Vagrant & VirtualBox, Vagrant & Libvirt, on Packet using Terraform, or give details:
Running based on Local Setup with Vagrant tutorial
The text was updated successfully, but these errors were encountered: