Jarrod Johnson
038faaab74
Await clear node attributes
2026-04-14 09:57:33 -04:00
Jarrod Johnson
b548002a8d
Fix nodegroup attribute async behavior
2026-01-22 14:50:59 -05:00
Jarrod Johnson
d89305ca42
Merge branch 'master' into async
...
Try to merge in 2025 work into async
2026-01-20 14:24:01 -05:00
Jarrod Johnson
c9b9275bb1
Support clear of custom attributes
...
middle name attributes and custom attributes should
be checked for explicitly during a clear.
2025-08-11 11:46:35 -04:00
Jarrod Johnson
71f5ce2b29
Add deployment lock mechanism
...
This allows users to opt into disabling setting further profile changes.
Nodes may be 'unlocked' (normal), 'autolock' (will lock on next
completion), or 'locked' (unable to change the pending OS profile)
2025-05-01 09:25:05 -04:00
Jarrod Johnson
71f75dbc31
Provide specific error on empty noderanges for expressions
...
For commands such as nodeshell and noderun,
provide a more useful message when a noderange is empty.
2025-04-29 16:13:33 -04:00
Jarrod Johnson
6402861f4c
Provide custom node secret attributes
...
This allows for confluent to pass node secret data through.
2025-03-13 14:22:26 -04:00
Jarrod Johnson
82fe75e457
Add aliases to attrib clear
...
Support aliases when specified in clearing.
2025-02-06 15:59:29 -05:00
Jarrod Johnson
553916340e
Advanced asyncio port progress
...
Offer a function in core to normalize plugin return.
A plugin might return an async generator, a traditional generator,
or might even return an awaitable wrapping a traditional generator.
Replace eventlet spawn with util spawn in discover core
Have node attribute update await the set_node_attributes appropriately
2024-04-30 10:44:43 -04:00
Jarrod Johnson
10f0fabb8c
Fix nodegroup retrieval
...
nodegroup information was broken by clear warning support.
2024-04-17 15:18:45 -04:00
Jarrod Johnson
5a7d98c6b8
Enhance error reporting
...
For one, when using confluent expressions, induce {} to be an error to
trigger an error for someone trying to xargs something.
Another is to add warnings when clear does something deliberately, but
is something that might surprise a user, steering them toward
what they possibly might want to do instead.
2024-03-21 16:09:37 -04:00
Jarrod Johnson
bd428790ce
Try for more informative messoge an expression syntax error
2022-02-11 14:51:53 -05:00
Jarrod Johnson
f547071d38
Warn user of unworkable syntax
...
When used in {} expressions, attributes must obey python syntax rules,
try out the attribute name and report the issue when it would be a problem.
2022-02-11 14:32:52 -05:00
Jarrod Johnson
aa816c0f1d
Have attribute update support wildcards
...
This makes nodeattrib behave more like nodeconfig.
2022-01-13 13:27:07 -05:00
Jarrod Johnson
5718e07238
Treat empty attributes as unset
...
This fixes behavior when, for example, crypted.rootpassword
is explicitly blanked
2021-11-29 11:22:48 -05:00
Jarrod Johnson
f16e84de32
Fix group display of crypted attributes
2021-02-12 13:32:36 -05:00
Jarrod Johnson
dc2df09c4e
Fix for crypted handling
...
Crypted attributes were not
handled well, fix the mistakes.
2020-04-16 16:54:59 -04:00
Jarrod Johnson
e2aaa2afb4
Support proper readback of crypted
...
crypted attributes should be
treated about the same as
passwords.
2020-04-15 16:34:54 -04:00
Jarrod Johnson
521be5d44d
Further Python3 compatibility changes
...
With this as well as eficompressor and pyghmi updates, things
seem to be in roughly working order
2019-10-03 15:57:56 -04:00
Jarrod Johnson
ed320f4a17
Add 'check' to permit comparison against current value
...
For implementing some security policies, it is useful
to check new value against current value.
2019-09-17 09:48:02 -04:00
Jarrod Johnson
151ba2e567
Add error messages to nodeattrib clear
...
nodeattrib -c was not reporting useful error information.
2019-07-15 13:28:09 -04:00
Jarrod Johnson
d7d3ae344c
Skip empty nodes list
...
A noderange based nodegroup would have
the empty nodes list cluttering the output.
Skip empty nodes list in current settings.
2019-04-05 09:17:45 -04:00
Jarrod Johnson
59aa23b2f5
Add noderename command
2019-03-01 15:21:29 -05:00
Jarrod Johnson
4446308030
Add ability to rename nodegroups
...
If we can rename nodes, should be able to rename groups.
2019-03-01 15:03:43 -05:00
Jarrod Johnson
7703c6c2ab
Enable Server Portion of renamae node
...
This plumbs up through the messages and attributes plugin.
2019-03-01 14:37:07 -05:00
Jarrod Johnson
add1a1b32a
Add noderange to nodegroupattrib
...
noderange attribute on group was not
being presented by nodegroupattrib all.
Add the attribute explicitly to handle the
discrepency.
2019-02-20 14:13:48 -05:00
Jarrod Johnson
5e6c66826f
Provide error on useless api call
...
If making an api call against a noderange to set attributes and that noderange is blank,
provide feedback to help user know that
nothing happened.
2019-02-11 16:01:30 -05:00
Jarrod Johnson
8a5f1c6dc5
Parse string arguments to nodes attributes as noderange
...
Since everywhere else accepts noderange, it is a reasonable
expectation for the nodes attribute on nodegroups to also
take a noderange. Correct this inconsistency.
2019-01-30 09:55:38 -05:00
Jarrod Johnson
d979d29b0b
Implement checking of input attributes
...
For attributes that have a well known set of inputs, provide the
data to the messages layer to provide a useful error to the user.
2019-01-22 16:02:17 -05:00
Jarrod Johnson
853585f942
Have nodeattrib output be sorted
...
This make nodelist and nodeattrib output much easier to follow.
2018-11-29 10:02:37 -05:00
Jarrod Johnson
b0c384c9ca
Check quorum on attribute read
...
It's too bizarre for attribute read from api to work
without quorum, could be misleading.
2018-07-12 16:05:04 -04:00
Jarrod Johnson
3ace7747ab
Fix typo
2018-05-22 10:11:37 -04:00
Jarrod Johnson
be3ecf60a5
Fix bad error message on {} in nodeshell/noderun
...
{} used in awk is likely, give proper error message.
2018-05-22 09:56:53 -04:00
Jarrod Johnson
7ea99ecbf5
Improve expression error handling
...
First, refactor the attrname translation to be in a single method.
Recognize if 'None' comes back rather than a dictionary with na 'value'
Add a proper ValueError if an invalid attribute name is used.
Properly catch and transform ValueErrors in the API
2018-01-26 14:16:23 -05:00
Jarrod Johnson
fcae11bf96
Do natural sort on expression expansion
...
This creates more logical behavior from nodeshell and noderun when
dealing with many nodes, particularly when crossing the concurrency
limit.
2017-11-06 14:57:15 -05:00
Jarrod Johnson
ea9caa470b
Fix unexpected error on retrieving nodegroup attributes
...
Detect and more specifically report error message when an unknown group
is used for nodegroup commands.
2017-06-27 15:06:59 -04:00
Jarrod Johnson
e0cc67f57a
Implement Lenovo Thinksystem and discovery support
2017-06-20 14:56:24 -04:00
Jarrod Johnson
457f1fe30b
Provide resource to allow clients to expand custom expressions
...
Clients may now format a string as if it were to be an expression for an attribute,
and have the server evaluate it using the same engine without passing through the
attribute engine. This makes it easier, for example, to do nodeexec n1-n4 ipmitool -H {hardwaremanagement.manager}
2016-10-06 15:51:07 -04:00
Jarrod Johnson
9f16375b14
Make noderange attribute pass through API better
...
On the plugin front, add a one-off description for the 'noderange' attribute.
For the other pieces, make noderange more like any 'extensible' string value
rather than making it special.
2015-03-12 15:59:25 -04:00
Jarrod Johnson
9b7d1d6c5b
Change from 'passphrase' to 'password'.
2014-07-27 19:23:32 -04:00
Jarrod Johnson
2d0fde3f42
Provide more detail in invalidargument
...
invalidargument was not particularly helpful by itself
improve things by adding more helpful information in the error strings.
2014-05-09 17:18:17 -04:00
Jarrod Johnson
6c7aaf8bc3
Refine packaging issues
2014-05-06 16:45:51 -04:00