2
0
mirror of https://github.com/xcat2/confluent.git synced 2024-11-22 17:43:14 +00:00
Commit Graph

215 Commits

Author SHA1 Message Date
Jarrod Johnson
3e1f90882f Fix confetty client behavior when trying to show something that is 404 2014-03-03 15:48:33 -05:00
Jarrod Johnson
79fc5faaf6 Fix problem where reordering groups did not affect inheritence
There was an optimization to skip examination of groups if it was determined
that the group membership had not changed.  However, this erroneously
masked the examination in the case of reordered groups.  Skip the
optimization to cover that case at the expense of at least some needless churn.
This only happens when something goes to change group membership in some way, so
this shouldn't be too expensive.
2014-03-03 15:35:08 -05:00
Jarrod Johnson
811ca61747 Fix problem where broken expressions were not gracefully handled
Now when expressions can not be completed, the reason is presented as 'broken'.
Additionally, when unsetting a value that would affect expressions,
perform appropriate changes.
2014-03-03 14:48:46 -05:00
Jarrod Johnson
c56d0ac5a1 Jot down notes about things to do 2014-03-02 13:05:19 -05:00
Jarrod Johnson
5773c3d237 Implement more robust input handling of attributes
Instead of naively looking for '{', use format() to thoroughly check and
support escaping { and } with {{ and }}
2014-03-02 13:01:19 -05:00
Jarrod Johnson
9bf68c1639 Fix expression detection with unicode strings
If data was coming in as unicode strings (as is the case in the json
parser), it failed to treat the data as equivalent to string.  Correct
by checking both str and unicode for now
2014-03-01 10:48:08 -05:00
Jarrod Johnson
96a7f197d6 Jot down some notes on bugs that need to be addressed 2014-02-27 12:28:45 -05:00
Jarrod Johnson
271e9076c1 Fix relative paths for non-collection resources in confetty 2014-02-24 11:02:09 -05:00
Jarrod Johnson
a8ee40250c Accept alternative javascript input for alternative terminal
implementation.
2014-02-23 21:48:01 -05:00
Jarrod Johnson
9292d89751 Avoid crashing out if someone does too many '..'.
If user tried to change to more parent directories than existed,
confetty would rudely shutdown.  Truncate such a case to '/' rather
than bail.
2014-02-22 22:15:41 -05:00
Jarrod Johnson
2578fd5817 More gracefully fail when client goes off the rails.
A client with certain URLs that go off the end of the valid world was
causing exceptions to be thrown not of the set of 'tame' errors.
Denote them as 404 since that is the nature of the failure.
2014-02-22 22:08:46 -05:00
Jarrod Johnson
5dc3bbcddd Theoretically add JSON support for data input to HTTP API
I have not yet tested this support to assure it works.
2014-02-22 21:58:21 -05:00
Jarrod Johnson
ea7d3a268c Implement 'unset' in confetty interactive cli.
Provide a means to clear node specific settings so that inheritance can be restored.
In JSON, send a null as a value for a parameter instead of a string or 'object'.
2014-02-22 21:53:34 -05:00
Jarrod Johnson
7c7754d319 If specifying an attribute as a resource, strip the path info to make it work. 2014-02-22 21:22:45 -05:00
Jarrod Johnson
f7c1dc8385 Have ipmi plugin recognize the rename to nextdevice 2014-02-22 21:14:55 -05:00
Jarrod Johnson
661d6b3eef Rename boot/device to boot/nextdevice
In order to make it more suggestive that the parameter means 'next one-time boot',
use different words.
2014-02-22 20:41:15 -05:00
Jarrod Johnson
3d3f820a7d Correct two protocol violations of TLV
One was the client going away without contemplating the done flag.
Another was the server sending two requestdone messages.
2014-02-22 20:38:33 -05:00
Jarrod Johnson
11138aa3de Fix confetty interactive behavior after set
After set, confetty client would fail to follow protocol and
end up leaving followup commands in an off by one state.  One
TODO out of this is to refactor send_request into a library function
2014-02-22 20:22:23 -05:00
Jarrod Johnson
387523f46b Implement 'set' in CLI
While testing set, it was noted that JSON loads does unicode.  Modified configmanager
to treat unicode like str type.
2014-02-22 20:10:13 -05:00
Jarrod Johnson
e236260c3b Have console assume ipmi if no data given, like hardwaremanagement 2014-02-22 19:28:41 -05:00
Jarrod Johnson
f6ed5b5e14 Have confetty interactive attribute show be more informative 2014-02-22 19:12:42 -05:00
Jarrod Johnson
70b7b62c0f Give messaging layer full info about attributes in attributes plugin.
Messaging layer was unable to contemplate adding info about inheritance and expressions.
2014-02-22 18:20:07 -05:00
Jarrod Johnson
7894a056e1 Remove some debug output 2014-02-22 18:13:21 -05:00
Jarrod Johnson
896159da4c Recognize expressions at node/nodegroup creation time 2014-02-22 18:12:21 -05:00
Jarrod Johnson
56ae101366 Disable beep on completion attempt
The beep on completion attempt was highly annoying, disable it.
2014-02-22 17:39:05 -05:00
Jarrod Johnson
a8f48c7955 Assure something that goes in as path to fullpath comes out as path 2014-02-22 17:31:08 -05:00
Jarrod Johnson
974902cc7b Advance state of tab completion in the interactive console
Fix relative tabbing
2014-02-22 14:43:12 -05:00
Jarrod Johnson
71f6199b2e Fix display of 'None' attributes
Previously, assumption was that the response data would be a dict.  This
is not always the case.  If None is encountered, treat it as a blank attribute.
2014-02-22 14:18:20 -05:00
Jarrod Johnson
499377271c Correct setsockopt call argument to correct protocol 2014-02-22 14:12:39 -05:00
Jarrod Johnson
d8619e76b9 Improve interactive latency
While typing in confetty console in blind test and confetty was using a TLS socket,
the confetty console was noticably chunkier.  The chunkiness could not be detected
on a UNIX socket.  Setting NODELAY on both sides of the socket seems to have eliminated
chunkiness so that at least I can't tell confetty from ssh+ipmitool anymore.
2014-02-22 14:04:43 -05:00
Jarrod Johnson
26c95349fc Do not complete 'cd' to non-path elements 2014-02-22 12:24:22 -05:00
Jarrod Johnson
feb8c68ad4 Preliminary tab completion functionality in interactive prompt 2014-02-22 12:13:51 -05:00
Jarrod Johnson
bffa5feef8 Add modulo support to expressions
Modulo support had been overlooked, it has been added back in.
2014-02-20 09:51:15 -05:00
Jarrod Johnson
a68deebec8 Improve the get_nodegroup_attribute to be more full featured
Also, move masking of the _expressionkeys attribute into the core
of the class rather than working around it.
2014-02-19 20:36:39 -05:00
Jarrod Johnson
f2c09795ff Fix expression based callout of other keys
The '_' prefixed attributes suggest more care should be taken.
2014-02-19 20:24:51 -05:00
Jarrod Johnson
e021a22ccb Fix setting of nodes on a group
In configmanager, 'nodes' had been special cased.  The invalid rejection scheme
failed to accomodate the special case, restore the functionality.
2014-02-19 19:44:23 -05:00
Jarrod Johnson
88a55b8942 Add configmanager function to clear attribute.
When a caller requests to clear an attribute, if attribute is there
and not inherited, it is deleted and then groups are searched for
backfill.
2014-02-19 19:36:25 -05:00
Jarrod Johnson
b823bc37d2 Fixup unknown attribute handling.
For one, prevent unknown attributes from getting into configmanager from now on.
Additionally, have the attributes plugin manage to convey bad attributes when
encountered.
2014-02-19 19:10:58 -05:00
Jarrod Johnson
b6853cfbe1 Fix display of group attributes
Something still seems off about it, but it is self contained to attributes plugin for now.
2014-02-18 13:48:26 -05:00
Jarrod Johnson
2b6188e0b6 Add nodegroup management to API
Have nodegroup attributes exposed via API so that they are at
least nominally useful
2014-02-18 13:22:07 -05:00
Jarrod Johnson
cb8f37f1b0 Implement group creation
Nodegroups can now be created through the interface
2014-02-14 16:43:00 -05:00
Jarrod Johnson
66e90394be Fix incorrect deletion of group when node deleted
Accidently changed node deletion to target a group instead, fix
it back the way it was.
2014-02-13 17:07:05 -05:00
Jarrod Johnson
e01c96e534 Implement nodegroup deletion
Nodegroup deletion is now enabled.
2014-02-13 16:57:03 -05:00
Jarrod Johnson
b75b959bf4 Restore nodegroup iteration in rest api 2014-02-13 16:26:52 -05:00
Jarrod Johnson
4ed91e06dc Correct typo in previous commit 2014-02-13 15:57:59 -05:00
Jarrod Johnson
722d0fe128 Fix API explorer to do list type attributes 2014-02-13 15:55:26 -05:00
Jarrod Johnson
41c4183045 Correct type protection code
For an attribute with restricted types, correctly check the type of
inbound data.
2014-02-13 15:16:21 -05:00
Jarrod Johnson
9d283e5c36 Merge branch 'master' of /gsa/pokgsa/projects/x/xcat/git/confluent 2014-02-13 12:59:56 -05:00
Jarrod Johnson
c77eb5be3b Have configmanager protect against unrecognized data.
When doing a set, check the keynames and value types as
appropriate.  raise ValueError in the configmanager case
since it could be code or human mistake.  attributes plugin
then catches this error and propogates it up as an InvalidArgumentException
if it is just trying to pass in data from user.
2014-02-13 12:58:03 -05:00
Jarrod Johnson
8ede431b60 Have server interruption exit the client gracefully
If a console session is started and the server disconnects, cleanly exit
instead of being confused by the whole affair.
2014-02-10 19:52:37 -05:00