ipmi template tries to apply ipmi to *hosts* address rather than ipmi address
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
Critical
|
Julian Edwards |
Bug Description
The maas 'ipmi.template' has the following code:
| # Parameters.
| power_change=
| power_address=
| ...
| # If ip_address was supplied, use it in preference to the power_address,
| # because it gets discovered on-the-fly based on mac_address.
| {{if ip_address}}
| power_address=
| {{endif}}
| ...
|
| issue_ipmi_
| echo workaround |\
| ${ipmipower} ${workarounds} ${driver_option} -h ${power_address} -u ${power_user} -p ${power_pass} "$@"
| ...
The "if ip_address" section is simply wrong.
If maas is aware of an ip address that it would use for this *HOST*, then it will try to contact ipmi at that address.
The following is some output of my debug statements in ipmi.template, with stdout and stderr in line:
| Mon, 17 Mar 2014 19:44:03 +0000: [4741] power_address=
| echo workaround | /usr/sbin/
| /usr/sbin/
| echo workaround | /usr/sbin/ipmipower -W opensesspriv --driver-
| 192.168.9.7: connection timeout
| Mon, 17 Mar 2014 19:44:44 +0000: ret=0
Related branches
- Julian Edwards (community): Approve
-
Diff: 33 lines (+7/-5)2 files modifiedetc/maas/templates/power/ipmi.template (+5/-3)
src/provisioningserver/power_schema.py (+2/-2)
Changed in maas: | |
status: | New → In Progress |
importance: | Undecided → Critical |
assignee: | nobody → Julian Edwards (julian-edwards) |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in maas: | |
status: | Fix Committed → In Progress |
Changed in maas: | |
status: | In Progress → Fix Committed |
milestone: | none → 14.04 |
tags: | added: blocks-hwcert-server |
Changed in maas: | |
status: | Fix Committed → Fix Released |
Scott, I have previously tested this quite thoroughly on my local servers and I can't find anything wrong.
The ip_address is only set in the template if mac_address is defined in the power parameters. That mac_address is supposed to be the MAC of the BMC, *not* the host.
The intention of this logic is to get around the fact that BMCs that use DHCP can change their IP address at any time. If you want to revert to the old behaviour, don't set the MAC address.