ClusterLabs / resource-agents

Combined repository of OCF agents from the RHCS and Linux-HA projects
GNU General Public License v2.0
488 stars 577 forks source link

Fix: openstack-info: Ensure no newlines in openstack_ports #1929

Closed nrwahl2 closed 3 months ago

nrwahl2 commented 3 months ago

This makes the openstack_ports variable match the format specified in the openstack-info metadata (see longdesc). It should be a comma-separated list of "SUBNET_ID:PORT_ID". It should not be

SUBNET_A
SUBNET_B:PORT_1,SUBNET_C
SUBNET_D:PORT_2,

But rather

SUBNET_A:PORT1,SUBNET_B:PORT1,SUBNET_C:PORT2,SUBNET_D:PORT2

The newlines caused parsing issues in an experimental version of Pacemaker. Pacemaker is being fixed (https://github.com/ClusterLabs/pacemaker/pull/3395), but this illustrated an issue in openstack-info that makes parsing rather precarious.

openstack-virtual-ip is capable of parsing either format without changes on a stable release of Pacemaker.

However, looking ahead, it should be updated to use attrd_updater --output-as=xml to query the attribute, as the XML output is much easier and more reliable to parse. (It should check the Pacemaker feature set to determine whether XML output is available for attrd_updater.)


@oalbrigt if you or someone in QE can sanity-check this in an OSP environment, that would be great, or it can wait until Fabio is back.

I tested this last week when Fabio's test environment was up. It worked fine, and as far as I know the code here is the same as what I tested.

knet-jenkins[bot] commented 3 months ago

Can one of the admins check and authorise this run please: https://ci.kronosnet.org/job/resource-agents/job/resource-agents-pipeline/job/PR-1929/1/input

fabbione commented 3 months ago

retest this please

fabbione commented 3 months ago

tested with both openstack-virtual-ip and floating-ip and it gets the job done.