Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use freeipmi instead of ipmitool in ipmi plugin #58

Open
rezib opened this issue Jan 15, 2016 · 7 comments
Open

Use freeipmi instead of ipmitool in ipmi plugin #58

rezib opened this issue Jan 15, 2016 · 7 comments

Comments

@rezib
Copy link
Member

rezib commented Jan 15, 2016

This needs some tests of freeipmi utilities beforehand and check it can integrate seemlessly.

@rezib
Copy link
Member Author

rezib commented Jan 15, 2016

Install freeipmi with:

# apt-get install freeipmi

Then add user/password into /etc/freeipmi/freeipmi.conf.

Then, all freeipmi commands can use these settings transparently:

# ipmipower --host immadcn[01-12] --stat
immadcn06: on
immadcn03: on
immadcn11: on
immadcn07: on
immadcn08: on
immadcn02: on
immadcn10: on
immadcn01: on
immadcn12: on
immadcn05: on
immadcn04: on
immadcn09: on

Or even better:

# ipmipower --host immadcn[01-12] --stat -C
----------------
immadcn[01-12]
----------------
 on

Here is the mapping between clara params and freeipmi commands:

  • connect: ipmi-console or conman
  • deconnect: ipmi-console --deactivate
  • getmac: ipmi-fru or bmc-info (and parse output)
  • on: ipmipower --on
  • off: ipmipower --off
  • status: ipmipower --stat
  • reboot: ipmipower --reset
  • setpwd: bmc-config -e "KEY=VALUE"
  • pxe/disk: ipmi-chassis-config -e "KEY=VALUE"
  • bios: ipmi-chassis-config -e "KEY=VALUE"
  • immdhcp: bmc-config -e "KEY=VALUE"
  • blink: ipmi-chassis --chassis-identify=FORCE
  • reset: bmc-device --cold-reset
  • sellist: ipmi-sel
  • selclear: ipmi-sel --clear

We can also remove all parallel/nodeset logic in IPMI plugin since everything is managed natively by freeipmi.

@hmlth
Copy link
Member

hmlth commented Feb 8, 2017

  • freeipmi options are a lot more complicated and less obvious
  • freeipmi do not work with the name of the node

@rezib
Copy link
Member Author

rezib commented Feb 9, 2017

I've thought a bit more about this. I think we should:

  • Remove the ipmi plugin from clara, as it is something weird inside clara which only manage software related stuff otherwise.
  • Write a tiny python wrapper over freeipmi (notably to manage the hostname prefix) that also offer a python library.
  • Use that library in things like monitoring plugins, clearsel script (and friends), in slurm-pwmgt-nodes, and so on.

This way, we get:

  • all advantages of the clara ipmi plugin in terms of user experience,
  • possibility to install this tiny wrapper on nodes where clara is not desired,
  • we can factorize code in many other components.

What do you think?

@mehdid
Copy link
Collaborator

mehdid commented Feb 9, 2017

I am not sure I understand correctly "Remove the ipmi plugin from clara"... especially, when one of the outcomes is "all advantages of the clara ipmi plugin in terms of user experience".
So what is this about?

@rezib
Copy link
Member Author

rezib commented Feb 9, 2017

How do you get the other outcomes without going through all the 3 steps of the action plan?

@mehdid
Copy link
Collaborator

mehdid commented Feb 11, 2017

It is not easy to offer the same user experience by removing the plugin and replacing it with something that behaves differently. :-)

@rezib
Copy link
Member Author

rezib commented Feb 12, 2017

It can obviously behave exactly the same, just replacing clara ipmi by $newstuff in the command line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants