[RFE] Support nokeepalive for serial console in the ipmitool driver

Bug #1618842 reported by Łukasz Leszczuk
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
In Progress
Wishlist
Galyna Zholtkevych

Bug Description

When serial console is started, there is no way to tell ipmitool to use `nokeepalive` option. In certain cases lack of this flag breaks long running sol sessions.

Use of this flag should be customizable by either driver_info or ironic.conf.

Reference:
- https://github.com/openstack/ironic/blob/bc330c934b848efb700ead6f5681ab9412340511/ironic/drivers/modules/ipmitool.py#L1207
- http://linux.die.net/man/1/ipmitool

Tags: rfe-approved
description: updated
Changed in ironic:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (master)

Fix proposed to branch: master
Review: https://review.openstack.org/372830

Changed in ironic:
assignee: nobody → Xu Ao (xuao)
status: Confirmed → In Progress
Dmitry Tantsur (divius)
summary: - serial over lan console do not support nokeepalive
+ Support nokeepalive for serial console in the ipmitool driver
Changed in ironic:
importance: Medium → Wishlist
tags: added: rfe-approved
summary: - Support nokeepalive for serial console in the ipmitool driver
+ [RFE] Support nokeepalive for serial console in the ipmitool driver
Changed in ironic:
assignee: Xu Ao (xuao) → Galyna Zholtkevych (gzholtkevych)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ironic (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/446571

Revision history for this message
Galyna Zholtkevych (gzholtkevych) wrote :

We cannot just change this option to nokeepalive. It is not good idea even to create this possibility.
The next solution is proposed:

1) using systemd init system. Logs using ironic-conductor as service unit:
http://paste.openstack.org/show/604822/

2) upon conductor failure stop consoles if ironic conductor exited due to some programming unexpected error (related patch above).

Revision history for this message
Galyna Zholtkevych (gzholtkevych) wrote :

Along with this change the patch https://review.openstack.org/372830 is welcome to be abandoned

Revision history for this message
Galyna Zholtkevych (gzholtkevych) wrote :

At the comment #3 first case covers second one, so just need to update console doc

Revision history for this message
Madhuri Kumari (madhuri-rai07) wrote :

Hi Galyna,

I tried to test this case with ironic-conductor managed by systemd and below is my observation:

Steps:
1. Started a console process by::

$ ironic node-set-console-mode node-0 true
$ ironic node-validate node-0
+------------+--------+---------------+
| Interface | Result | Reason |
+------------+--------+---------------+
| boot | True | |
| console | True | |
| deploy | True | |
| inspect | None | not supported |
| management | True | |
| network | True | |
| power | True | |
| raid | True | |
| storage | True | |
+------------+--------+---------------+
$ ironic node-get-console node-0
+-----------------+------------------------------------------------------------------+
| Property | Value |
+-----------------+------------------------------------------------------------------+
| console_enabled | True |
| console_info | {u'url': u'http://10.223.197.184:7777', u'type': u'shellinabox'} |
+-----------------+------------------------------------------------------------------+

2. The console process was started::

$ ps -eaf |grep shellinabox
ubuntu 75377 1 0 11:12 ? 00:00:00 shellinaboxd -t -p 7777 --background=/tmp/894fd6dc-b2c4-47bd-8054-0d46fce595cf.pid -s /:1000:1000:HOME:ipmitool -H 10.223.197.184 -I lanplus -U admin -f /tmp/894fd6dc-b2c4-47bd-8054-0d46fce595cf.pw -v sol activate
ubuntu 75378 75377 0 11:12 ? 00:00:00 shellinaboxd -t -p 7777 --background=/tmp/894fd6dc-b2c4-47bd-8054-0d46fce595cf.pid -s /:1000:1000:HOME:ipmitool -H 10.223.197.184 -I lanplus -U admin -f /tmp/894fd6dc-b2c4-47bd-8054-0d46fce595cf.pw -v sol activate
ubuntu 75533 74715 0 11:17 pts/1 00:00:00 grep --color=auto shellinabox

3. Stopped ironic-conductor service::
$ sudo systemctl ironic-conductor stop

4. Still the shellinaboxd processes were running.
5. Restarted ironic-conductor.
6. Disabled the node's console::
$ironic node-set-console-mode node-0 false

7. After this the console processes were successfully killed::
$ ps -eaf |grep shellinabox
ubuntu 77041 74715 0 12:11 pts/1 00:00:00 grep --color=auto shellinabox

$ ironic node-get-console node-0
+-----------------+-------+
| Property | Value |
+-----------------+-------+
| console_enabled | False |
| console_info | None |
+-----------------+-------+

CONCLUSION:
As per your comment #3, using default configuration of unit service file processes of same cgroup will be also killed. But the shellinabox process was running.

Can you please check this and let me know your opinion?

Thanks,
Madhuri

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on ironic (master)

Change abandoned by Dmitry Tantsur (<email address hidden>) on branch: master
Review: https://review.openstack.org/372830
Reason: Abandoning due to inactivity

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Dmitry Tantsur (<email address hidden>) on branch: master
Review: https://review.openstack.org/446571
Reason: Abandoning due to inactivity

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.