Add IPMI channels support and tool to configure lan channel#43
Conversation
830a39b to
256e2d9
Compare
|
Please let me know when/if this is ready for an initial review (or if you just want feedback), then I'll take a look at it. |
Added GetChannelInfo command + ChannelInfo parsing, defined channel medium/protocol/session enums with Display. Signed-off-by: Denys Fedoryshchenko <[email protected]>
prints IPMI channel medium/protocol/session. This is foundational work for an ipmi-lan tool; it provide details needed to locate LAN channels before managing their configuration. Signed-off-by: Denys Fedoryshchenko <[email protected]>
Implemented the LAN config library pieces to retrieve LAN parameters from a channel. This is initial, raw-first API design, providing low-level access to LAN configuration data. Signed-off-by: Denys Fedoryshchenko <[email protected]>
Added an example in ipmi-channels, displaying LAN configuration parameters using the new Transport module. Signed-off-by: Denys Fedoryshchenko <[email protected]>
This automation tool is self-sufficient, and expected to be highly
useful for automation script, to validate, set up IPMI lan config.
Implementing read part.
./ipmi-lan-config
{
"channels": [
{
"channel_number": 2,
"lan_config": {
"ip_address": "10.168.110.3",
"subnet_mask": "255.255.255.0",
"gateway": "10.168.110.1",
"mac_address": "90:1B:0E:XX:XX:XX",
"ip_source": "BIOS/System software",
"default_gateway_mac": "C4:AD:34:XX:XX:XX",
"backup_gateway": "0.0.0.0",
"backup_gateway_mac": "00:00:00:00:00:00"
}
}
]
}
Signed-off-by: Denys Fedoryshchenko <[email protected]>
256e2d9 to
7bfb906
Compare
…e library Implementing necessary harness to write LAN configuration. Signed-off-by: Denys Fedoryshchenko <[email protected]>
We can use same json schema we received on get - to configure IPMI. Tested on real server. Adding dependencies and using serde_json properly. Signed-off-by: Denys Fedoryshchenko <[email protected]>
deedbca to
b1bf2c2
Compare
|
Ready, and tested (except tested v6 set, but can't test if it really works yet) |
datdenkikniet
left a comment
There was a problem hiding this comment.
Another really cool addition! Thank you.
Some minor change requests.
Would you also update the table of supported commands in the README?
| } | ||
|
|
||
| fn render_schema() -> &'static str { | ||
| r#"{ |
There was a problem hiding this comment.
Could you include these as .json files and include_str! them instead?
|
I will push as fixups and i guess will do squash after review done? |
bca276d to
3128ec2
Compare
Will help sysadmins what they can set and what not. Signed-off-by: Denys Fedoryshchenko <[email protected]>
This is one of most important additions. AFAIK ipmitool doesnt support ipv6 at all. Signed-off-by: Denys Fedoryshchenko <[email protected]>
This will allow to read/set IPv6 address, dynamic parameters too. Signed-off-by: Denys Fedoryshchenko <[email protected]>
Sometimes channel might be disabled, this means even IPMI looks configured, LAN channel wont answer. We need functions to discover that. Signed-off-by: Denys Fedoryshchenko <[email protected]>
…upport Signed-off-by: Denys Fedoryshchenko <[email protected]>
6164ba9 to
8cba651
Compare
|
That looks good! Thank you, once again, for being receptive to feedback and all that, and for fixing up the commits in-line. |
Thank you too, you are best Rust maintainer i met. |
No description provided.