Bug 1347475

Summary: [NEC BP Review request][Ironic]IPMINative: add NativeIPMISocatConsole class
Product: Red Hat OpenStack Reporter: Yoshiki Ohmura <yohmura>
Component: openstack-ironicAssignee: Dmitry Tantsur <dtantsur>
Status: CLOSED ERRATA QA Contact: Raviv Bar-Tal <rbartal>
Severity: medium Docs Contact:
Priority: medium    
Version: 10.0 (Newton)CC: dtantsur, jschluet, kbasil, mburns, mkovacik, mlammon, mlopes, nlevinki, pchriste, pneedle, rhel-osp-director-maint, srevivo, t-torii, yohmura
Target Milestone: rcKeywords: FutureFeature, Triaged
Target Release: 10.0 (Newton)   
Hardware: Unspecified   
OS: Unspecified   
URL: https://review.openstack.org/#/c/293874/
Whiteboard:
Fixed In Version: openstack-ironic-6.2.1-4.el7ost Doc Type: Enhancement
Doc Text:
This update adds a socat-based serial console for IPMItool drivers. This was added because users may want to access a bare metal node's serial console in the same way that they access a virtual node's console. As a result, the new driver `pxe_ipmitool_socat` was added, with support for the serial console using the `socat` utility.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-14 15:40:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
conductor executes shellinabox instead of socat
none
ironic ipmi SOL over the socat working
none
Socat error in a unpatched conductor
none
verifying screen log none

Description Yoshiki Ohmura 2016-06-17 02:25:12 UTC
This is a request for a review of an upstream blueprint.

https://review.openstack.org/#/c/293874/

Comment 5 Dmitry Tantsur 2016-08-17 09:24:26 UTC
Hello!

Now that we have AgentAndIPMIToolAndSocatDriver, is there anything else we can do here? Is using IPMINative a hard requirement for you?

Comment 6 Yoshiki Ohmura 2016-08-17 10:24:32 UTC
Hi Dmirty, 

I filed this on behalf of our EPM partner NEC.
I've asked NEC members if we can close this, and now waiting for feedback/checking by NEC.

I believe we would be able to close if NEC have further request on this.

Best Regards,
Yoshiki

Comment 7 Yoshiki Ohmura 2016-08-19 06:17:53 UTC
> I believe we would be able to close if NEC have further request on this.

Should be:
I believe we would be able to close if NEC doesn't have further request on this.

Comment 8 Takashi Torii 2016-08-19 06:26:39 UTC
Sorry for reply late. Please close this.

Comment 9 Dmitry Tantsur 2016-08-19 08:19:32 UTC
Thanks! I'm putting this bug to modified to indicate that we now have support for nova-compatible console in some of our drivers (though not exactly the ones mentioned in the title).

Comment 11 Yoshiki Ohmura 2016-08-24 02:51:18 UTC
Hi Dmirty,

Thank you for your update.
As Torii-san wrote in his last comment, NEC agreed to close this.
I believe that NEC will open new ticket if they find that using IPMINative a hard requirement for them, and we can close this once.
However, I'm not sure what's the right status for this situation, I just remove NEC's tracker from blocks field once instead of closing this.

Regards,
Yoshiki

Comment 12 Dmitry Tantsur 2016-08-24 11:11:38 UTC
Thanks! I've put it to MODIFIED for our QE to pick and test it for OSP 10.

Comment 14 mkovacik 2016-10-17 13:05:00 UTC
Could you please state what exactly should be checked here in terms of Expected results?
Thanks,
milan

Comment 15 Dmitry Tantsur 2016-10-17 13:27:50 UTC
Milan, we need to test this bit: http://docs.openstack.org/developer/ironic/deploy/console.html#node-serial-console. The expected result is possibility to enable serial console in Ironic. It's not required to be available out-of-box at this stage, so some manual configuration is expected (see the link).

Comment 17 mkovacik 2016-11-03 17:08:31 UTC
Created attachment 1217095 [details]
conductor executes shellinabox instead of socat

Seems this feature is broken;
Following http://docs.openstack.org/developer/ironic/deploy/console.html#node-serial-console leads to the conductor starting the shellinabox console instead of the socat one even though I've set the driver_info parameter: 'ipmi_terminal_port': 54321 (see the last_error field in the attached ironic node-show output)

[stack@seal01 ~]$ rpm -qa openstack-ironic*
openstack-ironic-conductor-6.2.1-2.el7ost.noarch
openstack-ironic-api-6.2.1-2.el7ost.noarch
openstack-ironic-inspector-4.2.0-2.el7ost.noarch
openstack-ironic-common-6.2.1-2.el7ost.noarch

Comment 18 Dmitry Tantsur 2016-11-03 17:18:13 UTC
Could you please try applying https://review.openstack.org/#/c/363647/? maybe we should backport it.

Comment 19 Dmitry Tantsur 2016-11-04 12:27:41 UTC
Ignore me, you're using the wrong driver:

| driver                 | pxe_ipmitool 

Please take another look at http://docs.openstack.org/developer/ironic/deploy/console.html#node-serial-console.

I'm still backporting the bug I mentioned above just in case.

Comment 21 mkovacik 2016-11-07 18:12:35 UTC
Created attachment 1218173 [details]
ironic ipmi SOL over the socat working

I was able to get a telnet connection to the ipmi SOL having changed the node driver to pxe_ipmi_socat and having applied the patch: https://review.openstack.org/#/c/393746

Comment 22 mkovacik 2016-11-08 09:41:42 UTC
Created attachment 1218462 [details]
Socat error in a unpatched conductor

Comment 23 Dmitry Tantsur 2016-11-08 11:06:56 UTC
Backport is awaiting review.

Comment 24 Dmitry Tantsur 2016-11-08 14:47:38 UTC
Backport merged

Comment 26 mkovacik 2016-11-14 22:04:30 UTC
Created attachment 1220552 [details]
verifying screen log

This feature works indeed.
There may be several caveats:

* install socat&telnet
* enable the pxe_ipmitool_socat driver in /etc/ironic/ironic.conf [1]
* change the driver of existing baremetal nodes to pxe_ipmitool_socat
* update pxe_append_params in /etc/ironic/ironic.conf [1]
* you may need to use different tty (for me ttyS0 didn't work but ttyS1 did)
* the image you're deploying has to have console forwarding set the same way (in grub)

[1] http://docs.openstack.org/developer/ironic/deploy/console.html#node-serial-console

Comment 27 mkovacik 2016-11-14 22:07:20 UTC
verified in:

[stack@seal01 ~]$ rpm -qa '*ironic*'
openstack-ironic-common-6.2.1-4.el7ost.noarch
python-ironicclient-1.7.0-1.el7ost.noarch
openstack-ironic-api-6.2.1-4.el7ost.noarch
openstack-ironic-conductor-6.2.1-4.el7ost.noarch
python-ironic-lib-2.1.1-1.el7ost.noarch
python-ironic-inspector-client-1.9.0-1.el7ost.noarch
openstack-ironic-inspector-4.2.0-2.el7ost.noarch
puppet-ironic-9.4.1-1.el7ost.noarch
[stack@seal01 ~]$ rpm -q --changelog openstack-ironic-common-6.2.1-4.el7ost.noarch
* Thu Nov 10 2016 Jon Schlueter <jschluet> 1:6.2.1-4
- [install-guide] describe service clients auth
- IPMI command should depend on console type (rhbz#1347475)

# ---%<----

Comment 29 errata-xmlrpc 2016-12-14 15:40:24 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-2948.html