Jarrod Johnson
0badd9e5b4
Migrate confluent installs to non-root
...
This will check for and repair uid 0 owned confluent directories.
2020-01-31 10:16:33 -05:00
Jarrod Johnson
c02064f0a5
Add missing msgpack dependencies
2020-01-31 10:02:38 -05:00
Jarrod Johnson
c1b82d8163
Protect confluent private data
...
This blocks use of private confluent data in commands like
nodelicense, nodefirmware, and nodemedia.
2020-01-31 10:00:35 -05:00
Jarrod Johnson
0d5fa7a98a
Change confluent to run as non-root and harden systemd
...
This mitigates a great deal of risk compared to prior behavior.
2020-01-31 09:52:52 -05:00
Jarrod Johnson
968efe719a
Add CAP_NET_BIND_SERVICE to unit file
...
This is preparing for running as non-root.
We need this capability to snoop SLP and PXE
2020-01-31 09:34:13 -05:00
Jarrod Johnson
7a63ca8759
Fix python3 problem with confetty
...
Under python3, there is no unicode.
2020-01-31 08:53:42 -05:00
Jarrod Johnson
a24866c2df
Fix exitcode for confetty noderange commands
...
The exitcode was not being set for noderange commands
where each node may independently raise errors.
Correct the oversight by catching each subelements errors.
2020-01-31 08:22:20 -05:00
Jarrod Johnson
c666b11138
Add ability to foreground exec confluent
...
This allows easier debug and option for unit file
in systemd to run foreground if it makes sense.
2020-01-31 08:10:01 -05:00
Jarrod Johnson
22f6198f60
Fix nodebmcreset on bad noderange
...
This prevents confusing python stack when
a bad noderange is specified.
2020-01-30 14:35:58 -05:00
Jarrod Johnson
c99d01dffc
Fix indentation of date conversion
...
The conversion was not checking each element.
2020-01-29 17:08:00 -05:00
Jarrod Johnson
8d0028a1de
Catch all for serialization errors
...
Rather than odd bool error, return something a
bit more precise.
2020-01-29 15:45:27 -05:00
Jarrod Johnson
bb9c2297c9
Stringify firmware datetime
...
With the change to msgpack, datetime objects cannot be serialized. Apply
tlvdata compliant transform before storing.
2020-01-29 15:41:13 -05:00
Jarrod Johnson
91fa5bd1eb
Enhance nodeconfig treatment of IMM
...
This makes the IMM attributes usable, but not intrusive.
2020-01-29 14:20:56 -05:00
Jarrod Johnson
ac9609c40d
Adjust to pyghmi api change
...
Due to confusion of mixed settings, pyghmi api changes
to enable the confluent experience to be more
sane.
2020-01-29 10:56:31 -05:00
Jarrod Johnson
0c4cb49c20
Implement nodeconfig -e
...
This provides access to 'extra' settings.
Mainly intended to avoid slowing down nodeconfig
with IMM attributes that most people don't
want anyway.
2020-01-29 10:15:32 -05:00
Jarrod Johnson
4be4100014
Fix configmanager msgpack
...
msgpack method had some regressions. For one, python2 strings
became bytes on mixed collective, fix by using raw=False on the
receiver.
Additionally, del_nodes tends to use sets, and that's not viable for
msgpack. Guard against that.
2020-01-29 09:24:57 -05:00
Jarrod Johnson
9f7c8c69f2
Fix invalid credentials msgpack
...
The invalid credentials did not accept an argument like
the rest, fix the inconsistency for msgpack deserialization.
2020-01-28 15:41:50 -05:00
Jarrod Johnson
c35f7d99f7
Update stripped exceptions to include node
...
While the exception had the node name, in some contexts the
exception was processed genericly.
2020-01-28 10:18:58 -05:00
Jarrod Johnson
445950d02a
Roll back library level force of role
...
Doing collective and config restore breaks. The API
will still prevent implicit role assumption.
2020-01-28 10:05:04 -05:00
Jarrod Johnson
cf72cf2d8c
Require role explicitly on user/group creation
...
Rather than default to administrator, require
the user to explicitly set the role to administrator.
2020-01-27 16:12:03 -05:00
Jarrod Johnson
0652a7321b
Apply whitelist to rpc functions in configmanager
2020-01-27 15:59:22 -05:00
Jarrod Johnson
4c8ba92856
Change configuration sync to use msgpack
...
This removes use of pickle for config sync over network.
2020-01-27 15:53:29 -05:00
Jarrod Johnson
09582d7597
Move input handling to destination
...
It is tricky to serialize a configmanager object, and
probably was making the requests gigantic anyway.
Serialize the parameters to let the target use its local copy instead
of serializing an entire config manager.
2020-01-27 15:26:54 -05:00
Jarrod Johnson
8a9e9aa7b3
Always use string type in msgpack
...
To facilitate py2/py3 consistency, for these
messages just always use the native string.
With this, python 2 strings will be unpacked as
strings by python 3. This means bytes cannot be
passed, but we will suffer that limitation for now.
2020-01-24 14:07:34 -05:00
Jarrod Johnson
b766e7b0ee
Opt into the msgpack 1.0 behavior
...
This fixes the dispatch to actually work.
2020-01-24 11:39:44 -05:00
Jarrod Johnson
92699e47f2
Merge tag '2.4.1'
...
2.4 bugfix release
2020-01-24 09:59:29 -05:00
Jarrod Johnson
2aa9910d83
Fix XCC discovery issues
...
A couple of issues could occur during discover that should be
stepped over.
2020-01-23 08:45:43 -05:00
Jarrod Johnson
18b6398c64
Fix XCC discovery issues
...
A couple of issues could occur during discover that should be
stepped over.
2020-01-23 08:44:17 -05:00
Jarrod Johnson
47b68e4258
Fix dispatch of redfish and tsmsol
...
redfish and tsmsol was not properly marked as
needing dispatch.
2020-01-22 15:04:43 -05:00
Jarrod Johnson
79b6d099ab
Fix attribute sort with python 3
...
For attributes without a sortid, sort was failing with python3
2020-01-22 14:24:58 -05:00
Jarrod Johnson
604ebcde3b
Merge branch 'master' of github.com:jjohnson42/confluent
2020-01-22 14:24:21 -05:00
Jarrod Johnson
b4b733a573
Fix attribute sort with python 3
...
For attributes without a sortid, sort was failing with python3
2020-01-22 14:24:10 -05:00
Jarrod Johnson
3bf083deb3
Stage 3 of msgpack for dispatch
...
This may complete the dispatch portion of the msgpack migration.
2020-01-21 14:15:14 -05:00
Jarrod Johnson
9d770632ce
Merge branch 'master' of github.com:jjohnson42/confluent
2020-01-21 13:44:04 -05:00
Jarrod Johnson
79afd174c9
Add serialization to ConfluentExceptions
...
In the same manner that messages
are handled, handle non-messages
content.
2020-01-21 11:28:08 -05:00
Jarrod Johnson
13a0bf4fbe
Draft for message serialization
...
This adds msgpack based serialization to messages.
This would be used to superesed pickle in core.
2020-01-16 16:42:32 -05:00
Jarrod Johnson
f1e1d9804a
Use python3 for Debian and Ubuntu except for wheezy
2020-01-14 09:52:16 -05:00
Jarrod Johnson
546296ce71
Have the get_webclient always return two elements
...
Some scenario existed where the function could return
None and this could break code expectations that it
always returned a tuple and the first value needs
to be checked for None.
2020-01-08 10:17:06 -05:00
Jarrod Johnson
954b2dd15c
Fix minor formatting issues in source
2020-01-07 09:38:40 -05:00
Jarrod Johnson
a7b11d1e15
Fix closing ipmi session when not mapped
...
When not mapped, a noisy KeyError was occuring. Handle
it to avoid cluttering log if the work is not needed.
2019-12-10 14:38:12 -05:00
Jarrod Johnson
3660cf18cc
Fix a number of issues
...
For one, there were still bytes v. str for python3 issues in the
certificate exception and credential handling for smm and generic
credential lookup.
There was a python2-ism in lldp that needed to be made 2/3 agnostic
with ord() of a 'bytes' member, converting to bytearray for
normalized behavior.
The discovery core had an issue with chained smms where a set
was used which cannot take a dict, and so it is converted to a list.
If a temporary password is used but the user did not provide a permanent
password that is viable, make the error more explicit.
2019-12-10 11:54:24 -05:00
Jarrod Johnson
078afaf7d7
Make SLP more tolerant of malformed data
...
Unrelated devices may present invalid data
to SLP queries. Have these conditions better tolerated.
2019-12-06 11:24:30 -05:00
Jarrod Johnson
3ab1eb7f01
Add words to nodefirmware man page
...
ipmi versus redfish produces some different behaviors, document
some examples in the man page.
2019-12-04 10:14:23 -05:00
Jarrod Johnson
fbfdc9322b
Raise errors during connection
...
This improves error behavior when login action
encounters an error.
2019-12-04 10:06:18 -05:00
Jarrod Johnson
ef68656bde
Fix nodestorage handling of error
...
Error messages were not properly handled if specific nodes had issues.
Properly provide the error messages.
Additionally, clarify a common uselessly vague error.
2019-12-03 10:04:34 -05:00
Jarrod Johnson
0e04b853f6
Fix common usage of noderange alerts
...
This fixes the usual circumstance of not having keyed input data.
2019-11-21 16:42:03 -05:00
Jarrod Johnson
63256e37b6
Remove some uses of xrange
...
Not friendly to python 3
2019-11-21 16:03:48 -05:00
Jarrod Johnson
a1b81e978b
Pull in websocket client dependency
...
This enables tsmsol plugin
2019-11-20 15:25:11 -05:00
Jarrod Johnson
06c53e9d89
Make the websocket module optional
...
Have tsmsol gracefully degrade for Wheezy, where
it is not relevant to that platform.
2019-11-20 13:53:16 -05:00
Jarrod Johnson
ab0168b2ec
Update man page for nodesupport
...
Correct typo and clarify that plugins may customize
filenames.
2019-11-20 10:48:08 -05:00