#For IMMs, there are a few contexts where setup is most sensibly done remotely via CLI automation, or must be done remotely.
#If slp driven discovery, this is the sensible path pretty much in all scenarios (rack and flex)
#for bmcsetup, it still makes sense for IBM Flex system servers where the server is forbidden from manipulation local authentication
#data
#setupIMM
#Arguments:
# first argument: the nodename to be managed (*NOT* the IMM, the node managed by the IMM)
# named arguments:
# nodedata - structure containing miscellaneous information about the target IMM. Currently, macaddress is the only member of interest
# skipbmcidcheck - if true will do the ssh in even if the bmcid indicates otherwis. remoteimmsetup context, for example, is better served with this strategy
# skipnetconfig - if true, will not issue ifconfig type commands. In remoteimmsetup, this is handled in the typical bmcsetup way
# callback - function to handle getting output back to client
# cliusername - username to use for ssh (might not match ipmi)
# clipassword - password for cli
# curraddr - current address (in case current address does not match intended address