Bug 1734362 - fence_ipmilan does not put the lanplus=true parameters in the pcs configuration.
Summary: fence_ipmilan does not put the lanplus=true parameters in the pcs configuration.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-tripleoclient
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: z9
: 13.0 (Queens)
Assignee: Michele Baldessari
QA Contact: pkomarov
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-07-30 11:12 UTC by Pierre Amadio
Modified: 2019-11-07 14:01 UTC (History)
10 users (show)

Fixed In Version: python-tripleoclient-9.3.1-1.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-07 14:01:17 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 673955 0 None MERGED Make ipmi lanplus the default in auto fencing 2020-06-30 07:43:04 UTC
Red Hat Product Errata RHBA-2019:3794 0 None None None 2019-11-07 14:01:36 UTC

Description Pierre Amadio 2019-07-30 11:12:10 UTC
I deploy RHOSP13.
I am using ipmi as fencing mechanism for the underecloud's controllers and as a way for tripleo to power on and off the nodes.
I import the overcloud node with

openstack overcloud node import ~/instackenv.json

Excerpt from the instackenv.json:

       {
            "mac":[
                "00:00:77:88:00:02"
            ],
            "name":"controller01",
            "cpu":"4",
            "memory":"32768",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"redhat",
            "pm_addr":"192.168.104.1",
            "pm_port":"6234"
        }, 

The node can be powered on and off when needed during introspection and deployment.

In order for the controller node to be able to fence other controller node, i use a fencing.yaml that has been created with:

openstack overcloud generate fencing instackenv.json --output fencing.yaml

Excerpt from the file:

  EnableFencing: true
  FencingConfig:
    devices:
    - agent: fence_ipmilan
      host_mac: 00:00:77:88:00:01
      params:
        ipaddr: 192.168.104.1
        ipport: '6233'
        login: admin
        passwd: redhat

Now, when the undercloud is deployed, a "pcs status" show tht the fencing device are stopped:

 stonith-fence_ipmilan-000077880001     (stonith:fence_ipmilan):        Stopped
 stonith-fence_ipmilan-000077880002     (stonith:fence_ipmilan):        Stopped
 stonith-fence_ipmilan-000077880003     (stonith:fence_ipmilan):        Stopped

It show also this kind of error after the cleanup fail:

* stonith-fence_ipmilan-000077880001_start_0 on overcloud-controller-2 'unknown error' (1): call=254, status=Error, exitreason='',
    last-rc-change='Tue Jul 30 08:25:18 2019', queued=0ms, exec=21309ms

This is how Director configurd the fencing:

[heat-admin overcloud-controller-1 ~]$ sudo pcs stonith show stonith-fence_ipmilan-000077880001
 Resource: stonith-fence_ipmilan-000077880001 (class=stonith type=fence_ipmilan)
  Attributes: ipaddr=192.168.104.1 ipport=6233 login=admin passwd=redhat pcmk_host_list=overcloud-controller-0 power_timeout=60
  Operations: monitor interval=60s (stonith-fence_ipmilan-000077880001-monitor-interval-60s)


This is how i can actually fence a node:
ipmitool -I lanplus -U admin -P redhat -H 192.168.104.1 -p 6233 power off

Note that the pcs configuration is lacking the lanplus parameters.

This fix the problem:

sudo pcs stonith update stonith-fence_ipmilan-000077880001 lanplus=true
sudo pcs stonith update stonith-fence_ipmilan-000077880002 lanplus=true
sudo pcs stonith update stonith-fence_ipmilan-000077880003 lanplus=true

Chances are that the way the fence_ipmilan template is used can be improved to automatically add the lanplus parameter.

Comment 1 Michele Baldessari 2019-08-01 08:28:06 UTC
Note that you can just add --ipmi-lanplus to the generate fencing command.

We did switch to that as default in rocky. I will use this BZ to track the backport of that

Comment 4 Luca Miccini 2019-11-05 07:35:58 UTC
verified on 2019-10-23.1:

        parser.add_argument('--ipmi-lanplus',
                            dest='ipmi_lanplus',
                            default=True,
                            action='store_true',
                            help=_('DEPRECATED: This is the default.'))

Comment 6 errata-xmlrpc 2019-11-07 14:01:17 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://access.redhat.com/errata/RHBA-2019:3794


Note You need to log in before you can comment on or make changes to this bug.