2
0
mirror of https://github.com/xcat2/confluent.git synced 2025-01-17 21:23:18 +00:00

63 Commits

Author SHA1 Message Date
Jarrod Johnson
f97c39cea4 Add hostname to api
The hostname of the BMC is added to the api.
2018-03-27 15:51:14 -04:00
Jarrod Johnson
685f5c6803 Add system configuration
This gives access to system configuration where available
2018-02-02 16:20:13 -05:00
Jarrod Johnson
09d20ea1ff Add remote media handling to API 2017-12-08 15:03:27 -05:00
Jarrod Johnson
8897eb5dcf Fix user api
The user api had been messed up.  Correct by using keyword to correctly
place the configmanager argument.
2017-11-28 15:23:27 -05:00
Jarrod Johnson
3e201a5f4f Back off aborted use of configmanager in nodegroups
Currently, we don't need it and the change was half-attempted.  Remove
the problematic half that remained.
2017-11-14 12:01:57 -05:00
Jarrod Johnson
9f3fe01a49 Evolve the concept, it does not currently work 2017-11-02 17:07:44 -04:00
Jarrod Johnson
52673a990b Confluent server side enclosure reseat
This provides ability to request reseat of nodes, and redirects it to
the enclosure manager.
2017-10-26 11:45:16 -04:00
Jarrod Johnson
bfc2b65e99 Support 'energy' sensor category
Energy is distinct from power, categorize it as such.
2017-10-17 11:07:54 -04:00
Jarrod Johnson
f44eb412c5 Add /nodes/<node>/forward/web
This facilitates GUI to launch web interface,
even if the target is unreachable.
2017-09-22 13:53:37 -04:00
Jarrod Johnson
0393e55eb1 Implement API for reverse noderange
Provide reverse noderange through special
/noderange//abbreviate location.  This should enable
collate to abbreviate noderanges.
2017-08-14 14:41:43 -04:00
Jarrod Johnson
8a416ccc5e Correct mistake in core formatting 2017-07-26 16:57:06 -04:00
Jarrod Johnson
a40f015076 Phase 1 of firmware update support
Provide ability to launch firmware updates.
Next will be ability to enumerate, monitor, and
delete.
2017-07-25 17:01:32 -04: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
Amanda Duffy
9d86ffee92 Add exception check if passvalues is empty 2016-09-22 16:58:00 -04:00
Jarrod Johnson
9e4ee7bb31 Fix conflicts with system python modules
If python system module had a name that conflicted in some way
with a plugin, the plugin load would fail.  Fix this by prioritizing
the plugin path over system locations.  Also, to avoid the breakage
going the other way, remove the plugindir from the system path when
that particular directory is done.
2016-08-29 09:56:21 -04:00
Jarrod Johnson
d0bd275cb3 Instrument sessions/ collection
This causes some additional features into core.  Namely
the ability to use a fixed module rather than a string
defined plugin.  This allows shellserver to implement the
'plugin' interface without living in 'plugins'.  'plugins'
implies modularity and potential eventual choice, but
this functionality is core.  It would make sense for the
'attributes' plugin to be changed to match this strategy.
2016-01-08 14:44:42 -05:00
Jarrod Johnson
cfafa5a5bc Connect shellserver to httpapi
Have httpapi recognize the difference and start a shellserver
session when appropriate.  Next step will be to wire up enumeration of
current shellserver sessions, debug ssh.py traceback, delete on remote
close, and auto-delete when no client connected after some interval (e.g.
30 minutes).
2016-01-08 14:44:37 -05:00
Jarrod Johnson
3d926bb264 Amend core to pass shell objects through
For 'handler' plugin definitions, also recognize
the 'console' exception to allow the plugin to pass
through to the shellserver infrastructure.
2016-01-08 14:44:29 -05:00
Jarrod Johnson
ff857bce14 Retrofit consoleserver and make shellserver
Provide a common 'shellserver' capability cloned off of 'consoleserver'.
This will enable the concept of per-user shells with option for multiple
shells per.  Each user will have their own set of shell sessions rather
than shared across users.  Can revisit in future if sharing between
users is desired.
2016-01-08 14:44:25 -05:00
Jarrod Johnson
9146fce016 Add internal resource for 'shell' 2016-01-08 14:44:22 -05:00
Juliana Motira
9b52e276cc Implement remote KVM command 2015-10-07 14:16:54 -03:00
Jarrod Johnson
fa545eeaee Merge pull request #20 from jufm/ntpconfig
Implement NTP config command
2015-10-07 13:12:27 -04:00
Juliana Motira
5590b4138e Implement NTP config command 2015-10-07 13:58:38 -03:00
Jarrod Johnson
f78a4d6074 Merge pull request #26 from jjohnson42/windowssupport
Support Windows management server
2015-09-30 10:19:54 -04:00
Jarrod Johnson
db3320e2ec Merge pull request #29 from jjohnson42/moveleds
Move 'leds' to be a hardware sensor category
2015-09-28 14:44:24 -04:00
Jarrod Johnson
0ae2b7acc6 Move 'leds' to be a hardware sensor category
Rather than 'led' being distinct from 'hardware',
have 'leds' be a category of 'hardware' like 'fans'
or other things similarly hardware related.
2015-09-28 11:20:44 -04:00
Jarrod Johnson
765c15ed5b Revert 'confluentd' change
After further investigation, the rename to confluentd was not
needed (after massaging pathex and using pip to install rather
than distutils).
2015-09-23 11:48:27 -04:00
Jarrod Johnson
29417d935c Phase 2 of Windows compatibility
More work to try to enable confluent to be frozen by
pyinstaller
2015-09-23 11:48:20 -04:00
Jarrod Johnson
b48cd8b685 Implement basic functionality under windows
Windows support by removing pid file, daemonizing, locking,
and other features.  Goal is to have a freezeable payload.
2015-09-23 11:48:17 -04:00
Juliana Motira
b1b4ee4634 Implement domain name command 2015-09-14 08:35:57 -03:00
Juliana Motira
e7ff4fdd93 Implement MCI command 2015-09-08 12:24:47 -03:00
Juliana Motira
c20f0dc2ae Implement reset command
Added a reset bmc command in nodes/<node_name>/configuration/management_controller/reset
2015-08-27 10:29:24 -03:00
Juliana Motira
dc0c7270a4 Changing LEDs structure 2015-08-24 14:47:07 -03:00
Allan Vidal
2fb63a34ba Add LED status retrieval. 2015-08-24 09:13:32 -03:00
Juliana Motira
55c333b198 Add get firmware information.
Show OEM firmware information in /nodes/[node]/inventory/firmware/.
2015-08-24 09:12:44 -03:00
Jarrod Johnson
ff52ad4740 Implement read network configuration
Read network configuration from the endpoint and present
under the management_controller configuration.
2015-07-29 08:17:41 -04:00
Jarrod Johnson
14a9220acb Enable support for IPMI user management
Provide a framework for management of users on managed endpoints, and implement for IPMI plugin.

From Juliana Motira
2015-07-07 11:20:04 -04:00
Jarrod Johnson
86f66e9795 Implement a resource to decode alerts
This allows a standalone trap handler to request
decode from confluent via API interfaces.
2015-06-26 15:20:24 -04:00
Jarrod Johnson
fefe1dc9e8 Add alert destination configuration
Alert destination configuration is now added.  This depends on
an as yet unreleased pyghmi capability.
2015-05-29 17:04:25 -04:00
Jarrod Johnson
7b02954da8 Reorder core resource list in alphabetical order
Clean up ordering to be in (roughly) alphabetical order
so it's a tad easier to follow.
2015-05-29 11:17:44 -04:00
Jarrod Johnson
c6d0d87ca9 Add event log to interface
Add a draft event log interface along with an ipmi implementation.
This requires current git master of pyghmi.  Release of pyghmi will
be done before this commit lands in a confluent release.
2015-05-15 16:49:52 -04:00
Victor Hu
7baec5a69f In load_plugins, check for __init__.py files and avoid adding
them into the pluginmap
2015-05-05 16:36:04 -04:00
Jarrod Johnson
6204628f43 Add support for inventory
Present 'inventory/hardware/all/' hierarchy.  Currently
only ipmi and 'all/all' works.  The data structure may be amended in
the very near future as well.
2015-04-27 16:57:52 -04:00
Jarrod Johnson
17b5d5a816 Fix issue where ipmi plugin would continue despite error
In changing to do multi-node, some flow was altered.  Where it would
formerly cease execution, the changes made it continue.  Add return
statements to match everywhere that return statements were effectively
removed.
2015-03-26 09:53:34 -04:00
Jarrod Johnson
d53c4dce58 Natural sort of group names when collection queried
Keeping with the theme of natural sort, apply it to '/nodegroups/' requests.
2015-03-25 10:01:44 -04:00
Jarrod Johnson
1c6430bf3f Allow noderange pagination of all nodes
When a noderange starts with '<' or '>', use the set of all nodes as basis for pagination.
Additionally, provide better feedback to client on noderange parsing issues.  Also
implement natural sort in various places after doing it for the pagination.
2015-03-25 09:57:25 -04:00
Jarrod Johnson
a85ffa8f8b Add regex names and attribute match to noderange
Enhance noderange to implement:
attribute.name==value (also attribute.name=value) -- strict equality match
attribute.name=~value -- regular expression match
attribute.name!=value -- strict negative match
attribute.name!~value -- negative regular expression match
~nameexpression -- search by node name using regular expression

This also goes a step further by intelligently limiting searches when found to the right of @ or ,-.
2015-03-24 14:47:38 -04:00
Jarrod Johnson
8b5d5b1f33 Remove development output from core
The enumerate_node_collection function had a stray print output.
Remove that output now that the function is baked.
2015-03-24 11:21:53 -04:00