This message was deleted.
# puppet-enterprise
s
This message was deleted.
j
How many nodes are pinned to the group in question? It is certainly an area that would benefit from some optimization. That seems like an unusually long time.
All the groups must be interrogated for the "unpin from all", which can be expensive depending on how many rules a given group has.
b
customer has environment node groups which usually have one rule that matches a fact and then one node group per role
those groups have no rules, just pinned nodes. 120 of those groups with 5 to maybe 100 pinned nodes
I deleted some environment node groups, maybe 15. before that the api endpoint took 4min30s to cleanup a single node
do you know if the time is spent calculating the resilts of the match rules in groups?
because thats something that isnt required for unpinning?
j
The API isn't very smart, currently. Also, pinned nodes are not stored in an optimal way currently. The algorithm has to get the group rules from the database, and analyze the rules to determine if any fit the pinned node scheme. If they do, it checks to see if they match the unpinning request. If it matches, it rewrites the rules back to the database. This is done for each group. This is an area we are hoping to improve on as we recognize it is a pain point.
b
ah so it doesnt differentiate between actual rules and pinned nodes
j
Correct. They are just "or" clauses matched on names currently. We would like to separate them internally for a few reasons: It will improve node classification times if we can avoid fact-checks for groups that match through the node-name, it will improve the performance and behavior around pinned nodes.
b
ah okay
yeah
where can I vote for this? :D
j
You just did. 🙂
b
/me looks to @steveax
🎉 1
ha, perfect
👍 1
c
Yeah, "pinned nodes" are just a separate box in the UI. Under the hood, they're just more rule entries that match against certname.
👍 1
Turtles all the way down.