-
Notifications
You must be signed in to change notification settings - Fork 13
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
Tagging/organizing nodes #677
Comments
I actually started doing something similar, documented at https://esi.readthedocs.io/en/latest/usage/cluster.html. The main difference is that I've been reluctant to put the concept of a cluster of nodes into ESI-Leap, since in my mind that's entirely a leasing service, and having it keep track of something like this feels like it's crossing some boundary. I think my partial implementation relies on an orchestration file, and then we set a value on the Ironic node to mark it as belonging to a cluster. |
I really like that idea of having this information stored in the api somewhere. With a group of people responsible for a cluster, requiring everyone to maintain an orchestration file locally seems like asking for trouble ("oh, your local file wasn't up-to-date, so you only operated on a partial set of nodes..."). I'm not even arguing that we should make "cluster" a concept in ESI. I'm just asking for a mechanism for a tenant to categorize nodes in a way that is "local" to the tenant, and that won't conflict with anything the owner wants to do. Introducing a "nodegroup" resource seems like one way of doing that. An alternative would be to substantially refactor things and use a model analagous to the openshift "persistentVolumeClaim" vs "persistentVolume" model: the thing you get as a lessee is only a proxy to the actual resource; you can set whatever metadata you want on your proxy, but you don't get direct access to the underlying resource at all. |
That's kind of what I did; the cluster ID is stored in an Ironic field, and |
As a lessee, I want a way to organize the nodes I have leased. That is, if I have 7 nodes:
I want some way to say, "list the nodes I'm using in cluster1" vs "list the nodes I'm using in cluster2". In a single user environment you might be able to manage this using the
description
field, but in a multi-tenant environment, particularly one with the concept of node owners vs. node lessees, this isn't a viable solution: both the owner and the lessee might want to use that field, potentially for completely different purposes.This is a tough problem to solve, because it's really endemic to openstack.
The only idea I've been able to come up with is to introduce something like "node groups" -- basically, boxes for holding nodes, so I could do something like:
This by itself would be useful in scripts, because we could do something like:
And then perhaps use those groups in other commands, like:
And perhaps introduce some other convenience commands:
Etc.
The text was updated successfully, but these errors were encountered: