Merge ~rafaeldtinoco/ubuntu/+source/fence-agents:lp1865523-bionic into ubuntu/+source/fence-agents:ubuntu/bionic-devel

Proposed by Rafael David Tinoco
Status: Merged
Merge reported by: Rafael David Tinoco
Merged at revision: e205fc5152aa253fdc99c2689e37f41dc275f6a7
Proposed branch: ~rafaeldtinoco/ubuntu/+source/fence-agents:lp1865523-bionic
Merge into: ubuntu/+source/fence-agents:ubuntu/bionic-devel
Diff against target: 6068 lines (+5964/-7)
12 files modified
debian/changelog (+24/-0)
debian/patches/lp1865523-01-fencing-add-consistency-cmdline-stdin.patch (+158/-0)
debian/patches/lp1865523-02-fix-for-ignored-options.patch (+115/-0)
debian/patches/lp1865523-03-Maintain-ABI-compatibility.patch (+30/-0)
debian/patches/lp1865523-04-fence_scsi-Remove-period.patch (+26/-0)
debian/patches/lp1865523-05-fence_scsi-fix-python3-encoding.patch (+35/-0)
debian/patches/lp1865523-06-fence_scsi-fixes-around-node-id.patch (+123/-0)
debian/patches/lp1865523-07-fence-metadata-update.xml (+5441/-0)
debian/patches/remove-fence_amt_ws (+2/-2)
debian/patches/reproducible (+1/-1)
debian/patches/series (+7/-0)
debian/patches/zvm-stdint (+2/-4)
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Approve
Canonical Server Core Reviewers Pending
Canonical Server Pending
Review via email: mp+380242@code.launchpad.net

Commit message

Alright... I need someone to review this before uploading to Ubuntu Bionic. This is a "tricky" situation because based on all my previous tests I realized that fence_scsi was completely broken in Ubuntu Bionic.

The BUG is this:
https://bugs.launchpad.net/ubuntu/+source/pacemaker/+bug/1865523

I was only able to make fence_scsi to work using Pacemaker 1.1.19-0 (vanilla, from upstream).

The way I fixed fence_scsi was this:

I packaged pacemaker in latest 1.1.X version and kept it "vanilla" so I could bisect fence-agents. At that moment I realized that bisecting was going to be hard because there were multiple issues, not only one. I backported the latest fence-agents together with Pacemaker 1.1.19-0 and saw that it worked.

From then on, I bisected the following intervals:

4.3.0 .. 4.4.0 (eoan - working)
4.2.0 .. 4.3.0
4.1.0 .. 4.2.0
4.0.25 .. 4.1.0 (bionic - not working)

In each of those intervals I discovered issues. For example, Using 4.3.0 I faced problems so I had to backport fixes that were in between 4.4.0 and 4.3.0. Then, backporting 4.2.0, I faced issues so I had to backport fixes from the 4.3.0 <-> 4.2.0 interval. I did this until I was at 4.0.25 version, current Bionic fence-agents version.

This method, used whenever we want to keep the min possible difference in a SRU, has given me the following patches, ordered by date and interdependence:

+ d/p/lp1865523-02-fix-for-ignored-options.patch:
  - change agents opt names so pacemaker has better compat

+ d/p/lp1865523-03-Maintain-ABI-compatibility.patch:
  - keep ABI compatibility: deal with old and new agent opt names

+ d/p/lp1865523-05-fence_scsi-fix-plug-parameter.patch:
  - use "plug" argument instead of "nodename"
  - keep previous "nodename" if no "plug" is given

+ d/p/lp1865523-06-fence_scsi-fix-python3-encoding.patch:
  - encodes before calculating hash

+ d/p/lp1865523-08-fence_scsi-node-ID-new-format.patch:
  - detect node ID using new format (plug + nodename)

As the world isn't perfect, of course that, because of those patches, I needed some others. The SRU idea is always trying to keep patch as simpler as we can (to both: fix the issue without introducing new problems AND guarantee good maintainability).

I had to add the following patches because of that:

+ d/p/lp1865523-00-fencing-add-consistency-cmdline-stdin.patch:
  - makes sure cmdline and stdin accept same args

+ d/p/lp1865523-01-fence_scsi-add-FIPS-support.patch:
  - handle hashlib FIPS exceptions in place of generic error

+ d/p/lp1865523-04-fence_scsi-Remove-period.patch:
  - minor string correction

+ d/p/lp1865523-07-fence_scsi-fix-incorrect-SCSI-key.patch:
  - issue calculating SCSI key on > 10 nodes

With these changes I'm able to build the package as long as I'm not doing the build tests. For the build tests, I had to update the XML definitions for the fence agents that I have fixed. And that is what I did with the latest patch:

+ d/p/lp1865523-09-fence-metadata-update.xml:
  - updates all agents XML definitions for build tests

To post a comment you must log in.
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

I still have to finish fixing Pacemaker for the public bug (instead of using Vanilla 1.1.19). It is possible that I have to fix one thing or another in this package, bug, meanwhile, I thought about asking for a review so things are easier in the next push if there is a need for one.

Comments #3 and #4 show my fence_scsi fully working:

https://bugs.launchpad.net/ubuntu/+source/pacemaker/+bug/1865523/comments/3
https://bugs.launchpad.net/ubuntu/+source/pacemaker/+bug/1865523/comments/4

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

I have a PPA at:

https://launchpad.net/~ubuntu-server-ha/+archive/ubuntu/staging-bionic

This is the HA staging PPA and will be given to others (until the full Pacemaker + Fence Agents SRU isn't finished) in order to provide fence_scsi support (as the current one does not work).

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

That is a lot of work and I appreciate that.
I read through the bug and MP description now, the approach to all of this LGTM.

Looking at actual patches, changelog and builds now ...

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

SRU would be 4.0.25-2ubuntu1.1

review: Needs Fixing
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

other than that the changelog LGTM

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

+ + d/p/lp1865523-00-fencing-add-consistency-cmdline-stdin.patch:
+ - makes sure cmdline and stdin accept same args

This is a high amount of changes.
They look correct, but I'm afraid it is too much.
Plenty of old arguments got now deprecated - if fence is e.g. putting out warnings that might break people.
E.g. people used to use ipaddr and after the SRU they would get a deprecation warning.

Can we break this down to just those changes we actually need or are these massively intertwined?
If it can be reduced to just a few arguments it might be more review-able to check for the consequences e.g. of marking things deprecated.

+ + d/p/lp1865523-01-fence_scsi-add-FIPS-support.patch:
+ - handle hashlib FIPS exceptions in place of generic error

Sounds bad to refer to FIPS support.
Would we hit this bug (then keep it) or was this just needed to have patches apply for context (then remove this patch and modify the other).

+ + d/p/lp1865523-02-fix-for-ignored-options.patch:
+ - change agents opt names so pacemaker has better compat

This is guly, it is all whitespace but adding "on_target".
The upstream patch is different.
In general whenever you are not 100% as-upstreams patch please use "backport" instead of "upstream" in the origin tag and explain why you changed it.
If you have reduced the big patch to just what is needed that is fine, but please explain what/why.
That is true for all patches in this series

+ + d/p/lp1865523-03-Maintain-ABI-compatibility.patch:
+ - keep ABI compatibility: deal with old and new agent opt names

Odd, but ok (same tag/explain changes as above thou)

+ + d/p/lp1865523-04-fence_scsi-Remove-period.patch:
+ - minor string correction

THe patch says "existing version works fine", but I'm still scared can you make an A/B tests of orig and changed version please ?

+ + d/p/lp1865523-05-fence_scsi-fix-plug-parameter.patch:
+ - use "plug" argument instead of "nodename"
+ - keep previous "nodename" if no "plug" is given

I was scared first but glad that it had compat code in the patch.

+ + d/p/lp1865523-06-fence_scsi-fix-python3-encoding.patch:
+ - encodes before calculating hash

The shebang is variable
  1 #!@PYTHON@ -tt
Would this be a problem for python2?

+ + d/p/lp1865523-07-fence_scsi-fix-incorrect-SCSI-key.patch:
+ - issue calculating SCSI key on > 10 nodes
+ + d/p/lp1865523-08-fence_scsi-node-ID-new-format.patch:
+ - detect node ID using new format (plug + nodename)

These LGTM

+ + d/p/lp1865523-09-fence-metadata-update.xml:
+ - updates all agents XML definitions for build tests

That one really should get some more description and patch-tags.
I know it is the regen due to Ubuntu-patches, but still make it clear in the patch please.

review: Needs Fixing
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

This will need re-review later for sure, adding another review slot to not be solely on me and to have another pair of eyes on it then.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Thanks for this first review @paelzer! I mostly agree with all the concerns you brought and have thought about the same things on more than half of your highlights. I'm going to this use "working" version to check on pacemaker and revisit this to address the concerns that can be addressed.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

> SRU would be 4.0.25-2ubuntu1.1

need to put this "check" in my "checklist" =). dch -i is no good here.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Ok, ping me back when you want my re-review then ...

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

@paelzer, for your next review I have uploaded:

Uploading to ppa (via ftp to ppa.launchpad.net):
  Uploading fence-agents_4.0.25-2ubuntu1+staging~2.dsc: done.
  Uploading fence-agents_4.0.25-2ubuntu1+staging~2.debian.tar.xz: done.
  Uploading fence-agents_4.0.25-2ubuntu1+staging~2_source.buildinfo: done.
  Uploading fence-agents_4.0.25-2ubuntu1+staging~2_source.changes: done.

in:

https://launchpad.net/~ubuntu-server-ha/+archive/ubuntu/staging

I have already tested and it works the same way as the previous one.

I'm posting the answer to your questions in the next comment.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

+ + d/p/lp1865523-00-fencing-add-consistency-cmdline-stdin.patch:
+ - makes sure cmdline and stdin accept same args

This is a high amount of changes. They look correct, but I'm afraid it is too
much. Plenty of old arguments got now deprecated - if fence is e.g. putting out
warnings that might break people. E.g. people used to use ipaddr and after the
SRU they would get a deprecation warning.

Can we break this down to just those changes we actually need or are these
massively intertwined? If it can be reduced to just a few arguments it might be
more review-able to check for the consequences e.g. of marking things
deprecated.

RESPONSE:

New version for this patch:

    Description: fencing: Add consistency between command-line and STDIN arguments

        [Rafael David Tinoco]
        1. To normalize fence agents arguments names. There are multiple
           online documentation available pointing out different argument
           names for the agents.
        2. To normalize fence agents arguments between command line AND
           stdin. "fenced" sends parameters through stdin when executing
           an agent, they have to be the same.
        3. Deprecated attributes don't cause harm, they serve only as a
           guidance for metadata parsers AND for the XSL lint verification.
           Both attributes (deprecated vs obsoletes) are valid.
        4. Change in arguments processing (by converting '-' to '_') makes
           smoother needed fixes in other patches of this same patchset.
        5. All metadata changes (tests/data/metadata/*.xml) will have to be
           re-done at the end of this patchset, so they were removed from this
           patch on purpose.

Unfortunately this patch was a result of a bisection and it is needed because of
the normalization it does between stdin & cmdline (as the agents might be called
by both, using the same argument names).

I think items 1-5 answer your concerns. Let me know if they don't, please. They
are part of commit log message now.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

+ + d/p/lp1865523-01-fence_scsi-add-FIPS-support.patch:
+ - handle hashlib FIPS exceptions in place of generic error

Sounds bad to refer to FIPS support. Would we hit this bug (then keep it) or was
this just needed to have patches apply for context (then remove this patch and
modify the other).

> Trying to make cherry-picks smoother with this one... but:

>>> import hashlib
>>> hashlib.md5()
<md5 HASH object @ 0x7f5f1a699de0>
>>> hashlib.md5(usedforsecurity=False)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: openssl_md5() takes no keyword arguments

So I'm removing this one and adjusting the others.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

+ + d/p/lp1865523-02-fix-for-ignored-options.patch:
+ - change agents opt names so pacemaker has better compat

This is guly, it is all whitespace but adding "on_target". The upstream patch is
different. In general whenever you are not 100% as-upstreams patch please use
"backport" instead of "upstream" in the origin tag and explain why you changed
it. If you have reduced the big patch to just what is needed that is fine, but
please explain what/why. That is true for all patches in this series

RESPONSE:

Yep. This one is the continuation of the consistency between cmdline and stdin
patch. Not sure what happened here for it to be so messy, I have fixed it.

-> check cherry-pick/backport keywords in all patches.

RESPONSE:

Reviewed all of them.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

+ + d/p/lp1865523-04-fence_scsi-Remove-period.patch:
+ - minor string correction

THe patch says "existing version works fine", but I'm still scared can you make
an A/B tests of orig and changed version please ?

RESPONSE:

> That's because corosync-cmapctl accepts "." at the end of the command:

(k)rafaeldtinoco@clubionic01:~$ sudo corosync-cmapctl nodelist.hehe
-1

(k)rafaeldtinoco@clubionic01:~$ sudo corosync-cmapctl nodelist.a
-1

(k)rafaeldtinoco@clubionic01:~$ sudo corosync-cmapctl nodelista
-1

(k)rafaeldtinoco@clubionic01:~$ sudo corosync-cmapctl nodelist.
nodelist.local_node_pos (u32) = 0
nodelist.node.0.name (str) = clubionic01
nodelist.node.0.nodeid (u32) = 1
nodelist.node.0.ring0_addr (str) = 10.250.3.10
nodelist.node.1.name (str) = clubionic02
nodelist.node.1.nodeid (u32) = 2
nodelist.node.1.ring0_addr (str) = 10.250.3.11
nodelist.node.2.name (str) = clubionic03
nodelist.node.2.nodeid (u32) = 3
nodelist.node.2.ring0_addr (str) = 10.250.3.12

(k)rafaeldtinoco@clubionic01:~$ sudo corosync-cmapctl nodelist
nodelist.local_node_pos (u32) = 0
nodelist.node.0.name (str) = clubionic01
nodelist.node.0.nodeid (u32) = 1
nodelist.node.0.ring0_addr (str) = 10.250.3.10
nodelist.node.1.name (str) = clubionic02
nodelist.node.1.nodeid (u32) = 2
nodelist.node.1.ring0_addr (str) = 10.250.3.11
nodelist.node.2.name (str) = clubionic03
nodelist.node.2.nodeid (u32) = 3
nodelist.node.2.ring0_addr (str) = 10.250.3.12

But I prefer to have this change as a "dot" at the end of the argument can't seem right.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

+ + d/p/lp1865523-05-fence_scsi-fix-plug-parameter.patch:
+ - use "plug" argument instead of "nodename"
+ - keep previous "nodename" if no "plug" is given

I was scared first but glad that it had compat code in the patch.

RESPONSE:

> Plug argument did not exist before this patchset for fence_scsi.
> fence_scsi *does not* work currently.

> bisection brought me to this patch.

> fence_scsi gets a "--plug=[nodename] option" to work with current pacemaker

> fence_scsi keeps the behavior for those communicating with the fence agent
  using --nodename argument.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

+ + d/p/lp1865523-06-fence_scsi-fix-python3-encoding.patch:
+ - encodes before calculating hash

The shebang is variable
  1 #!@PYTHON@ -tt
Would this be a problem for python2?

> No BUT this patch patches the FIPS change I had to remove. I'll adapt it
and it will be fine.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

+ + d/p/lp1865523-09-fence-metadata-update.xml:
+ - updates all agents XML definitions for build tests

That one really should get some more description and patch-tags. I know it is
the regen due to Ubuntu-patches, but still make it clear in the patch please.

RESPONSE:

Err, I forgot to add patch notes. Now its better.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Download full text (3.4 KiB)

Thanks for addressing all my concerns!
I know it must have been a lot of work.

I was going through your replies one by one and comparing the related patches/commits.
There are still a few questions left, but we are much much closer to an upload!
Please don't feel slowed down by the review loop.

- Thanks for dropping #1 and cleaning #2 patch content

- Headers are now much better in general, thanks as well for that

- thanks for explaining the suffix "."
  In general upstreams commit messages are a bit too short.
  You adding some reasoning and statements why it should be safe
  helps a lot to not look at them in a bad way. This will surely help
  SRU review as well.
  -> I still don't see how lp1865523-04-fence_scsi-Remove-period.patch
     is stricly needed to SRU-fix the problem, but it is an ok fix
     to have. Did this change come up as real issue in your testing?
     Or did you just see it and thought it would be nice to have?
     I agree it seems a good change, but if it works both ways why
     not keep the update smaller - newer version already have it
     so the future is good?

- patch lp1865523-05-fence_scsi-fix-plug-parameter.patch adds a parm
  then lp1865523-07-fence_scsi-fix-incorrect-SCSI-key.patch and
  lp1865523-08-fence_scsi-node-ID-new-format.patch fix it up.
  I wonder (= I'm not sure and it is up to you) if that would read
  more nicely if we'd squash those three - keep all three patch
  headers and descriptions and explain that this is one functional
  change and its two fixups.
  Benefits:
   - looks (and is) less change/noise overall
   - one doesn't stare at a bad fix, to then look at the fix and
     then the fix of the fix. It would just look like the change it
     should have been all the time.

- I wondered if with all these changes
  https://code.launchpad.net/~rafaeldtinoco/ubuntu/+source/pacemaker/+git/pacemaker/+merge/380337
  at the new version of pacemaker it should in d/control
  bump the recommends to be version dependent to the new
  4.0.25-2ubuntu1.1. I'm unsure on this since a recommends isn't
  as strict if a versioned dep makes sense there, but it would
  reflect reality correctly. I checked other packages and the doc,
  versioned recommends does exist - so why not making this "correct"?
  What do you think?

## SRU Template 1 ##

This section in regression risks is odd to me:
"* This fix has a potential of breaking other "nowadays working" fencing agent. If that happens, I suggest that ones affected revert previous to previous package AND open a bug against either pacemaker and/or fence-agents."

On one hand every fix has that chance and OTOH chances are quite high after all your testing that if such a thing happens it won't be spotted in -proposed. And after having it in -updates all the users can use is the one in -release as they can't go to any version. It feels a bit odd, I'd feel better with something like:

"This is a quite complex change and I'd appreciate leaving it in -proposed for a while longer for a higher chance to detect issues. Furthermore there was no update since bionic release, so users could in the worst-case (and only then) report a bug and downgrade to the former versio...

Read more...

review: Needs Information
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

> I was going through your replies one by one and comparing the related
> patches/commits. There are still a few questions left, but we are much much
> closer to an upload! Please don't feel slowed down by the review loop.

Not at all @paelzer. I learned to see benefit on reviews, especially yours.

> I still don't see how lp1865523-04-fence_scsi-Remove-period.patch
> is stricly needed to SRU-fix the problem, but it is an ok fix
> to have. Did this change come up as real issue in your testing?
> Or did you just see it and thought it would be nice to have?
> I agree it seems a good change, but if it works both ways why
> not keep the update smaller - newer version already have it
> so the future is good?

I can remove it. It was put there just so other patches were clean cherry-picks.
OTOH, I have done extensive tests with it on.. but since there are some requests
from you at the bottom, maybe I should re-do the tests without.

> patch lp1865523-05-fence_scsi-fix-plug-parameter.patch adds a parm
> then lp1865523-07-fence_scsi-fix-incorrect-SCSI-key.patch and
> lp1865523-08-fence_scsi-node-ID-new-format.patch fix it up.
> I wonder (= I'm not sure and it is up to you) if that would read
> more nicely if we'd squash those three - keep all three patch
> headers and descriptions and explain that this is one functional
> change and its two fixups.

Yes, I like the idea. Somehow in the past we had a "rule" at SEG for 1:1 patch
with upstream and that is why i always do like that. But, like you said, for
things that are fixing/re-fixing and correlated I think it's a good approach!

> 4.0.25-2ubuntu1.1. I'm unsure on this since a recommends isn't
> as strict if a versioned dep makes sense there, but it would
> reflect reality correctly. I checked other packages and the doc,
> versioned recommends does exist - so why not making this "correct"?
> What do you think?

To be honest ? For HA I think that should be "mandatory". Whenever there is a
behavior fix that includes 2 or more packages, we should do a X<->Y map and
make dependencies to reflect that need. I'll do it.

> ## SRU Template 1 ##

> "this is a quite complex change and i'd appreciate leaving it in -proposed for
> a while longer for a higher chance to detect issues. Furthermore there was no
> update since bionic release, so users could in the worst-case (and only then)
> report a bug and downgrade to the former version"

Done. I think it's better indeed.

> ## SRU Template 2 ##

> The section "The way I fixed fence_scsi was this:" belongs under "Other Info"
> and not regression potential (IMHO).

+1. Done!

57872b8... by Rafael David Tinoco

* Fix fence_scsi agent arguments and node detection (LP: #1865523):
  + d/p/lp1865523-01-fencing-add-consistency-cmdline-stdin.patch AND
  + d/p/lp1865523-02-fix-for-ignored-options.patch
    - "fenced" sends commands through stdin
    - makes sure cmdline and stdin accept same args
    - normalize agents argument names (for pacemaker to work)
  + d/p/lp1865523-03-Maintain-ABI-compatibility.patch:
    - deal with old and new arguments from stdin
  + d/p/lp1865523-04-fence_scsi-Remove-period.patch:
    - minor string correction fixes fencing behavior
  + d/p/lp1865523-05-fence_scsi-fix-python3-encoding.patch:
    - encodes before calculating hash
  + d/p/lp1865523-06-fence_scsi-fixes-around-node-id.patch
    - use "plug" argument instead of "nodename" (external callers need)
    - keep previous "nodename" if no "plug" is given
    - issue calculating SCSI key on > 10 nodes
    - detect node ID using new format (plug + nodename)
  + d/p/lp1865523-07-fence-metadata-update.xml:
    - updates all agents XML definitions for build tests

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

I have re-tested the functionality and this new merge works.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

It still is complex, but I think we made it way better than is started.
Thanks for all the effort +1 for proposing this to the SRU Team as the next bar to pass :-)

review: Approve
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Thanks for reviewing this @paelzer and.. regarding the SRU.. considering that fence_scsi was not working *at all*, and we have no actual view on which resource and/or fence agents are working or not (we can only best guess from the bugs we have currently opened at launchpad) I would say that its "complex" but "needed" =).

I'll start seeking tests for Focal and have Eoan & Bionic also tested for the most important resource / fencing agents. That might give us another set of SRUs like this... hopefully not =).

Cheers o/

e205fc5... by Rafael David Tinoco

changelog

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

@paelzer FYIO, I brought the period patch back because I got misbehaviours when testing without it. I got one node being fenced in place of another and that definitely is not good =o). It could be because I was using GFS2 and fencing in the same disk.. but, still, I prefer to keep it as my tests show having that patch is good.

With that, I'm uploading this change for SRU review.

Thank you!

-rafaeldtinoco

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

This has already been uploaded:

commit 6d8eb863433a71d15aa98a6dc79466f46f7e9a55 (HEAD, tag: pkg/import/4.0.25-2ubuntu1.1, tag: import/4.0.25-2ubuntu1.1, pkg/ubuntu/bionic-proposed, pkg/ubuntu/bionic-devel)
Author: Rafael David Tinoco <email address hidden>
Date: Mon Mar 16 18:55:29 2020 +0000

    Import patches-unapplied version 4.0.25-2ubuntu1.1 to ubuntu/bionic-proposed

    Imported using git-ubuntu import.

    Changelog parent: 8a0a613f10870df8c28abdf2c10673eb210d5c88

    New changelog entries:
      * Fix fence_scsi agent arguments and node detection (LP: #1865523):
        + d/p/lp1865523-01-fencing-add-consistency-cmdline-stdin.patch AND
        + d/p/lp1865523-02-fix-for-ignored-options.patch
          - "fenced" sends commands through stdin
          - makes sure cmdline and stdin accept same args
          - normalize agents argument names (for pacemaker to work)
        + d/p/lp1865523-03-Maintain-ABI-compatibility.patch:
          - deal with old and new arguments from stdin
        + d/p/lp1865523-04-fence_scsi-Remove-period.patch:
          - minor string correction fixes fencing behavior
        + d/p/lp1865523-05-fence_scsi-fix-python3-encoding.patch:
          - encodes before calculating hash
        + d/p/lp1865523-06-fence_scsi-fixes-around-node-id.patch
          - use "plug" argument instead of "nodename" (external callers need)
          - keep previous "nodename" if no "plug" is given
          - issue calculating SCSI key on > 10 nodes
          - detect node ID using new format (plug + nodename)
        + d/p/lp1865523-07-fence-metadata-update.xml:
          - updates all agents XML definitions for build tests

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index 9e83205..41a81e0 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,27 @@
6+fence-agents (4.0.25-2ubuntu1.1) bionic; urgency=medium
7+
8+ * Fix fence_scsi agent arguments and node detection (LP: #1865523):
9+ + d/p/lp1865523-01-fencing-add-consistency-cmdline-stdin.patch AND
10+ + d/p/lp1865523-02-fix-for-ignored-options.patch
11+ - "fenced" sends commands through stdin
12+ - makes sure cmdline and stdin accept same args
13+ - normalize agents argument names (for pacemaker to work)
14+ + d/p/lp1865523-03-Maintain-ABI-compatibility.patch:
15+ - deal with old and new arguments from stdin
16+ + d/p/lp1865523-04-fence_scsi-Remove-period.patch:
17+ - minor string correction fixes fencing behavior
18+ + d/p/lp1865523-05-fence_scsi-fix-python3-encoding.patch:
19+ - encodes before calculating hash
20+ + d/p/lp1865523-06-fence_scsi-fixes-around-node-id.patch
21+ - use "plug" argument instead of "nodename" (external callers need)
22+ - keep previous "nodename" if no "plug" is given
23+ - issue calculating SCSI key on > 10 nodes
24+ - detect node ID using new format (plug + nodename)
25+ + d/p/lp1865523-07-fence-metadata-update.xml:
26+ - updates all agents XML definitions for build tests
27+
28+ -- Rafael David Tinoco <rafaeldtinoco@ubuntu.com> Mon, 16 Mar 2020 18:55:29 +0000
29+
30 fence-agents (4.0.25-2ubuntu1) bionic; urgency=medium
31
32 * debian/patches/zvm-stdint: Add missing header for zvm agent on
33diff --git a/debian/patches/lp1865523-01-fencing-add-consistency-cmdline-stdin.patch b/debian/patches/lp1865523-01-fencing-add-consistency-cmdline-stdin.patch
34new file mode 100644
35index 0000000..b07fc2a
36--- /dev/null
37+++ b/debian/patches/lp1865523-01-fencing-add-consistency-cmdline-stdin.patch
38@@ -0,0 +1,158 @@
39+Description: fencing: Add consistency between command-line and STDIN arguments
40+
41+ [Rafael David Tinoco]
42+ 1. To normalize fence agents arguments names. There are multiple
43+ online documentation available pointing out different argument
44+ names for the agents.
45+ 2. To normalize fence agents arguments between command line AND
46+ stdin. "fenced" sends parameters through stdin when executing
47+ an agent, they have to be the same.
48+ 3. Deprecated attributes don't cause harm, they serve only as a
49+ guidance for metadata parsers AND for the XSL lint verification.
50+ Both attributes (deprecated vs obsoletes) are valid.
51+ 4. Change in arguments processing (by converting '-' to '_') makes
52+ smoother needed fixes in other patches of this same patchset.
53+ 5. All metadata changes (tests/data/metadata/*.xml) will have to be
54+ re-done at the end of this patchset, so they were removed from this
55+ patch on purpose.
56+
57+Author: Marek 'marx' Grac <mgrac@redhat.com>
58+Origin: backport, https://github.com/ClusterLabs/fence-agents/commit/de490e0590
59+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1865523
60+Reviewed-by: Rafael David Tinoco <rafaeldtinoco@gmail.com>
61+Last-Update: 2020-03-13
62+---
63+ fence/agents/lib/fence2man.xsl | 6 +++++
64+ fence/agents/lib/fencing.py.py | 49 ++++++++++++++++++++++++----------
65+ fence/agents/lib/metadata.rng | 3 ++-
66+ 3 files changed, 43 insertions(+), 15 deletions(-)
67+
68+--- a/fence/agents/lib/fence2man.xsl
69++++ b/fence/agents/lib/fence2man.xsl
70+@@ -2,6 +2,7 @@
71+ <xsl:output method="text" indent="no"/>
72+ <xsl:template match="parameter">
73+ <xsl:param name="show" />
74++<xsl:if test="not(@deprecated)">
75+ .TP
76+ <xsl:if test="$show = 'getopt'">.B <xsl:value-of select="getopt/@mixed" /></xsl:if>
77+ <xsl:if test="$show = 'stdin'">.B <xsl:value-of select="@name"/></xsl:if>
78+@@ -19,6 +20,11 @@
79+ </xsl:if>
80+ <xsl:if test="not(content/@default)"><xsl:if test="@required = 1"> This parameter is always required.</xsl:if></xsl:if>
81+ <xsl:if test="content/@default"> (Default Value: <xsl:value-of select="content/@default"/>)</xsl:if>
82++<xsl:if test="$show = 'stdin'">
83++<xsl:if test="@obsoletes"> Obsoletes: <xsl:value-of select="@obsoletes" /></xsl:if>
84++</xsl:if>
85++
86++</xsl:if>
87+ </xsl:template>
88+
89+ <xsl:template match="action">
90+--- a/fence/agents/lib/fencing.py.py
91++++ b/fence/agents/lib/fencing.py.py
92+@@ -551,7 +551,12 @@
93+
94+ def metadata(avail_opt, docs):
95+ # avail_opt has to be unique, if there are duplicities then they should be removed
96+- sorted_list = [(key, all_opt[key]) for key in list(set(avail_opt))]
97++ sorted_list = [(key, all_opt[key]) for key in list(set(avail_opt)) if "longopt" in all_opt[key]]
98++ # Find keys that are going to replace inconsistent names
99++ mapping = dict([(opt["longopt"].replace("-", "_"), key) for (key, opt) in sorted_list if (key != opt["longopt"].replace("-", "_"))])
100++ new_options = [(key, all_opt[mapping[key]]) for key in mapping]
101++ sorted_list.extend(new_options)
102++
103+ sorted_list.sort(key=lambda x: (x[1]["order"], x[0]))
104+
105+ print("<?xml version=\"1.0\" ?>")
106+@@ -562,34 +567,43 @@
107+ print("<longdesc>" + docs["longdesc"] + "</longdesc>")
108+ print("<vendor-url>" + docs["vendorurl"] + "</vendor-url>")
109+ print("<parameters>")
110+- for option, _ in sorted_list:
111+- if "help" in all_opt[option] and len(all_opt[option]["help"]) > 0:
112+- print("\t<parameter name=\"" + option + "\" unique=\"0\" required=\"" + all_opt[option]["required"] + "\">")
113++ for (key, opt) in sorted_list:
114++ info = ""
115++ if key in all_opt:
116++ if key != all_opt[key].get('longopt', key).replace("-", "_"):
117++ info = "deprecated=\"1\""
118++ else:
119++ info = "obsoletes=\"%s\"" % (mapping.get(key))
120++
121++ if "help" in opt and len(opt["help"]) > 0:
122++ if info != "":
123++ info = " " + info
124++ print("\t<parameter name=\"" + key + "\" unique=\"0\" required=\"" + opt["required"] + "\"" + info + ">")
125+
126+ default = ""
127+- if "default" in all_opt[option]:
128+- default = "default=\"" + _encode_html_entities(str(all_opt[option]["default"])) + "\" "
129++ if "default" in opt:
130++ default = "default=\"" + _encode_html_entities(str(opt["default"])) + "\" "
131+
132+- mixed = all_opt[option]["help"]
133++ mixed = opt["help"]
134+ ## split it between option and help text
135+ res = re.compile(r"^(.*?--\S+)\s+", re.IGNORECASE | re.S).search(mixed)
136+ if None != res:
137+ mixed = res.group(1)
138+ mixed = _encode_html_entities(mixed)
139+
140+- if not "shortdesc" in all_opt[option]:
141+- shortdesc = re.sub("\s\s+", " ", all_opt[option]["help"][31:])
142++ if not "shortdesc" in opt:
143++ shortdesc = re.sub("\s\s+", " ", opt["help"][31:])
144+ else:
145+- shortdesc = all_opt[option]["shortdesc"]
146++ shortdesc = opt["shortdesc"]
147+
148+ print("\t\t<getopt mixed=\"" + mixed + "\" />")
149+- if "choices" in all_opt[option]:
150++ if "choices" in opt:
151+ print("\t\t<content type=\"select\" "+default+" >")
152+- for choice in all_opt[option]["choices"]:
153++ for choice in opt["choices"]:
154+ print("\t\t\t<option value=\"%s\" />" % (choice))
155+ print("\t\t</content>")
156+- elif all_opt[option]["getopt"].count(":") > 0:
157+- t = all_opt[option].get("type", "string")
158++ elif opt["getopt"].count(":") > 0:
159++ t = opt.get("type", "string")
160+ print("\t\t<content type=\"%s\" " % (t) +default+" />")
161+ else:
162+ print("\t\t<content type=\"boolean\" "+default+" />")
163+@@ -1297,14 +1311,21 @@
164+ def _parse_input_stdin(avail_opt):
165+ opt = {}
166+ name = ""
167++
168++ mapping_longopt_names = dict([(all_opt[o].get("longopt"), o) for o in avail_opt])
169++
170+ for line in sys.stdin.readlines():
171+ line = line.strip()
172+ if (line.startswith("#")) or (len(line) == 0):
173+ continue
174+
175+ (name, value) = (line + "=").split("=", 1)
176++ name = name.replace("-", "_");
177+ value = value[:-1]
178+
179++ if name in mapping_longopt_names:
180++ name = mapping_longopt_names[name]
181++
182+ if avail_opt.count(name) == 0 and name in ["nodename"]:
183+ continue
184+ elif avail_opt.count(name) == 0:
185+--- a/fence/agents/lib/metadata.rng
186++++ b/fence/agents/lib/metadata.rng
187+@@ -19,7 +19,8 @@
188+ <attribute name="name" />
189+ <attribute name="unique"> <ref name="boolean-values" /> </attribute>
190+ <attribute name="required"> <ref name="boolean-values" /> </attribute>
191+-
192++ <optional><attribute name="deprecated"> <ref name="boolean-values" /></attribute></optional>
193++ <optional><attribute name="obsoletes" /> </optional>
194+ <element name="getopt">
195+ <attribute name="mixed" />
196+ </element>
197diff --git a/debian/patches/lp1865523-02-fix-for-ignored-options.patch b/debian/patches/lp1865523-02-fix-for-ignored-options.patch
198new file mode 100644
199index 0000000..b9f1dc6
200--- /dev/null
201+++ b/debian/patches/lp1865523-02-fix-for-ignored-options.patch
202@@ -0,0 +1,115 @@
203+Description: fix for ignored options
204+
205+ [Rafael David Tinoco]
206+ 1. All metadata changes (tests/data/metadata/*.xml) will have to be
207+ re-done at the end of this patchset, so they were removed from this
208+ patch on purpose.
209+
210+Origin: backport, https://github.com/ClusterLabs/fence-agents/commit/eae9d029b7
211+Bug: https://github.com/ClusterLabs/fence-agents/pull/146
212+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1865523
213+Reviewed-by: Rafael David Tinoco <rafaeldtinoco@gmail.com>
214+Last-Update: 2020-03-13
215+---
216+ fence/agents/compute/fence_compute.py | 20 ++++++++++----------
217+ fence/agents/scsi/fence_scsi.py | 4 ++--
218+ 2 files changed, 12 insertions(+), 12 deletions(-)
219+
220+--- a/fence/agents/compute/fence_compute.py
221++++ b/fence/agents/compute/fence_compute.py
222+@@ -339,7 +339,7 @@
223+ fail_usage("Couldn't obtain a supported connection to nova, tried: %s" % repr(versions))
224+
225+ def define_new_opts():
226+- all_opt["endpoint-type"] = {
227++ all_opt["endpoint_type"] = {
228+ "getopt" : "e:",
229+ "longopt" : "endpoint-type",
230+ "help" : "-e, --endpoint-type=[endpoint] Nova Endpoint type (publicURL, internalURL, adminURL)",
231+@@ -348,7 +348,7 @@
232+ "default" : "internalURL",
233+ "order": 1,
234+ }
235+- all_opt["tenant-name"] = {
236++ all_opt["tenant_name"] = {
237+ "getopt" : "t:",
238+ "longopt" : "tenant-name",
239+ "help" : "-t, --tenant-name=[tenant] Keystone Admin Tenant",
240+@@ -357,7 +357,7 @@
241+ "default" : "",
242+ "order": 1,
243+ }
244+- all_opt["auth-url"] = {
245++ all_opt["auth_url"] = {
246+ "getopt" : "k:",
247+ "longopt" : "auth-url",
248+ "help" : "-k, --auth-url=[url] Keystone Admin Auth URL",
249+@@ -366,7 +366,7 @@
250+ "default" : "",
251+ "order": 1,
252+ }
253+- all_opt["region-name"] = {
254++ all_opt["region_name"] = {
255+ "getopt" : "",
256+ "longopt" : "region-name",
257+ "help" : "--region-name=[region] Region Name",
258+@@ -392,7 +392,7 @@
259+ "shortdesc" : "DNS domain in which hosts live",
260+ "order": 5,
261+ }
262+- all_opt["record-only"] = {
263++ all_opt["record_only"] = {
264+ "getopt" : "r:",
265+ "longopt" : "record-only",
266+ "help" : "--record-only Record the target as needing evacuation but as yet do not intiate it",
267+@@ -401,7 +401,7 @@
268+ "default" : "False",
269+ "order": 5,
270+ }
271+- all_opt["instance-filtering"] = {
272++ all_opt["instance_filtering"] = {
273+ "getopt" : "",
274+ "longopt" : "instance-filtering",
275+ "help" : "--instance-filtering Allow instances created from images and flavors with evacuable=true to be evacuated (or all if no images/flavors have been tagged)",
276+@@ -410,7 +410,7 @@
277+ "default" : "True",
278+ "order": 5,
279+ }
280+- all_opt["no-shared-storage"] = {
281++ all_opt["no_shared_storage"] = {
282+ "getopt" : "",
283+ "longopt" : "no-shared-storage",
284+ "help" : "--no-shared-storage Disable functionality for shared storage",
285+@@ -424,9 +424,9 @@
286+ global override_status
287+ atexit.register(atexit_handler)
288+
289+- device_opt = ["login", "passwd", "tenant-name", "auth-url", "fabric_fencing", "on_target",
290+- "no_login", "no_password", "port", "domain", "no-shared-storage", "endpoint-type",
291+- "record-only", "instance-filtering", "insecure", "region-name"]
292++ device_opt = ["login", "passwd", "tenant_name", "auth_url", "fabric_fencing",
293++ "no_login", "no_password", "port", "domain", "no_shared_storage", "endpoint_type",
294++ "record_only", "instance_filtering", "insecure", "region_name"]
295+ define_new_opts()
296+ all_opt["shell_timeout"]["default"] = "180"
297+
298+--- a/fence/agents/scsi/fence_scsi.py
299++++ b/fence/agents/scsi/fence_scsi.py
300+@@ -332,7 +332,7 @@
301+ "shortdesc" : "Log output (stdout and stderr) to file",
302+ "order": 5
303+ }
304+- all_opt["corosync-cmap_path"] = {
305++ all_opt["corosync_cmap_path"] = {
306+ "getopt" : ":",
307+ "longopt" : "corosync-cmap-path",
308+ "help" : "--corosync-cmap-path=[path] Path to corosync-cmapctl binary",
309+@@ -416,7 +416,7 @@
310+ atexit.register(atexit_handler)
311+
312+ device_opt = ["no_login", "no_password", "devices", "nodename", "key",\
313+- "aptpl", "fabric_fencing", "on_target", "corosync-cmap_path",\
314++ "aptpl", "fabric_fencing", "on_target", "corosync_cmap_path",\
315+ "sg_persist_path", "sg_turs_path", "logfile", "vgs_path", "force_on"]
316+
317+ define_new_opts()
318diff --git a/debian/patches/lp1865523-03-Maintain-ABI-compatibility.patch b/debian/patches/lp1865523-03-Maintain-ABI-compatibility.patch
319new file mode 100644
320index 0000000..2c8a0f1
321--- /dev/null
322+++ b/debian/patches/lp1865523-03-Maintain-ABI-compatibility.patch
323@@ -0,0 +1,30 @@
324+Description: Maintain ABI compatibility for external agents
325+
326+ [Rafael David Tinoco]
327+ 1. Keep compatibility after changing fencing arguments from '-' to '_' in
328+ previous patches. This is the change that allows other components to
329+ continue passing stding arguments with '-' without breaking
330+ functionalities (XML also accepts both versions).
331+
332+Origin: upstream, https://github.com/ClusterLabs/fence-agents/commit/c6f29a6531
333+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1865523
334+Reviewed-by: Rafael David Tinoco <rafaeldtinoco@gmail.com>
335+Last-Update: 2020-03-13
336+---
337+ fence/agents/lib/fencing.py.py | 5 +++++
338+ 1 file changed, 5 insertions(+)
339+
340+--- a/fence/agents/lib/fencing.py.py
341++++ b/fence/agents/lib/fencing.py.py
342+@@ -1326,6 +1326,11 @@
343+ if name in mapping_longopt_names:
344+ name = mapping_longopt_names[name]
345+
346++ if name.replace("-", "_") in mapping_longopt_names:
347++ name = mapping_longopt_names[name.replace("-", "_")]
348++ elif name.replace("_", "-") in mapping_longopt_names:
349++ name = mapping_longopt_names[name.replace("_", "-")]
350++
351+ if avail_opt.count(name) == 0 and name in ["nodename"]:
352+ continue
353+ elif avail_opt.count(name) == 0:
354diff --git a/debian/patches/lp1865523-04-fence_scsi-Remove-period.patch b/debian/patches/lp1865523-04-fence_scsi-Remove-period.patch
355new file mode 100644
356index 0000000..d167010
357--- /dev/null
358+++ b/debian/patches/lp1865523-04-fence_scsi-Remove-period.patch
359@@ -0,0 +1,26 @@
360+Description: Low: fence_scsi: Remove period from cmd string
361+
362+Changes `corosync-cmapctl nodelist.` to `corosync-cmapctl nodelist`.
363+Existing version works fine in my testing, so this is a simple typo
364+cleanup.
365+
366+Origin: upstream, https://github.com/ClusterLabs/fence-agents/commit/746fd55b0
367+Bug: https://github.com/ClusterLabs/fence-agents/pull/193
368+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1865523
369+Reviewed-by: Rafael David Tinoco <rafaeldtinoco@gmail.com>
370+Last-Update: 2020-03-13
371+---
372+ fence/agents/scsi/fence_scsi.py | 2 +-
373+ 1 file changed, 1 insertion(+), 1 deletion(-)
374+
375+--- a/fence/agents/scsi/fence_scsi.py
376++++ b/fence/agents/scsi/fence_scsi.py
377+@@ -186,7 +186,7 @@
378+
379+
380+ def get_node_id(options):
381+- cmd = options["--corosync-cmap-path"] + " nodelist."
382++ cmd = options["--corosync-cmap-path"] + " nodelist"
383+
384+ match = re.search(r".(\d).ring._addr \(str\) = " + options["--nodename"] + "\n", run_cmd(options, cmd)["out"])
385+ return match.group(1) if match else fail_usage("Failed: unable to parse output of corosync-cmapctl or node does not exist")
386diff --git a/debian/patches/lp1865523-05-fence_scsi-fix-python3-encoding.patch b/debian/patches/lp1865523-05-fence_scsi-fix-python3-encoding.patch
387new file mode 100644
388index 0000000..60a46b5
389--- /dev/null
390+++ b/debian/patches/lp1865523-05-fence_scsi-fix-python3-encoding.patch
391@@ -0,0 +1,35 @@
392+Description: fence_scsi: fix python3 encoding error #206
393+
394+File "/usr/sbin/fence_scsi", line 184, in get_cluster_id
395+ return hashlib.md5(match.group(1)).hexdigest()
396+TypeError: Unicode-objects must be encoded before hashing
397+
398+ [Rafael David Tinoco]
399+ 1. Original version of this patch depends on "fence_scsi: add FIPS support"
400+ commit, not backported in this patchset. This version address the same
401+ issue without the FIPS workaround.
402+
403+Origin: backport, https://github.com/ClusterLabs/fence-agents/commit/335aca4e54
404+Bug: https://github.com/ClusterLabs/fence-agents/pull/207
405+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1865523
406+Reviewed-by: Rafael David Tinoco <rafaeldtinoco@gmail.com>
407+Last-Update: 2020-03-13
408+---
409+ fence/agents/scsi/fence_scsi.py | 5 ++++-
410+ 1 file changed, 4 insertions(+), 1 deletion(-)
411+
412+--- a/fence/agents/scsi/fence_scsi.py
413++++ b/fence/agents/scsi/fence_scsi.py
414+@@ -182,8 +182,11 @@
415+ cmd = options["--corosync-cmap-path"] + " totem.cluster_name"
416+
417+ match = re.search(r"\(str\) = (\S+)\n", run_cmd(options, cmd)["out"])
418+- return hashlib.md5(match.group(1)).hexdigest() if match else fail_usage("Failed: cannot get cluster name")
419+
420++ if not match:
421++ fail_usage("Failed: cannot get cluster name")
422++
423++ return hashlib.md5(match.group(1).encode('ascii')).hexdigest()
424+
425+ def get_node_id(options):
426+ cmd = options["--corosync-cmap-path"] + " nodelist"
427diff --git a/debian/patches/lp1865523-06-fence_scsi-fixes-around-node-id.patch b/debian/patches/lp1865523-06-fence_scsi-fixes-around-node-id.patch
428new file mode 100644
429index 0000000..cdb8a4c
430--- /dev/null
431+++ b/debian/patches/lp1865523-06-fence_scsi-fixes-around-node-id.patch
432@@ -0,0 +1,123 @@
433+Description: fence_scsi: fix plug-parameter and keep support for nodename to
434+ avoid regressions
435+
436+ [Rafael David Tinoco]
437+ 1. All metadata changes (tests/data/metadata/*.xml) will have to be
438+ re-done at the end of this patchset, so they were removed from this
439+ patch on purpose.
440+
441+Origin: backport, https://github.com/ClusterLabs/fence-agents/commit/bec154345
442+Bug: https://github.com/ClusterLabs/fence-agents/pull/196
443+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1865523
444+Reviewed-by: Rafael David Tinoco <rafaeldtinoco@gmail.com>
445+Last-Update: 2020-03-13
446+
447+AND
448+
449+Description: fence_scsi: fix incorrect SCSI key when node ID is 10 or higher
450+
451+The last four digits of the SCSI key will be zero padded digit
452+between 0000-0009.
453+
454+Origin: upstream, https://github.com/ClusterLabs/fence-agents/commit/f77297b654
455+Bug: https://github.com/ClusterLabs/fence-agents/pull/249
456+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1865523
457+Reviewed-by: Rafael David Tinoco <rafaeldtinoco@gmail.com>
458+Last-Update: 2020-03-13
459+
460+AND
461+
462+Description: fence_scsi: detect node ID using new format, and fallback to old
463+ format before failing
464+
465+Origin: upstream, https://github.com/ClusterLabs/fence-agents/commit/1c4a64ca80
466+Bug: https://github.com/ClusterLabs/fence-agents/pull/273
467+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1865523
468+Reviewed-by: Rafael David Tinoco <rafaeldtinoco@gmail.com>
469+Last-Update: 2020-03-13
470+
471+---
472+ fence/agents/scsi/fence_scsi.py | 35 ++++++++++++++++++++++++---------
473+ 1 file changed, 26 insertions(+), 9 deletions(-)
474+
475+--- a/fence/agents/scsi/fence_scsi.py
476++++ b/fence/agents/scsi/fence_scsi.py
477+@@ -190,8 +190,14 @@
478+
479+ def get_node_id(options):
480+ cmd = options["--corosync-cmap-path"] + " nodelist"
481++ out = run_cmd(options, cmd)["out"]
482++
483++ match = re.search(r".(\d+).name \(str\) = " + options["--plug"] + "\n", out)
484++
485++ # try old format before failing
486++ if not match:
487++ match = re.search(r".(\d+).ring._addr \(str\) = " + options["--plug"] + "\n", out)
488+
489+- match = re.search(r".(\d).ring._addr \(str\) = " + options["--nodename"] + "\n", run_cmd(options, cmd)["out"])
490+ return match.group(1) if match else fail_usage("Failed: unable to parse output of corosync-cmapctl or node does not exist")
491+
492+
493+@@ -299,13 +305,11 @@
494+ "order": 1
495+ }
496+ all_opt["nodename"] = {
497+- "getopt" : "n:",
498++ "getopt" : ":",
499+ "longopt" : "nodename",
500+- "help" : "-n, --nodename=[nodename] Name of the node to be fenced",
501++ "help" : "",
502+ "required" : "0",
503+- "shortdesc" : "Name of the node to be fenced. The node name is used to \
504+-generate the key value used for the current operation. This option will be \
505+-ignored when used with the -k option.",
506++ "shortdesc" : "",
507+ "order": 1
508+ }
509+ all_opt["key"] = {
510+@@ -418,14 +422,19 @@
511+
512+ atexit.register(atexit_handler)
513+
514+- device_opt = ["no_login", "no_password", "devices", "nodename", "key",\
515+- "aptpl", "fabric_fencing", "on_target", "corosync_cmap_path",\
516++ device_opt = ["no_login", "no_password", "devices", "nodename", "port",\
517++ "no_port", "key", "aptpl", "fabric_fencing", "on_target", "corosync_cmap_path",\
518+ "sg_persist_path", "sg_turs_path", "logfile", "vgs_path", "force_on"]
519+
520+ define_new_opts()
521+
522+ all_opt["delay"]["getopt"] = "H:"
523+
524++ all_opt["port"]["help"] = "-n, --plug=[nodename] Name of the node to be fenced"
525++ all_opt["port"]["shortdesc"] = "Name of the node to be fenced. The node name is used to \
526++generate the key value used for the current operation. This option will be \
527++ignored when used with the -k option."
528++
529+ #fence_scsi_check
530+ if os.path.basename(sys.argv[0]) == "fence_scsi_check":
531+ sys.exit(scsi_check())
532+@@ -434,6 +443,9 @@
533+
534+ options = check_input(device_opt, process_input(device_opt), other_conditions=True)
535+
536++ # hack to remove list/list-status actions which are not supported
537++ options["device_opt"] = [ o for o in options["device_opt"] if o != "separator" ]
538++
539+ docs = {}
540+ docs["shortdesc"] = "Fence agent for SCSI persistent reservation"
541+ docs["longdesc"] = "fence_scsi is an I/O fencing agent that uses SCSI-3 \
542+@@ -470,7 +482,12 @@
543+ if options["--action"] == "monitor":
544+ sys.exit(do_action_monitor(options))
545+
546+- if not (("--nodename" in options and options["--nodename"])\
547++ # workaround to avoid regressions
548++ if "--nodename" in options and options["--nodename"]:
549++ options["--plug"] = options["--nodename"]
550++ del options["--nodename"]
551++
552++ if not (("--plug" in options and options["--plug"])\
553+ or ("--key" in options and options["--key"])):
554+ fail_usage("Failed: nodename or key is required", stop_after_error)
555+
556diff --git a/debian/patches/lp1865523-07-fence-metadata-update.xml b/debian/patches/lp1865523-07-fence-metadata-update.xml
557new file mode 100644
558index 0000000..d017d6f
559--- /dev/null
560+++ b/debian/patches/lp1865523-07-fence-metadata-update.xml
561@@ -0,0 +1,5441 @@
562+Description: update metadata for all fence agents
563+
564+Because of the following patches:
565+
566+ 1. fence_scsi: fix plug-parameter and keep support for nodename to
567+ avoid regressions.
568+ 2. fix for ignored options.
569+ 3. fencing: Add consistency between command-line and STDIN arguments.
570+
571+included in this patchset, in order for the build to work there is a
572+need of updating all existing XML files describing each fence agent
573+metadata.
574+
575+Despite the size of this change, the real reason of so many metadata
576+changes is:
577+
578+ 1. Inclusion of the "plug" argument (or XML element)
579+ 2. Renaming of all arguments containing "-" by "_"
580+
581+and both changes accept previous and newer argument forms, keeping
582+compatibility with any other external tools calling the fence-agent
583+directly - and passing arguments either through stdin or cmdline -
584+and, specially, with pacemaker included in this same release.
585+
586+Signed-off-by: Rafael David Tinoco <rafaeldtinoco@ubuntu.com>
587+
588+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1865523
589+Forwarded: not-needed
590+Last-Update: 2020-03-13
591+---
592+ tests/data/metadata/fence_alom.xml | 56 ++++++++++++++---
593+ tests/data/metadata/fence_amt.xml | 42 +++++++++++--
594+ tests/data/metadata/fence_apc.xml | 56 ++++++++++++++---
595+ tests/data/metadata/fence_apc_snmp.xml | 42 +++++++++++--
596+ tests/data/metadata/fence_azure_arm.xml | 35 +++++++++--
597+ tests/data/metadata/fence_bladecenter.xml | 56 ++++++++++++++---
598+ tests/data/metadata/fence_brocade.xml | 56 ++++++++++++++---
599+ tests/data/metadata/fence_cisco_mds.xml | 42 +++++++++++--
600+ tests/data/metadata/fence_cisco_ucs.xml | 42 +++++++++++--
601+ tests/data/metadata/fence_compute.xml | 51 ++++++++++++----
602+ tests/data/metadata/fence_docker.xml | 21 ++++++-
603+ tests/data/metadata/fence_drac.xml | 49 ++++++++++++---
604+ tests/data/metadata/fence_drac5.xml | 56 ++++++++++++++---
605+ tests/data/metadata/fence_dummy.xml | 7 ++-
606+ tests/data/metadata/fence_eaton_snmp.xml | 42 +++++++++++--
607+ tests/data/metadata/fence_emerson.xml | 42 +++++++++++--
608+ tests/data/metadata/fence_eps.xml | 49 ++++++++++++---
609+ tests/data/metadata/fence_hds_cb.xml | 56 ++++++++++++++---
610+ tests/data/metadata/fence_hpblade.xml | 56 ++++++++++++++---
611+ tests/data/metadata/fence_ibmblade.xml | 42 +++++++++++--
612+ tests/data/metadata/fence_idrac.xml | 49 ++++++++++++---
613+ tests/data/metadata/fence_ifmib.xml | 42 +++++++++++--
614+ tests/data/metadata/fence_ilo.xml | 49 ++++++++++++---
615+ tests/data/metadata/fence_ilo2.xml | 49 ++++++++++++---
616+ tests/data/metadata/fence_ilo3.xml | 49 ++++++++++++---
617+ tests/data/metadata/fence_ilo3_ssh.xml | 56 ++++++++++++++---
618+ tests/data/metadata/fence_ilo4.xml | 49 ++++++++++++---
619+ tests/data/metadata/fence_ilo4_ssh.xml | 56 ++++++++++++++---
620+ tests/data/metadata/fence_ilo_moonshot.xml | 56 ++++++++++++++---
621+ tests/data/metadata/fence_ilo_mp.xml | 56 ++++++++++++++---
622+ tests/data/metadata/fence_ilo_ssh.xml | 56 ++++++++++++++---
623+ tests/data/metadata/fence_imm.xml | 49 ++++++++++++---
624+ tests/data/metadata/fence_intelmodular.xml | 42 +++++++++++--
625+ tests/data/metadata/fence_ipdu.xml | 42 +++++++++++--
626+ tests/data/metadata/fence_ipmilan.xml | 49 ++++++++++++---
627+ tests/data/metadata/fence_ironic.xml | 55 ++++++++++++++---
628+ tests/data/metadata/fence_kdump.xml | 51 ++++++++++------
629+ tests/data/metadata/fence_ldom.xml | 56 ++++++++++++++---
630+ tests/data/metadata/fence_lpar.xml | 56 ++++++++++++++---
631+ tests/data/metadata/fence_mpath.xml | 14 ++++-
632+ tests/data/metadata/fence_netio.xml | 42 +++++++++++--
633+ tests/data/metadata/fence_ovh.xml | 35 +++++++++--
634+ tests/data/metadata/fence_powerman.xml | 21 ++++++-
635+ tests/data/metadata/fence_pve.xml | 49 ++++++++++++---
636+ tests/data/metadata/fence_raritan.xml | 42 +++++++++++--
637+ tests/data/metadata/fence_rcd_serial.xml | 7 ++-
638+ tests/data/metadata/fence_rhevm.xml | 42 +++++++++++--
639+ tests/data/metadata/fence_rsa.xml | 56 ++++++++++++++---
640+ tests/data/metadata/fence_rsb.xml | 56 ++++++++++++++---
641+ tests/data/metadata/fence_sanbox2.xml | 49 ++++++++++++---
642+ tests/data/metadata/fence_sbd.xml | 14 ++++-
643+ tests/data/metadata/fence_scsi.xml | 18 ++++--
644+ tests/data/metadata/fence_tripplite_snmp.xml | 42 +++++++++++--
645+ tests/data/metadata/fence_vbox.xml | 63 +++++++++++++++++---
646+ tests/data/metadata/fence_virsh.xml | 63 +++++++++++++++++---
647+ tests/data/metadata/fence_vmware.xml | 49 ++++++++++++---
648+ tests/data/metadata/fence_vmware_soap.xml | 42 +++++++++++--
649+ tests/data/metadata/fence_wti.xml | 56 ++++++++++++++---
650+ tests/data/metadata/fence_xenapi.xml | 35 +++++++++--
651+ tests/data/metadata/fence_zvmip.xml | 42 +++++++++++--
652+ 60 files changed, 2299 insertions(+), 403 deletions(-)
653+
654+--- a/tests/data/metadata/fence_alom.xml
655++++ b/tests/data/metadata/fence_alom.xml
656+@@ -8,7 +8,12 @@
657+ <content type="string" default="reboot" />
658+ <shortdesc lang="en">Fencing action</shortdesc>
659+ </parameter>
660+- <parameter name="cmd_prompt" unique="0" required="0">
661++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
662++ <getopt mixed="-c, --command-prompt=[prompt]" />
663++ <content type="string" default="[&apos;sc\\&gt;\\ &apos;]" />
664++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
665++ </parameter>
666++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
667+ <getopt mixed="-c, --command-prompt=[prompt]" />
668+ <content type="string" default="[&apos;sc\\&gt;\\ &apos;]" />
669+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
670+@@ -28,7 +33,12 @@
671+ <content type="boolean" />
672+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
673+ </parameter>
674+- <parameter name="ipaddr" unique="0" required="0">
675++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
676++ <getopt mixed="-a, --ip=[ip]" />
677++ <content type="string" />
678++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
679++ </parameter>
680++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
681+ <getopt mixed="-a, --ip=[ip]" />
682+ <content type="string" />
683+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
684+@@ -38,27 +48,47 @@
685+ <content type="integer" default="22" />
686+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
687+ </parameter>
688+- <parameter name="login" unique="0" required="1">
689++ <parameter name="login" unique="0" required="1" deprecated="1">
690+ <getopt mixed="-l, --username=[name]" />
691+ <content type="string" />
692+ <shortdesc lang="en">Login name</shortdesc>
693+ </parameter>
694+- <parameter name="passwd" unique="0" required="0">
695++ <parameter name="passwd" unique="0" required="0" deprecated="1">
696++ <getopt mixed="-p, --password=[password]" />
697++ <content type="string" />
698++ <shortdesc lang="en">Login password or passphrase</shortdesc>
699++ </parameter>
700++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
701++ <getopt mixed="-S, --password-script=[script]" />
702++ <content type="string" />
703++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
704++ </parameter>
705++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
706+ <getopt mixed="-p, --password=[password]" />
707+ <content type="string" />
708+ <shortdesc lang="en">Login password or passphrase</shortdesc>
709+ </parameter>
710+- <parameter name="passwd_script" unique="0" required="0">
711++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
712+ <getopt mixed="-S, --password-script=[script]" />
713+ <content type="string" />
714+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
715+ </parameter>
716+- <parameter name="port" unique="0" required="0">
717++ <parameter name="plug" unique="0" required="0" obsoletes="port">
718+ <getopt mixed="-n, --plug=[ip]" />
719+ <content type="string" />
720+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
721+ </parameter>
722+- <parameter name="secure" unique="0" required="0">
723++ <parameter name="port" unique="0" required="0" deprecated="1">
724++ <getopt mixed="-n, --plug=[ip]" />
725++ <content type="string" />
726++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
727++ </parameter>
728++ <parameter name="secure" unique="0" required="0" deprecated="1">
729++ <getopt mixed="-x, --ssh" />
730++ <content type="boolean" default="1" />
731++ <shortdesc lang="en">Use SSH connection</shortdesc>
732++ </parameter>
733++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
734+ <getopt mixed="-x, --ssh" />
735+ <content type="boolean" default="1" />
736+ <shortdesc lang="en">Use SSH connection</shortdesc>
737+@@ -68,6 +98,11 @@
738+ <content type="string" />
739+ <shortdesc lang="en">SSH options to use</shortdesc>
740+ </parameter>
741++ <parameter name="username" unique="0" required="1" obsoletes="login">
742++ <getopt mixed="-l, --username=[name]" />
743++ <content type="string" />
744++ <shortdesc lang="en">Login name</shortdesc>
745++ </parameter>
746+ <parameter name="quiet" unique="0" required="0">
747+ <getopt mixed="-q, --quiet" />
748+ <content type="boolean" />
749+@@ -78,7 +113,12 @@
750+ <content type="boolean" />
751+ <shortdesc lang="en">Verbose mode</shortdesc>
752+ </parameter>
753+- <parameter name="debug" unique="0" required="0">
754++ <parameter name="debug" unique="0" required="0" deprecated="1">
755++ <getopt mixed="-D, --debug-file=[debugfile]" />
756++ <content type="string" />
757++ <shortdesc lang="en">Write debug information to given file</shortdesc>
758++ </parameter>
759++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
760+ <getopt mixed="-D, --debug-file=[debugfile]" />
761+ <content type="string" />
762+ <shortdesc lang="en">Write debug information to given file</shortdesc>
763+--- a/tests/data/metadata/fence_amt.xml
764++++ b/tests/data/metadata/fence_amt.xml
765+@@ -29,7 +29,12 @@
766+ <content type="boolean" />
767+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
768+ </parameter>
769+- <parameter name="ipaddr" unique="0" required="0">
770++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
771++ <getopt mixed="-a, --ip=[ip]" />
772++ <content type="string" />
773++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
774++ </parameter>
775++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
776+ <getopt mixed="-a, --ip=[ip]" />
777+ <content type="string" />
778+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
779+@@ -47,17 +52,32 @@
780+ </content>
781+ <shortdesc lang="en">Method to fence</shortdesc>
782+ </parameter>
783+- <parameter name="passwd" unique="0" required="0">
784++ <parameter name="passwd" unique="0" required="0" deprecated="1">
785++ <getopt mixed="-p, --password=[password]" />
786++ <content type="string" />
787++ <shortdesc lang="en">Login password or passphrase</shortdesc>
788++ </parameter>
789++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
790++ <getopt mixed="-S, --password-script=[script]" />
791++ <content type="string" />
792++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
793++ </parameter>
794++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
795+ <getopt mixed="-p, --password=[password]" />
796+ <content type="string" />
797+ <shortdesc lang="en">Login password or passphrase</shortdesc>
798+ </parameter>
799+- <parameter name="passwd_script" unique="0" required="0">
800++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
801+ <getopt mixed="-S, --password-script=[script]" />
802+ <content type="string" />
803+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
804+ </parameter>
805+- <parameter name="port" unique="0" required="0">
806++ <parameter name="plug" unique="0" required="0" obsoletes="port">
807++ <getopt mixed="-n, --plug=[ip]" />
808++ <content type="string" />
809++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
810++ </parameter>
811++ <parameter name="port" unique="0" required="0" deprecated="1">
812+ <getopt mixed="-n, --plug=[ip]" />
813+ <content type="string" />
814+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
815+@@ -72,7 +92,12 @@
816+ <content type="boolean" />
817+ <shortdesc lang="en">Verbose mode</shortdesc>
818+ </parameter>
819+- <parameter name="debug" unique="0" required="0">
820++ <parameter name="debug" unique="0" required="0" deprecated="1">
821++ <getopt mixed="-D, --debug-file=[debugfile]" />
822++ <content type="string" />
823++ <shortdesc lang="en">Write debug information to given file</shortdesc>
824++ </parameter>
825++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
826+ <getopt mixed="-D, --debug-file=[debugfile]" />
827+ <content type="string" />
828+ <shortdesc lang="en">Write debug information to given file</shortdesc>
829+@@ -126,7 +151,12 @@
830+ <content type="integer" default="1" />
831+ <shortdesc lang="en">Count of attempts to retry power on</shortdesc>
832+ </parameter>
833+- <parameter name="sudo" unique="0" required="0">
834++ <parameter name="sudo" unique="0" required="0" deprecated="1">
835++ <getopt mixed="--use-sudo" />
836++ <content type="boolean" />
837++ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
838++ </parameter>
839++ <parameter name="use_sudo" unique="0" required="0" obsoletes="sudo">
840+ <getopt mixed="--use-sudo" />
841+ <content type="boolean" />
842+ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
843+--- a/tests/data/metadata/fence_apc.xml
844++++ b/tests/data/metadata/fence_apc.xml
845+@@ -8,7 +8,12 @@
846+ <content type="string" default="reboot" />
847+ <shortdesc lang="en">Fencing action</shortdesc>
848+ </parameter>
849+- <parameter name="cmd_prompt" unique="0" required="0">
850++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
851++ <getopt mixed="-c, --command-prompt=[prompt]" />
852++ <content type="string" default="[&apos;\n&gt;&apos;, &apos;\napc&gt;&apos;]" />
853++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
854++ </parameter>
855++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
856+ <getopt mixed="-c, --command-prompt=[prompt]" />
857+ <content type="string" default="[&apos;\n&gt;&apos;, &apos;\napc&gt;&apos;]" />
858+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
859+@@ -28,7 +33,12 @@
860+ <content type="boolean" />
861+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
862+ </parameter>
863+- <parameter name="ipaddr" unique="0" required="1">
864++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
865++ <getopt mixed="-a, --ip=[ip]" />
866++ <content type="string" />
867++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
868++ </parameter>
869++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
870+ <getopt mixed="-a, --ip=[ip]" />
871+ <content type="string" />
872+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
873+@@ -38,27 +48,47 @@
874+ <content type="integer" default="23" />
875+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
876+ </parameter>
877+- <parameter name="login" unique="0" required="1">
878++ <parameter name="login" unique="0" required="1" deprecated="1">
879+ <getopt mixed="-l, --username=[name]" />
880+ <content type="string" />
881+ <shortdesc lang="en">Login name</shortdesc>
882+ </parameter>
883+- <parameter name="passwd" unique="0" required="0">
884++ <parameter name="passwd" unique="0" required="0" deprecated="1">
885++ <getopt mixed="-p, --password=[password]" />
886++ <content type="string" />
887++ <shortdesc lang="en">Login password or passphrase</shortdesc>
888++ </parameter>
889++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
890++ <getopt mixed="-S, --password-script=[script]" />
891++ <content type="string" />
892++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
893++ </parameter>
894++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
895+ <getopt mixed="-p, --password=[password]" />
896+ <content type="string" />
897+ <shortdesc lang="en">Login password or passphrase</shortdesc>
898+ </parameter>
899+- <parameter name="passwd_script" unique="0" required="0">
900++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
901+ <getopt mixed="-S, --password-script=[script]" />
902+ <content type="string" />
903+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
904+ </parameter>
905+- <parameter name="port" unique="0" required="1">
906++ <parameter name="plug" unique="0" required="1" obsoletes="port">
907+ <getopt mixed="-n, --plug=[id]" />
908+ <content type="string" />
909+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
910+ </parameter>
911+- <parameter name="secure" unique="0" required="0">
912++ <parameter name="port" unique="0" required="1" deprecated="1">
913++ <getopt mixed="-n, --plug=[id]" />
914++ <content type="string" />
915++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
916++ </parameter>
917++ <parameter name="secure" unique="0" required="0" deprecated="1">
918++ <getopt mixed="-x, --ssh" />
919++ <content type="boolean" />
920++ <shortdesc lang="en">Use SSH connection</shortdesc>
921++ </parameter>
922++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
923+ <getopt mixed="-x, --ssh" />
924+ <content type="boolean" />
925+ <shortdesc lang="en">Use SSH connection</shortdesc>
926+@@ -73,6 +103,11 @@
927+ <content type="string" />
928+ <shortdesc lang="en">Physical switch number on device</shortdesc>
929+ </parameter>
930++ <parameter name="username" unique="0" required="1" obsoletes="login">
931++ <getopt mixed="-l, --username=[name]" />
932++ <content type="string" />
933++ <shortdesc lang="en">Login name</shortdesc>
934++ </parameter>
935+ <parameter name="quiet" unique="0" required="0">
936+ <getopt mixed="-q, --quiet" />
937+ <content type="boolean" />
938+@@ -83,7 +118,12 @@
939+ <content type="boolean" />
940+ <shortdesc lang="en">Verbose mode</shortdesc>
941+ </parameter>
942+- <parameter name="debug" unique="0" required="0">
943++ <parameter name="debug" unique="0" required="0" deprecated="1">
944++ <getopt mixed="-D, --debug-file=[debugfile]" />
945++ <content type="string" />
946++ <shortdesc lang="en">Write debug information to given file</shortdesc>
947++ </parameter>
948++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
949+ <getopt mixed="-D, --debug-file=[debugfile]" />
950+ <content type="string" />
951+ <shortdesc lang="en">Write debug information to given file</shortdesc>
952+--- a/tests/data/metadata/fence_apc_snmp.xml
953++++ b/tests/data/metadata/fence_apc_snmp.xml
954+@@ -24,7 +24,12 @@
955+ <content type="boolean" />
956+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
957+ </parameter>
958+- <parameter name="ipaddr" unique="0" required="1">
959++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
960++ <getopt mixed="-a, --ip=[ip]" />
961++ <content type="string" />
962++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
963++ </parameter>
964++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
965+ <getopt mixed="-a, --ip=[ip]" />
966+ <content type="string" />
967+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
968+@@ -34,22 +39,37 @@
969+ <content type="integer" default="161" />
970+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
971+ </parameter>
972+- <parameter name="login" unique="0" required="0">
973++ <parameter name="login" unique="0" required="0" deprecated="1">
974+ <getopt mixed="-l, --username=[name]" />
975+ <content type="string" />
976+ <shortdesc lang="en">Login name</shortdesc>
977+ </parameter>
978+- <parameter name="passwd" unique="0" required="0">
979++ <parameter name="passwd" unique="0" required="0" deprecated="1">
980++ <getopt mixed="-p, --password=[password]" />
981++ <content type="string" />
982++ <shortdesc lang="en">Login password or passphrase</shortdesc>
983++ </parameter>
984++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
985++ <getopt mixed="-S, --password-script=[script]" />
986++ <content type="string" />
987++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
988++ </parameter>
989++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
990+ <getopt mixed="-p, --password=[password]" />
991+ <content type="string" />
992+ <shortdesc lang="en">Login password or passphrase</shortdesc>
993+ </parameter>
994+- <parameter name="passwd_script" unique="0" required="0">
995++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
996+ <getopt mixed="-S, --password-script=[script]" />
997+ <content type="string" />
998+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
999+ </parameter>
1000+- <parameter name="port" unique="0" required="1">
1001++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1002++ <getopt mixed="-n, --plug=[id]" />
1003++ <content type="string" />
1004++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1005++ </parameter>
1006++ <parameter name="port" unique="0" required="1" deprecated="1">
1007+ <getopt mixed="-n, --plug=[id]" />
1008+ <content type="string" />
1009+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1010+@@ -98,6 +118,11 @@
1011+ </content>
1012+ <shortdesc lang="en">Specifies SNMP version to use</shortdesc>
1013+ </parameter>
1014++ <parameter name="username" unique="0" required="0" obsoletes="login">
1015++ <getopt mixed="-l, --username=[name]" />
1016++ <content type="string" />
1017++ <shortdesc lang="en">Login name</shortdesc>
1018++ </parameter>
1019+ <parameter name="quiet" unique="0" required="0">
1020+ <getopt mixed="-q, --quiet" />
1021+ <content type="boolean" />
1022+@@ -108,7 +133,12 @@
1023+ <content type="boolean" />
1024+ <shortdesc lang="en">Verbose mode</shortdesc>
1025+ </parameter>
1026+- <parameter name="debug" unique="0" required="0">
1027++ <parameter name="debug" unique="0" required="0" deprecated="1">
1028++ <getopt mixed="-D, --debug-file=[debugfile]" />
1029++ <content type="string" />
1030++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1031++ </parameter>
1032++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1033+ <getopt mixed="-D, --debug-file=[debugfile]" />
1034+ <content type="string" />
1035+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1036+--- a/tests/data/metadata/fence_azure_arm.xml
1037++++ b/tests/data/metadata/fence_azure_arm.xml
1038+@@ -8,26 +8,46 @@
1039+ <content type="string" default="reboot" />
1040+ <shortdesc lang="en">Fencing action</shortdesc>
1041+ </parameter>
1042+- <parameter name="login" unique="0" required="1">
1043++ <parameter name="login" unique="0" required="1" deprecated="1">
1044+ <getopt mixed="-l, --username=[name]" />
1045+ <content type="string" />
1046+ <shortdesc lang="en">Login name</shortdesc>
1047+ </parameter>
1048+- <parameter name="passwd" unique="0" required="0">
1049++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1050+ <getopt mixed="-p, --password=[password]" />
1051+ <content type="string" />
1052+ <shortdesc lang="en">Login password or passphrase</shortdesc>
1053+ </parameter>
1054+- <parameter name="passwd_script" unique="0" required="0">
1055++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1056+ <getopt mixed="-S, --password-script=[script]" />
1057+ <content type="string" />
1058+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1059+ </parameter>
1060+- <parameter name="port" unique="0" required="1">
1061++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1062++ <getopt mixed="-p, --password=[password]" />
1063++ <content type="string" />
1064++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1065++ </parameter>
1066++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
1067++ <getopt mixed="-S, --password-script=[script]" />
1068++ <content type="string" />
1069++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1070++ </parameter>
1071++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1072++ <getopt mixed="-n, --plug=[id]" />
1073++ <content type="string" />
1074++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1075++ </parameter>
1076++ <parameter name="port" unique="0" required="1" deprecated="1">
1077+ <getopt mixed="-n, --plug=[id]" />
1078+ <content type="string" />
1079+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1080+ </parameter>
1081++ <parameter name="username" unique="0" required="1" obsoletes="login">
1082++ <getopt mixed="-l, --username=[name]" />
1083++ <content type="string" />
1084++ <shortdesc lang="en">Login name</shortdesc>
1085++ </parameter>
1086+ <parameter name="resourceGroup" unique="0" required="1">
1087+ <getopt mixed="--resourceGroup=[name]" />
1088+ <content type="string" />
1089+@@ -53,7 +73,12 @@
1090+ <content type="boolean" />
1091+ <shortdesc lang="en">Verbose mode</shortdesc>
1092+ </parameter>
1093+- <parameter name="debug" unique="0" required="0">
1094++ <parameter name="debug" unique="0" required="0" deprecated="1">
1095++ <getopt mixed="-D, --debug-file=[debugfile]" />
1096++ <content type="string" />
1097++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1098++ </parameter>
1099++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1100+ <getopt mixed="-D, --debug-file=[debugfile]" />
1101+ <content type="string" />
1102+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1103+--- a/tests/data/metadata/fence_bladecenter.xml
1104++++ b/tests/data/metadata/fence_bladecenter.xml
1105+@@ -8,7 +8,12 @@
1106+ <content type="string" default="reboot" />
1107+ <shortdesc lang="en">Fencing action</shortdesc>
1108+ </parameter>
1109+- <parameter name="cmd_prompt" unique="0" required="0">
1110++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
1111++ <getopt mixed="-c, --command-prompt=[prompt]" />
1112++ <content type="string" default="[&apos;system&gt;&apos;]" />
1113++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
1114++ </parameter>
1115++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
1116+ <getopt mixed="-c, --command-prompt=[prompt]" />
1117+ <content type="string" default="[&apos;system&gt;&apos;]" />
1118+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
1119+@@ -28,7 +33,12 @@
1120+ <content type="boolean" />
1121+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
1122+ </parameter>
1123+- <parameter name="ipaddr" unique="0" required="1">
1124++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
1125++ <getopt mixed="-a, --ip=[ip]" />
1126++ <content type="string" />
1127++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1128++ </parameter>
1129++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
1130+ <getopt mixed="-a, --ip=[ip]" />
1131+ <content type="string" />
1132+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1133+@@ -38,27 +48,47 @@
1134+ <content type="integer" default="23" />
1135+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
1136+ </parameter>
1137+- <parameter name="login" unique="0" required="1">
1138++ <parameter name="login" unique="0" required="1" deprecated="1">
1139+ <getopt mixed="-l, --username=[name]" />
1140+ <content type="string" />
1141+ <shortdesc lang="en">Login name</shortdesc>
1142+ </parameter>
1143+- <parameter name="passwd" unique="0" required="0">
1144++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1145++ <getopt mixed="-p, --password=[password]" />
1146++ <content type="string" />
1147++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1148++ </parameter>
1149++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1150++ <getopt mixed="-S, --password-script=[script]" />
1151++ <content type="string" />
1152++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1153++ </parameter>
1154++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1155+ <getopt mixed="-p, --password=[password]" />
1156+ <content type="string" />
1157+ <shortdesc lang="en">Login password or passphrase</shortdesc>
1158+ </parameter>
1159+- <parameter name="passwd_script" unique="0" required="0">
1160++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
1161+ <getopt mixed="-S, --password-script=[script]" />
1162+ <content type="string" />
1163+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1164+ </parameter>
1165+- <parameter name="port" unique="0" required="1">
1166++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1167+ <getopt mixed="-n, --plug=[id]" />
1168+ <content type="string" />
1169+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1170+ </parameter>
1171+- <parameter name="secure" unique="0" required="0">
1172++ <parameter name="port" unique="0" required="1" deprecated="1">
1173++ <getopt mixed="-n, --plug=[id]" />
1174++ <content type="string" />
1175++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1176++ </parameter>
1177++ <parameter name="secure" unique="0" required="0" deprecated="1">
1178++ <getopt mixed="-x, --ssh" />
1179++ <content type="boolean" />
1180++ <shortdesc lang="en">Use SSH connection</shortdesc>
1181++ </parameter>
1182++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
1183+ <getopt mixed="-x, --ssh" />
1184+ <content type="boolean" />
1185+ <shortdesc lang="en">Use SSH connection</shortdesc>
1186+@@ -68,6 +98,11 @@
1187+ <content type="string" />
1188+ <shortdesc lang="en">SSH options to use</shortdesc>
1189+ </parameter>
1190++ <parameter name="username" unique="0" required="1" obsoletes="login">
1191++ <getopt mixed="-l, --username=[name]" />
1192++ <content type="string" />
1193++ <shortdesc lang="en">Login name</shortdesc>
1194++ </parameter>
1195+ <parameter name="quiet" unique="0" required="0">
1196+ <getopt mixed="-q, --quiet" />
1197+ <content type="boolean" />
1198+@@ -78,7 +113,12 @@
1199+ <content type="boolean" />
1200+ <shortdesc lang="en">Verbose mode</shortdesc>
1201+ </parameter>
1202+- <parameter name="debug" unique="0" required="0">
1203++ <parameter name="debug" unique="0" required="0" deprecated="1">
1204++ <getopt mixed="-D, --debug-file=[debugfile]" />
1205++ <content type="string" />
1206++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1207++ </parameter>
1208++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1209+ <getopt mixed="-D, --debug-file=[debugfile]" />
1210+ <content type="string" />
1211+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1212+--- a/tests/data/metadata/fence_brocade.xml
1213++++ b/tests/data/metadata/fence_brocade.xml
1214+@@ -8,7 +8,12 @@
1215+ <content type="string" default="off" />
1216+ <shortdesc lang="en">Fencing action</shortdesc>
1217+ </parameter>
1218+- <parameter name="cmd_prompt" unique="0" required="0">
1219++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
1220++ <getopt mixed="-c, --command-prompt=[prompt]" />
1221++ <content type="string" default="[&apos;&gt; &apos;]" />
1222++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
1223++ </parameter>
1224++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
1225+ <getopt mixed="-c, --command-prompt=[prompt]" />
1226+ <content type="string" default="[&apos;&gt; &apos;]" />
1227+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
1228+@@ -28,7 +33,12 @@
1229+ <content type="boolean" />
1230+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
1231+ </parameter>
1232+- <parameter name="ipaddr" unique="0" required="1">
1233++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
1234++ <getopt mixed="-a, --ip=[ip]" />
1235++ <content type="string" />
1236++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1237++ </parameter>
1238++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
1239+ <getopt mixed="-a, --ip=[ip]" />
1240+ <content type="string" />
1241+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1242+@@ -38,27 +48,47 @@
1243+ <content type="integer" default="23" />
1244+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
1245+ </parameter>
1246+- <parameter name="login" unique="0" required="1">
1247++ <parameter name="login" unique="0" required="1" deprecated="1">
1248+ <getopt mixed="-l, --username=[name]" />
1249+ <content type="string" />
1250+ <shortdesc lang="en">Login name</shortdesc>
1251+ </parameter>
1252+- <parameter name="passwd" unique="0" required="0">
1253++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1254++ <getopt mixed="-p, --password=[password]" />
1255++ <content type="string" />
1256++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1257++ </parameter>
1258++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1259++ <getopt mixed="-S, --password-script=[script]" />
1260++ <content type="string" />
1261++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1262++ </parameter>
1263++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1264+ <getopt mixed="-p, --password=[password]" />
1265+ <content type="string" />
1266+ <shortdesc lang="en">Login password or passphrase</shortdesc>
1267+ </parameter>
1268+- <parameter name="passwd_script" unique="0" required="0">
1269++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
1270+ <getopt mixed="-S, --password-script=[script]" />
1271+ <content type="string" />
1272+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1273+ </parameter>
1274+- <parameter name="port" unique="0" required="1">
1275++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1276+ <getopt mixed="-n, --plug=[id]" />
1277+ <content type="string" />
1278+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1279+ </parameter>
1280+- <parameter name="secure" unique="0" required="0">
1281++ <parameter name="port" unique="0" required="1" deprecated="1">
1282++ <getopt mixed="-n, --plug=[id]" />
1283++ <content type="string" />
1284++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1285++ </parameter>
1286++ <parameter name="secure" unique="0" required="0" deprecated="1">
1287++ <getopt mixed="-x, --ssh" />
1288++ <content type="boolean" />
1289++ <shortdesc lang="en">Use SSH connection</shortdesc>
1290++ </parameter>
1291++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
1292+ <getopt mixed="-x, --ssh" />
1293+ <content type="boolean" />
1294+ <shortdesc lang="en">Use SSH connection</shortdesc>
1295+@@ -68,6 +98,11 @@
1296+ <content type="string" />
1297+ <shortdesc lang="en">SSH options to use</shortdesc>
1298+ </parameter>
1299++ <parameter name="username" unique="0" required="1" obsoletes="login">
1300++ <getopt mixed="-l, --username=[name]" />
1301++ <content type="string" />
1302++ <shortdesc lang="en">Login name</shortdesc>
1303++ </parameter>
1304+ <parameter name="quiet" unique="0" required="0">
1305+ <getopt mixed="-q, --quiet" />
1306+ <content type="boolean" />
1307+@@ -78,7 +113,12 @@
1308+ <content type="boolean" />
1309+ <shortdesc lang="en">Verbose mode</shortdesc>
1310+ </parameter>
1311+- <parameter name="debug" unique="0" required="0">
1312++ <parameter name="debug" unique="0" required="0" deprecated="1">
1313++ <getopt mixed="-D, --debug-file=[debugfile]" />
1314++ <content type="string" />
1315++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1316++ </parameter>
1317++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1318+ <getopt mixed="-D, --debug-file=[debugfile]" />
1319+ <content type="string" />
1320+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1321+--- a/tests/data/metadata/fence_cisco_mds.xml
1322++++ b/tests/data/metadata/fence_cisco_mds.xml
1323+@@ -23,7 +23,12 @@
1324+ <content type="boolean" />
1325+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
1326+ </parameter>
1327+- <parameter name="ipaddr" unique="0" required="1">
1328++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
1329++ <getopt mixed="-a, --ip=[ip]" />
1330++ <content type="string" />
1331++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1332++ </parameter>
1333++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
1334+ <getopt mixed="-a, --ip=[ip]" />
1335+ <content type="string" />
1336+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1337+@@ -33,22 +38,37 @@
1338+ <content type="integer" default="161" />
1339+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
1340+ </parameter>
1341+- <parameter name="login" unique="0" required="0">
1342++ <parameter name="login" unique="0" required="0" deprecated="1">
1343+ <getopt mixed="-l, --username=[name]" />
1344+ <content type="string" />
1345+ <shortdesc lang="en">Login name</shortdesc>
1346+ </parameter>
1347+- <parameter name="passwd" unique="0" required="0">
1348++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1349++ <getopt mixed="-p, --password=[password]" />
1350++ <content type="string" />
1351++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1352++ </parameter>
1353++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1354++ <getopt mixed="-S, --password-script=[script]" />
1355++ <content type="string" />
1356++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1357++ </parameter>
1358++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1359+ <getopt mixed="-p, --password=[password]" />
1360+ <content type="string" />
1361+ <shortdesc lang="en">Login password or passphrase</shortdesc>
1362+ </parameter>
1363+- <parameter name="passwd_script" unique="0" required="0">
1364++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
1365+ <getopt mixed="-S, --password-script=[script]" />
1366+ <content type="string" />
1367+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1368+ </parameter>
1369+- <parameter name="port" unique="0" required="1">
1370++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1371++ <getopt mixed="-n, --plug=[id]" />
1372++ <content type="string" />
1373++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1374++ </parameter>
1375++ <parameter name="port" unique="0" required="1" deprecated="1">
1376+ <getopt mixed="-n, --plug=[id]" />
1377+ <content type="string" />
1378+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1379+@@ -97,6 +117,11 @@
1380+ </content>
1381+ <shortdesc lang="en">Specifies SNMP version to use</shortdesc>
1382+ </parameter>
1383++ <parameter name="username" unique="0" required="0" obsoletes="login">
1384++ <getopt mixed="-l, --username=[name]" />
1385++ <content type="string" />
1386++ <shortdesc lang="en">Login name</shortdesc>
1387++ </parameter>
1388+ <parameter name="quiet" unique="0" required="0">
1389+ <getopt mixed="-q, --quiet" />
1390+ <content type="boolean" />
1391+@@ -107,7 +132,12 @@
1392+ <content type="boolean" />
1393+ <shortdesc lang="en">Verbose mode</shortdesc>
1394+ </parameter>
1395+- <parameter name="debug" unique="0" required="0">
1396++ <parameter name="debug" unique="0" required="0" deprecated="1">
1397++ <getopt mixed="-D, --debug-file=[debugfile]" />
1398++ <content type="string" />
1399++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1400++ </parameter>
1401++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1402+ <getopt mixed="-D, --debug-file=[debugfile]" />
1403+ <content type="string" />
1404+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1405+--- a/tests/data/metadata/fence_cisco_ucs.xml
1406++++ b/tests/data/metadata/fence_cisco_ucs.xml
1407+@@ -18,7 +18,12 @@
1408+ <content type="boolean" />
1409+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
1410+ </parameter>
1411+- <parameter name="ipaddr" unique="0" required="1">
1412++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
1413++ <getopt mixed="-a, --ip=[ip]" />
1414++ <content type="string" />
1415++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1416++ </parameter>
1417++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
1418+ <getopt mixed="-a, --ip=[ip]" />
1419+ <content type="string" />
1420+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1421+@@ -28,7 +33,7 @@
1422+ <content type="integer" default="80" />
1423+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
1424+ </parameter>
1425+- <parameter name="login" unique="0" required="1">
1426++ <parameter name="login" unique="0" required="1" deprecated="1">
1427+ <getopt mixed="-l, --username=[name]" />
1428+ <content type="string" />
1429+ <shortdesc lang="en">Login name</shortdesc>
1430+@@ -38,17 +43,32 @@
1431+ <content type="boolean" />
1432+ <shortdesc lang="en">Disable TLS negotiation and force SSL3.0. This should only be used for devices that do not support TLS1.0 and up.</shortdesc>
1433+ </parameter>
1434+- <parameter name="passwd" unique="0" required="0">
1435++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1436++ <getopt mixed="-p, --password=[password]" />
1437++ <content type="string" />
1438++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1439++ </parameter>
1440++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1441++ <getopt mixed="-S, --password-script=[script]" />
1442++ <content type="string" />
1443++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1444++ </parameter>
1445++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1446+ <getopt mixed="-p, --password=[password]" />
1447+ <content type="string" />
1448+ <shortdesc lang="en">Login password or passphrase</shortdesc>
1449+ </parameter>
1450+- <parameter name="passwd_script" unique="0" required="0">
1451++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
1452+ <getopt mixed="-S, --password-script=[script]" />
1453+ <content type="string" />
1454+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1455+ </parameter>
1456+- <parameter name="port" unique="0" required="1">
1457++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1458++ <getopt mixed="-n, --plug=[id]" />
1459++ <content type="string" />
1460++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1461++ </parameter>
1462++ <parameter name="port" unique="0" required="1" deprecated="1">
1463+ <getopt mixed="-n, --plug=[id]" />
1464+ <content type="string" />
1465+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1466+@@ -73,6 +93,11 @@
1467+ <content type="string" default="" />
1468+ <shortdesc lang="en">Additional path needed to access suborganization</shortdesc>
1469+ </parameter>
1470++ <parameter name="username" unique="0" required="1" obsoletes="login">
1471++ <getopt mixed="-l, --username=[name]" />
1472++ <content type="string" />
1473++ <shortdesc lang="en">Login name</shortdesc>
1474++ </parameter>
1475+ <parameter name="quiet" unique="0" required="0">
1476+ <getopt mixed="-q, --quiet" />
1477+ <content type="boolean" />
1478+@@ -83,7 +108,12 @@
1479+ <content type="boolean" />
1480+ <shortdesc lang="en">Verbose mode</shortdesc>
1481+ </parameter>
1482+- <parameter name="debug" unique="0" required="0">
1483++ <parameter name="debug" unique="0" required="0" deprecated="1">
1484++ <getopt mixed="-D, --debug-file=[debugfile]" />
1485++ <content type="string" />
1486++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1487++ </parameter>
1488++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1489+ <getopt mixed="-D, --debug-file=[debugfile]" />
1490+ <content type="string" />
1491+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1492+--- a/tests/data/metadata/fence_compute.xml
1493++++ b/tests/data/metadata/fence_compute.xml
1494+@@ -8,46 +8,66 @@
1495+ <content type="string" default="off" />
1496+ <shortdesc lang="en">Fencing action</shortdesc>
1497+ </parameter>
1498+- <parameter name="auth-url" unique="0" required="0">
1499++ <parameter name="auth_url" unique="0" required="0">
1500+ <getopt mixed="-k, --auth-url=[url]" />
1501+ <content type="string" default="" />
1502+ <shortdesc lang="en">Keystone Admin Auth URL</shortdesc>
1503+ </parameter>
1504+- <parameter name="endpoint-type" unique="0" required="0">
1505++ <parameter name="endpoint_type" unique="0" required="0">
1506+ <getopt mixed="-e, --endpoint-type=[endpoint]" />
1507+ <content type="string" default="internalURL" />
1508+ <shortdesc lang="en">Nova Endpoint type</shortdesc>
1509+ </parameter>
1510+- <parameter name="login" unique="0" required="0">
1511++ <parameter name="login" unique="0" required="0" deprecated="1">
1512+ <getopt mixed="-l, --username=[name]" />
1513+ <content type="string" />
1514+ <shortdesc lang="en">Login name</shortdesc>
1515+ </parameter>
1516+- <parameter name="passwd" unique="0" required="0">
1517++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1518+ <getopt mixed="-p, --password=[password]" />
1519+ <content type="string" />
1520+ <shortdesc lang="en">Login password or passphrase</shortdesc>
1521+ </parameter>
1522+- <parameter name="passwd_script" unique="0" required="0">
1523++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1524+ <getopt mixed="-S, --password-script=[script]" />
1525+ <content type="string" />
1526+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1527+ </parameter>
1528+- <parameter name="port" unique="0" required="1">
1529++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1530++ <getopt mixed="-p, --password=[password]" />
1531++ <content type="string" />
1532++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1533++ </parameter>
1534++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
1535++ <getopt mixed="-S, --password-script=[script]" />
1536++ <content type="string" />
1537++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1538++ </parameter>
1539++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1540++ <getopt mixed="-n, --plug=[id]" />
1541++ <content type="string" />
1542++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1543++ </parameter>
1544++ <parameter name="port" unique="0" required="1" deprecated="1">
1545+ <getopt mixed="-n, --plug=[id]" />
1546+ <content type="string" />
1547+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1548+ </parameter>
1549+- <parameter name="region-name" unique="0" required="0">
1550++ <parameter name="region_name" unique="0" required="0">
1551+ <getopt mixed="--region-name=[region]" />
1552+ <content type="boolean" default="" />
1553+ <shortdesc lang="en">Region Name</shortdesc>
1554+ </parameter>
1555+- <parameter name="tenant-name" unique="0" required="0">
1556++ <parameter name="tenant_name" unique="0" required="0">
1557+ <getopt mixed="-t, --tenant-name=[tenant]" />
1558+ <content type="string" default="" />
1559+ <shortdesc lang="en">Keystone Admin Tenant</shortdesc>
1560+ </parameter>
1561++ <parameter name="username" unique="0" required="0" obsoletes="login">
1562++ <getopt mixed="-l, --username=[name]" />
1563++ <content type="string" />
1564++ <shortdesc lang="en">Login name</shortdesc>
1565++ </parameter>
1566+ <parameter name="insecure" unique="0" required="0">
1567+ <getopt mixed="--insecure" />
1568+ <content type="boolean" default="False" />
1569+@@ -58,17 +78,17 @@
1570+ <content type="string" />
1571+ <shortdesc lang="en">DNS domain in which hosts live</shortdesc>
1572+ </parameter>
1573+- <parameter name="instance-filtering" unique="0" required="0">
1574++ <parameter name="instance_filtering" unique="0" required="0">
1575+ <getopt mixed="--instance-filtering" />
1576+ <content type="boolean" default="True" />
1577+ <shortdesc lang="en">Allow instances to be evacuated</shortdesc>
1578+ </parameter>
1579+- <parameter name="no-shared-storage" unique="0" required="0">
1580++ <parameter name="no_shared_storage" unique="0" required="0">
1581+ <getopt mixed="--no-shared-storage" />
1582+ <content type="boolean" default="False" />
1583+ <shortdesc lang="en">Disable functionality for dealing with shared storage</shortdesc>
1584+ </parameter>
1585+- <parameter name="record-only" unique="0" required="0">
1586++ <parameter name="record_only" unique="0" required="0">
1587+ <getopt mixed="--record-only" />
1588+ <content type="string" default="False" />
1589+ <shortdesc lang="en">Only record the target as needing evacuation</shortdesc>
1590+@@ -83,7 +103,12 @@
1591+ <content type="boolean" />
1592+ <shortdesc lang="en">Verbose mode</shortdesc>
1593+ </parameter>
1594+- <parameter name="debug" unique="0" required="0">
1595++ <parameter name="debug" unique="0" required="0" deprecated="1">
1596++ <getopt mixed="-D, --debug-file=[debugfile]" />
1597++ <content type="string" />
1598++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1599++ </parameter>
1600++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1601+ <getopt mixed="-D, --debug-file=[debugfile]" />
1602+ <content type="string" />
1603+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1604+@@ -135,7 +160,7 @@
1605+ </parameter>
1606+ </parameters>
1607+ <actions>
1608+- <action name="on" on_target="1" automatic="1"/>
1609++ <action name="on" automatic="1"/>
1610+ <action name="off" />
1611+ <action name="status" />
1612+ <action name="list" />
1613+--- a/tests/data/metadata/fence_docker.xml
1614++++ b/tests/data/metadata/fence_docker.xml
1615+@@ -18,7 +18,12 @@
1616+ <content type="boolean" />
1617+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
1618+ </parameter>
1619+- <parameter name="ipaddr" unique="0" required="1">
1620++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
1621++ <getopt mixed="-a, --ip=[ip]" />
1622++ <content type="string" />
1623++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1624++ </parameter>
1625++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
1626+ <getopt mixed="-a, --ip=[ip]" />
1627+ <content type="string" />
1628+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1629+@@ -36,7 +41,12 @@
1630+ </content>
1631+ <shortdesc lang="en">Method to fence</shortdesc>
1632+ </parameter>
1633+- <parameter name="port" unique="0" required="1">
1634++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1635++ <getopt mixed="-n, --plug=[id]" />
1636++ <content type="string" />
1637++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1638++ </parameter>
1639++ <parameter name="port" unique="0" required="1" deprecated="1">
1640+ <getopt mixed="-n, --plug=[id]" />
1641+ <content type="string" />
1642+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1643+@@ -86,7 +96,12 @@
1644+ <content type="boolean" />
1645+ <shortdesc lang="en">Verbose mode</shortdesc>
1646+ </parameter>
1647+- <parameter name="debug" unique="0" required="0">
1648++ <parameter name="debug" unique="0" required="0" deprecated="1">
1649++ <getopt mixed="-D, --debug-file=[debugfile]" />
1650++ <content type="string" />
1651++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1652++ </parameter>
1653++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1654+ <getopt mixed="-D, --debug-file=[debugfile]" />
1655+ <content type="string" />
1656+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1657+--- a/tests/data/metadata/fence_drac.xml
1658++++ b/tests/data/metadata/fence_drac.xml
1659+@@ -8,7 +8,12 @@
1660+ <content type="string" default="reboot" />
1661+ <shortdesc lang="en">Fencing action</shortdesc>
1662+ </parameter>
1663+- <parameter name="cmd_prompt" unique="0" required="0">
1664++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
1665++ <getopt mixed="-c, --command-prompt=[prompt]" />
1666++ <content type="string" default="[&apos;\\[username\\]# &apos;]" />
1667++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
1668++ </parameter>
1669++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
1670+ <getopt mixed="-c, --command-prompt=[prompt]" />
1671+ <content type="string" default="[&apos;\\[username\\]# &apos;]" />
1672+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
1673+@@ -23,7 +28,12 @@
1674+ <content type="boolean" />
1675+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
1676+ </parameter>
1677+- <parameter name="ipaddr" unique="0" required="0">
1678++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
1679++ <getopt mixed="-a, --ip=[ip]" />
1680++ <content type="string" />
1681++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1682++ </parameter>
1683++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
1684+ <getopt mixed="-a, --ip=[ip]" />
1685+ <content type="string" />
1686+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1687+@@ -33,26 +43,46 @@
1688+ <content type="integer" default="23" />
1689+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
1690+ </parameter>
1691+- <parameter name="login" unique="0" required="1">
1692++ <parameter name="login" unique="0" required="1" deprecated="1">
1693+ <getopt mixed="-l, --username=[name]" />
1694+ <content type="string" />
1695+ <shortdesc lang="en">Login name</shortdesc>
1696+ </parameter>
1697+- <parameter name="passwd" unique="0" required="0">
1698++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1699++ <getopt mixed="-p, --password=[password]" />
1700++ <content type="string" />
1701++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1702++ </parameter>
1703++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1704++ <getopt mixed="-S, --password-script=[script]" />
1705++ <content type="string" />
1706++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1707++ </parameter>
1708++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1709+ <getopt mixed="-p, --password=[password]" />
1710+ <content type="string" />
1711+ <shortdesc lang="en">Login password or passphrase</shortdesc>
1712+ </parameter>
1713+- <parameter name="passwd_script" unique="0" required="0">
1714++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
1715+ <getopt mixed="-S, --password-script=[script]" />
1716+ <content type="string" />
1717+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1718+ </parameter>
1719+- <parameter name="port" unique="0" required="0">
1720++ <parameter name="plug" unique="0" required="0" obsoletes="port">
1721+ <getopt mixed="-n, --plug=[ip]" />
1722+ <content type="string" />
1723+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
1724+ </parameter>
1725++ <parameter name="port" unique="0" required="0" deprecated="1">
1726++ <getopt mixed="-n, --plug=[ip]" />
1727++ <content type="string" />
1728++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
1729++ </parameter>
1730++ <parameter name="username" unique="0" required="1" obsoletes="login">
1731++ <getopt mixed="-l, --username=[name]" />
1732++ <content type="string" />
1733++ <shortdesc lang="en">Login name</shortdesc>
1734++ </parameter>
1735+ <parameter name="quiet" unique="0" required="0">
1736+ <getopt mixed="-q, --quiet" />
1737+ <content type="boolean" />
1738+@@ -63,7 +93,12 @@
1739+ <content type="boolean" />
1740+ <shortdesc lang="en">Verbose mode</shortdesc>
1741+ </parameter>
1742+- <parameter name="debug" unique="0" required="0">
1743++ <parameter name="debug" unique="0" required="0" deprecated="1">
1744++ <getopt mixed="-D, --debug-file=[debugfile]" />
1745++ <content type="string" />
1746++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1747++ </parameter>
1748++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1749+ <getopt mixed="-D, --debug-file=[debugfile]" />
1750+ <content type="string" />
1751+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1752+--- a/tests/data/metadata/fence_drac5.xml
1753++++ b/tests/data/metadata/fence_drac5.xml
1754+@@ -8,7 +8,12 @@
1755+ <content type="string" default="reboot" />
1756+ <shortdesc lang="en">Fencing action</shortdesc>
1757+ </parameter>
1758+- <parameter name="cmd_prompt" unique="0" required="0">
1759++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
1760++ <getopt mixed="-c, --command-prompt=[prompt]" />
1761++ <content type="string" default="[&apos;\\$&apos;, &apos;DRAC\\/MC:&apos;]" />
1762++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
1763++ </parameter>
1764++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
1765+ <getopt mixed="-c, --command-prompt=[prompt]" />
1766+ <content type="string" default="[&apos;\\$&apos;, &apos;DRAC\\/MC:&apos;]" />
1767+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
1768+@@ -37,7 +42,12 @@
1769+ <content type="boolean" />
1770+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
1771+ </parameter>
1772+- <parameter name="ipaddr" unique="0" required="1">
1773++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
1774++ <getopt mixed="-a, --ip=[ip]" />
1775++ <content type="string" />
1776++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1777++ </parameter>
1778++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
1779+ <getopt mixed="-a, --ip=[ip]" />
1780+ <content type="string" />
1781+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1782+@@ -47,27 +57,47 @@
1783+ <content type="integer" default="23" />
1784+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
1785+ </parameter>
1786+- <parameter name="login" unique="0" required="1">
1787++ <parameter name="login" unique="0" required="1" deprecated="1">
1788+ <getopt mixed="-l, --username=[name]" />
1789+ <content type="string" />
1790+ <shortdesc lang="en">Login name</shortdesc>
1791+ </parameter>
1792+- <parameter name="passwd" unique="0" required="0">
1793++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1794++ <getopt mixed="-p, --password=[password]" />
1795++ <content type="string" />
1796++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1797++ </parameter>
1798++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1799++ <getopt mixed="-S, --password-script=[script]" />
1800++ <content type="string" />
1801++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1802++ </parameter>
1803++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1804+ <getopt mixed="-p, --password=[password]" />
1805+ <content type="string" />
1806+ <shortdesc lang="en">Login password or passphrase</shortdesc>
1807+ </parameter>
1808+- <parameter name="passwd_script" unique="0" required="0">
1809++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
1810+ <getopt mixed="-S, --password-script=[script]" />
1811+ <content type="string" />
1812+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1813+ </parameter>
1814+- <parameter name="port" unique="0" required="1">
1815++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1816+ <getopt mixed="-n, --plug=[id]" />
1817+ <content type="string" />
1818+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1819+ </parameter>
1820+- <parameter name="secure" unique="0" required="0">
1821++ <parameter name="port" unique="0" required="1" deprecated="1">
1822++ <getopt mixed="-n, --plug=[id]" />
1823++ <content type="string" />
1824++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1825++ </parameter>
1826++ <parameter name="secure" unique="0" required="0" deprecated="1">
1827++ <getopt mixed="-x, --ssh" />
1828++ <content type="boolean" />
1829++ <shortdesc lang="en">Use SSH connection</shortdesc>
1830++ </parameter>
1831++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
1832+ <getopt mixed="-x, --ssh" />
1833+ <content type="boolean" />
1834+ <shortdesc lang="en">Use SSH connection</shortdesc>
1835+@@ -77,6 +107,11 @@
1836+ <content type="string" />
1837+ <shortdesc lang="en">SSH options to use</shortdesc>
1838+ </parameter>
1839++ <parameter name="username" unique="0" required="1" obsoletes="login">
1840++ <getopt mixed="-l, --username=[name]" />
1841++ <content type="string" />
1842++ <shortdesc lang="en">Login name</shortdesc>
1843++ </parameter>
1844+ <parameter name="quiet" unique="0" required="0">
1845+ <getopt mixed="-q, --quiet" />
1846+ <content type="boolean" />
1847+@@ -87,7 +122,12 @@
1848+ <content type="boolean" />
1849+ <shortdesc lang="en">Verbose mode</shortdesc>
1850+ </parameter>
1851+- <parameter name="debug" unique="0" required="0">
1852++ <parameter name="debug" unique="0" required="0" deprecated="1">
1853++ <getopt mixed="-D, --debug-file=[debugfile]" />
1854++ <content type="string" />
1855++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1856++ </parameter>
1857++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1858+ <getopt mixed="-D, --debug-file=[debugfile]" />
1859+ <content type="string" />
1860+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1861+--- a/tests/data/metadata/fence_dummy.xml
1862++++ b/tests/data/metadata/fence_dummy.xml
1863+@@ -33,7 +33,12 @@
1864+ <content type="boolean" />
1865+ <shortdesc lang="en">Verbose mode</shortdesc>
1866+ </parameter>
1867+- <parameter name="debug" unique="0" required="0">
1868++ <parameter name="debug" unique="0" required="0" deprecated="1">
1869++ <getopt mixed="-D, --debug-file=[debugfile]" />
1870++ <content type="string" />
1871++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1872++ </parameter>
1873++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1874+ <getopt mixed="-D, --debug-file=[debugfile]" />
1875+ <content type="string" />
1876+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1877+--- a/tests/data/metadata/fence_eaton_snmp.xml
1878++++ b/tests/data/metadata/fence_eaton_snmp.xml
1879+@@ -23,7 +23,12 @@
1880+ <content type="boolean" />
1881+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
1882+ </parameter>
1883+- <parameter name="ipaddr" unique="0" required="1">
1884++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
1885++ <getopt mixed="-a, --ip=[ip]" />
1886++ <content type="string" />
1887++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1888++ </parameter>
1889++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
1890+ <getopt mixed="-a, --ip=[ip]" />
1891+ <content type="string" />
1892+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1893+@@ -33,22 +38,37 @@
1894+ <content type="integer" default="161" />
1895+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
1896+ </parameter>
1897+- <parameter name="login" unique="0" required="0">
1898++ <parameter name="login" unique="0" required="0" deprecated="1">
1899+ <getopt mixed="-l, --username=[name]" />
1900+ <content type="string" />
1901+ <shortdesc lang="en">Login name</shortdesc>
1902+ </parameter>
1903+- <parameter name="passwd" unique="0" required="0">
1904++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1905++ <getopt mixed="-p, --password=[password]" />
1906++ <content type="string" />
1907++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1908++ </parameter>
1909++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1910++ <getopt mixed="-S, --password-script=[script]" />
1911++ <content type="string" />
1912++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1913++ </parameter>
1914++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1915+ <getopt mixed="-p, --password=[password]" />
1916+ <content type="string" />
1917+ <shortdesc lang="en">Login password or passphrase</shortdesc>
1918+ </parameter>
1919+- <parameter name="passwd_script" unique="0" required="0">
1920++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
1921+ <getopt mixed="-S, --password-script=[script]" />
1922+ <content type="string" />
1923+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1924+ </parameter>
1925+- <parameter name="port" unique="0" required="1">
1926++ <parameter name="plug" unique="0" required="1" obsoletes="port">
1927++ <getopt mixed="-n, --plug=[id]" />
1928++ <content type="string" />
1929++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1930++ </parameter>
1931++ <parameter name="port" unique="0" required="1" deprecated="1">
1932+ <getopt mixed="-n, --plug=[id]" />
1933+ <content type="string" />
1934+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
1935+@@ -97,6 +117,11 @@
1936+ </content>
1937+ <shortdesc lang="en">Specifies SNMP version to use</shortdesc>
1938+ </parameter>
1939++ <parameter name="username" unique="0" required="0" obsoletes="login">
1940++ <getopt mixed="-l, --username=[name]" />
1941++ <content type="string" />
1942++ <shortdesc lang="en">Login name</shortdesc>
1943++ </parameter>
1944+ <parameter name="quiet" unique="0" required="0">
1945+ <getopt mixed="-q, --quiet" />
1946+ <content type="boolean" />
1947+@@ -107,7 +132,12 @@
1948+ <content type="boolean" />
1949+ <shortdesc lang="en">Verbose mode</shortdesc>
1950+ </parameter>
1951+- <parameter name="debug" unique="0" required="0">
1952++ <parameter name="debug" unique="0" required="0" deprecated="1">
1953++ <getopt mixed="-D, --debug-file=[debugfile]" />
1954++ <content type="string" />
1955++ <shortdesc lang="en">Write debug information to given file</shortdesc>
1956++ </parameter>
1957++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
1958+ <getopt mixed="-D, --debug-file=[debugfile]" />
1959+ <content type="string" />
1960+ <shortdesc lang="en">Write debug information to given file</shortdesc>
1961+--- a/tests/data/metadata/fence_emerson.xml
1962++++ b/tests/data/metadata/fence_emerson.xml
1963+@@ -23,7 +23,12 @@
1964+ <content type="boolean" />
1965+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
1966+ </parameter>
1967+- <parameter name="ipaddr" unique="0" required="1">
1968++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
1969++ <getopt mixed="-a, --ip=[ip]" />
1970++ <content type="string" />
1971++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1972++ </parameter>
1973++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
1974+ <getopt mixed="-a, --ip=[ip]" />
1975+ <content type="string" />
1976+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
1977+@@ -33,22 +38,37 @@
1978+ <content type="integer" default="161" />
1979+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
1980+ </parameter>
1981+- <parameter name="login" unique="0" required="0">
1982++ <parameter name="login" unique="0" required="0" deprecated="1">
1983+ <getopt mixed="-l, --username=[name]" />
1984+ <content type="string" />
1985+ <shortdesc lang="en">Login name</shortdesc>
1986+ </parameter>
1987+- <parameter name="passwd" unique="0" required="0">
1988++ <parameter name="passwd" unique="0" required="0" deprecated="1">
1989++ <getopt mixed="-p, --password=[password]" />
1990++ <content type="string" />
1991++ <shortdesc lang="en">Login password or passphrase</shortdesc>
1992++ </parameter>
1993++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
1994++ <getopt mixed="-S, --password-script=[script]" />
1995++ <content type="string" />
1996++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
1997++ </parameter>
1998++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
1999+ <getopt mixed="-p, --password=[password]" />
2000+ <content type="string" />
2001+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2002+ </parameter>
2003+- <parameter name="passwd_script" unique="0" required="0">
2004++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2005+ <getopt mixed="-S, --password-script=[script]" />
2006+ <content type="string" />
2007+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2008+ </parameter>
2009+- <parameter name="port" unique="0" required="1">
2010++ <parameter name="plug" unique="0" required="1" obsoletes="port">
2011++ <getopt mixed="-n, --plug=[id]" />
2012++ <content type="string" />
2013++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2014++ </parameter>
2015++ <parameter name="port" unique="0" required="1" deprecated="1">
2016+ <getopt mixed="-n, --plug=[id]" />
2017+ <content type="string" />
2018+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2019+@@ -97,6 +117,11 @@
2020+ </content>
2021+ <shortdesc lang="en">Specifies SNMP version to use</shortdesc>
2022+ </parameter>
2023++ <parameter name="username" unique="0" required="0" obsoletes="login">
2024++ <getopt mixed="-l, --username=[name]" />
2025++ <content type="string" />
2026++ <shortdesc lang="en">Login name</shortdesc>
2027++ </parameter>
2028+ <parameter name="quiet" unique="0" required="0">
2029+ <getopt mixed="-q, --quiet" />
2030+ <content type="boolean" />
2031+@@ -107,7 +132,12 @@
2032+ <content type="boolean" />
2033+ <shortdesc lang="en">Verbose mode</shortdesc>
2034+ </parameter>
2035+- <parameter name="debug" unique="0" required="0">
2036++ <parameter name="debug" unique="0" required="0" deprecated="1">
2037++ <getopt mixed="-D, --debug-file=[debugfile]" />
2038++ <content type="string" />
2039++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2040++ </parameter>
2041++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2042+ <getopt mixed="-D, --debug-file=[debugfile]" />
2043+ <content type="string" />
2044+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2045+--- a/tests/data/metadata/fence_eps.xml
2046++++ b/tests/data/metadata/fence_eps.xml
2047+@@ -10,7 +10,7 @@
2048+ <content type="string" default="reboot" />
2049+ <shortdesc lang="en">Fencing action</shortdesc>
2050+ </parameter>
2051+- <parameter name="hidden_page" unique="0" required="0">
2052++ <parameter name="hidden_page" unique="0" required="0" deprecated="1">
2053+ <getopt mixed="-c, --page=[page]" />
2054+ <content type="string" default="hidden.htm" />
2055+ <shortdesc lang="en">Name of hidden page</shortdesc>
2056+@@ -25,7 +25,12 @@
2057+ <content type="boolean" />
2058+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2059+ </parameter>
2060+- <parameter name="ipaddr" unique="0" required="1">
2061++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
2062++ <getopt mixed="-a, --ip=[ip]" />
2063++ <content type="string" />
2064++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2065++ </parameter>
2066++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
2067+ <getopt mixed="-a, --ip=[ip]" />
2068+ <content type="string" />
2069+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2070+@@ -35,26 +40,51 @@
2071+ <content type="integer" default="80" />
2072+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
2073+ </parameter>
2074+- <parameter name="login" unique="0" required="0">
2075++ <parameter name="login" unique="0" required="0" deprecated="1">
2076+ <getopt mixed="-l, --username=[name]" />
2077+ <content type="string" />
2078+ <shortdesc lang="en">Login name</shortdesc>
2079+ </parameter>
2080+- <parameter name="passwd" unique="0" required="0">
2081++ <parameter name="page" unique="0" required="0" obsoletes="hidden_page">
2082++ <getopt mixed="-c, --page=[page]" />
2083++ <content type="string" default="hidden.htm" />
2084++ <shortdesc lang="en">Name of hidden page</shortdesc>
2085++ </parameter>
2086++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2087++ <getopt mixed="-p, --password=[password]" />
2088++ <content type="string" />
2089++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2090++ </parameter>
2091++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2092++ <getopt mixed="-S, --password-script=[script]" />
2093++ <content type="string" />
2094++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2095++ </parameter>
2096++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2097+ <getopt mixed="-p, --password=[password]" />
2098+ <content type="string" />
2099+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2100+ </parameter>
2101+- <parameter name="passwd_script" unique="0" required="0">
2102++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2103+ <getopt mixed="-S, --password-script=[script]" />
2104+ <content type="string" />
2105+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2106+ </parameter>
2107+- <parameter name="port" unique="0" required="1">
2108++ <parameter name="plug" unique="0" required="1" obsoletes="port">
2109+ <getopt mixed="-n, --plug=[id]" />
2110+ <content type="string" />
2111+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2112+ </parameter>
2113++ <parameter name="port" unique="0" required="1" deprecated="1">
2114++ <getopt mixed="-n, --plug=[id]" />
2115++ <content type="string" />
2116++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2117++ </parameter>
2118++ <parameter name="username" unique="0" required="0" obsoletes="login">
2119++ <getopt mixed="-l, --username=[name]" />
2120++ <content type="string" />
2121++ <shortdesc lang="en">Login name</shortdesc>
2122++ </parameter>
2123+ <parameter name="quiet" unique="0" required="0">
2124+ <getopt mixed="-q, --quiet" />
2125+ <content type="boolean" />
2126+@@ -65,7 +95,12 @@
2127+ <content type="boolean" />
2128+ <shortdesc lang="en">Verbose mode</shortdesc>
2129+ </parameter>
2130+- <parameter name="debug" unique="0" required="0">
2131++ <parameter name="debug" unique="0" required="0" deprecated="1">
2132++ <getopt mixed="-D, --debug-file=[debugfile]" />
2133++ <content type="string" />
2134++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2135++ </parameter>
2136++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2137+ <getopt mixed="-D, --debug-file=[debugfile]" />
2138+ <content type="string" />
2139+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2140+--- a/tests/data/metadata/fence_hds_cb.xml
2141++++ b/tests/data/metadata/fence_hds_cb.xml
2142+@@ -8,7 +8,12 @@
2143+ <content type="string" default="reboot" />
2144+ <shortdesc lang="en">Fencing action</shortdesc>
2145+ </parameter>
2146+- <parameter name="cmd_prompt" unique="0" required="0">
2147++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
2148++ <getopt mixed="-c, --command-prompt=[prompt]" />
2149++ <content type="string" default="[&apos;\\) :&apos;]" />
2150++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
2151++ </parameter>
2152++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
2153+ <getopt mixed="-c, --command-prompt=[prompt]" />
2154+ <content type="string" default="[&apos;\\) :&apos;]" />
2155+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
2156+@@ -28,7 +33,12 @@
2157+ <content type="boolean" />
2158+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2159+ </parameter>
2160+- <parameter name="ipaddr" unique="0" required="1">
2161++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
2162++ <getopt mixed="-a, --ip=[ip]" />
2163++ <content type="string" />
2164++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2165++ </parameter>
2166++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
2167+ <getopt mixed="-a, --ip=[ip]" />
2168+ <content type="string" />
2169+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2170+@@ -38,27 +48,47 @@
2171+ <content type="integer" default="23" />
2172+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
2173+ </parameter>
2174+- <parameter name="login" unique="0" required="1">
2175++ <parameter name="login" unique="0" required="1" deprecated="1">
2176+ <getopt mixed="-l, --username=[name]" />
2177+ <content type="string" />
2178+ <shortdesc lang="en">Login name</shortdesc>
2179+ </parameter>
2180+- <parameter name="passwd" unique="0" required="0">
2181++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2182++ <getopt mixed="-p, --password=[password]" />
2183++ <content type="string" />
2184++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2185++ </parameter>
2186++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2187++ <getopt mixed="-S, --password-script=[script]" />
2188++ <content type="string" />
2189++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2190++ </parameter>
2191++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2192+ <getopt mixed="-p, --password=[password]" />
2193+ <content type="string" />
2194+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2195+ </parameter>
2196+- <parameter name="passwd_script" unique="0" required="0">
2197++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2198+ <getopt mixed="-S, --password-script=[script]" />
2199+ <content type="string" />
2200+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2201+ </parameter>
2202+- <parameter name="port" unique="0" required="1">
2203++ <parameter name="plug" unique="0" required="1" obsoletes="port">
2204+ <getopt mixed="-n, --plug=[id]" />
2205+ <content type="string" />
2206+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2207+ </parameter>
2208+- <parameter name="secure" unique="0" required="0">
2209++ <parameter name="port" unique="0" required="1" deprecated="1">
2210++ <getopt mixed="-n, --plug=[id]" />
2211++ <content type="string" />
2212++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2213++ </parameter>
2214++ <parameter name="secure" unique="0" required="0" deprecated="1">
2215++ <getopt mixed="-x, --ssh" />
2216++ <content type="boolean" />
2217++ <shortdesc lang="en">Use SSH connection</shortdesc>
2218++ </parameter>
2219++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
2220+ <getopt mixed="-x, --ssh" />
2221+ <content type="boolean" />
2222+ <shortdesc lang="en">Use SSH connection</shortdesc>
2223+@@ -68,6 +98,11 @@
2224+ <content type="string" />
2225+ <shortdesc lang="en">SSH options to use</shortdesc>
2226+ </parameter>
2227++ <parameter name="username" unique="0" required="1" obsoletes="login">
2228++ <getopt mixed="-l, --username=[name]" />
2229++ <content type="string" />
2230++ <shortdesc lang="en">Login name</shortdesc>
2231++ </parameter>
2232+ <parameter name="quiet" unique="0" required="0">
2233+ <getopt mixed="-q, --quiet" />
2234+ <content type="boolean" />
2235+@@ -78,7 +113,12 @@
2236+ <content type="boolean" />
2237+ <shortdesc lang="en">Verbose mode</shortdesc>
2238+ </parameter>
2239+- <parameter name="debug" unique="0" required="0">
2240++ <parameter name="debug" unique="0" required="0" deprecated="1">
2241++ <getopt mixed="-D, --debug-file=[debugfile]" />
2242++ <content type="string" />
2243++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2244++ </parameter>
2245++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2246+ <getopt mixed="-D, --debug-file=[debugfile]" />
2247+ <content type="string" />
2248+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2249+--- a/tests/data/metadata/fence_hpblade.xml
2250++++ b/tests/data/metadata/fence_hpblade.xml
2251+@@ -8,7 +8,12 @@
2252+ <content type="string" default="reboot" />
2253+ <shortdesc lang="en">Fencing action</shortdesc>
2254+ </parameter>
2255+- <parameter name="cmd_prompt" unique="0" required="0">
2256++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
2257++ <getopt mixed="-c, --command-prompt=[prompt]" />
2258++ <content type="string" default="[&apos;c7000oa&gt;&apos;]" />
2259++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
2260++ </parameter>
2261++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
2262+ <getopt mixed="-c, --command-prompt=[prompt]" />
2263+ <content type="string" default="[&apos;c7000oa&gt;&apos;]" />
2264+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
2265+@@ -28,7 +33,12 @@
2266+ <content type="boolean" />
2267+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2268+ </parameter>
2269+- <parameter name="ipaddr" unique="0" required="1">
2270++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
2271++ <getopt mixed="-a, --ip=[ip]" />
2272++ <content type="string" />
2273++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2274++ </parameter>
2275++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
2276+ <getopt mixed="-a, --ip=[ip]" />
2277+ <content type="string" />
2278+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2279+@@ -38,27 +48,47 @@
2280+ <content type="integer" default="23" />
2281+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
2282+ </parameter>
2283+- <parameter name="login" unique="0" required="1">
2284++ <parameter name="login" unique="0" required="1" deprecated="1">
2285+ <getopt mixed="-l, --username=[name]" />
2286+ <content type="string" />
2287+ <shortdesc lang="en">Login name</shortdesc>
2288+ </parameter>
2289+- <parameter name="passwd" unique="0" required="0">
2290++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2291++ <getopt mixed="-p, --password=[password]" />
2292++ <content type="string" />
2293++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2294++ </parameter>
2295++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2296++ <getopt mixed="-S, --password-script=[script]" />
2297++ <content type="string" />
2298++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2299++ </parameter>
2300++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2301+ <getopt mixed="-p, --password=[password]" />
2302+ <content type="string" />
2303+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2304+ </parameter>
2305+- <parameter name="passwd_script" unique="0" required="0">
2306++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2307+ <getopt mixed="-S, --password-script=[script]" />
2308+ <content type="string" />
2309+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2310+ </parameter>
2311+- <parameter name="port" unique="0" required="1">
2312++ <parameter name="plug" unique="0" required="1" obsoletes="port">
2313+ <getopt mixed="-n, --plug=[id]" />
2314+ <content type="string" />
2315+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2316+ </parameter>
2317+- <parameter name="secure" unique="0" required="0">
2318++ <parameter name="port" unique="0" required="1" deprecated="1">
2319++ <getopt mixed="-n, --plug=[id]" />
2320++ <content type="string" />
2321++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2322++ </parameter>
2323++ <parameter name="secure" unique="0" required="0" deprecated="1">
2324++ <getopt mixed="-x, --ssh" />
2325++ <content type="boolean" />
2326++ <shortdesc lang="en">Use SSH connection</shortdesc>
2327++ </parameter>
2328++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
2329+ <getopt mixed="-x, --ssh" />
2330+ <content type="boolean" />
2331+ <shortdesc lang="en">Use SSH connection</shortdesc>
2332+@@ -68,6 +98,11 @@
2333+ <content type="string" />
2334+ <shortdesc lang="en">SSH options to use</shortdesc>
2335+ </parameter>
2336++ <parameter name="username" unique="0" required="1" obsoletes="login">
2337++ <getopt mixed="-l, --username=[name]" />
2338++ <content type="string" />
2339++ <shortdesc lang="en">Login name</shortdesc>
2340++ </parameter>
2341+ <parameter name="quiet" unique="0" required="0">
2342+ <getopt mixed="-q, --quiet" />
2343+ <content type="boolean" />
2344+@@ -78,7 +113,12 @@
2345+ <content type="boolean" />
2346+ <shortdesc lang="en">Verbose mode</shortdesc>
2347+ </parameter>
2348+- <parameter name="debug" unique="0" required="0">
2349++ <parameter name="debug" unique="0" required="0" deprecated="1">
2350++ <getopt mixed="-D, --debug-file=[debugfile]" />
2351++ <content type="string" />
2352++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2353++ </parameter>
2354++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2355+ <getopt mixed="-D, --debug-file=[debugfile]" />
2356+ <content type="string" />
2357+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2358+--- a/tests/data/metadata/fence_ibmblade.xml
2359++++ b/tests/data/metadata/fence_ibmblade.xml
2360+@@ -23,7 +23,12 @@
2361+ <content type="boolean" />
2362+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2363+ </parameter>
2364+- <parameter name="ipaddr" unique="0" required="1">
2365++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
2366++ <getopt mixed="-a, --ip=[ip]" />
2367++ <content type="string" />
2368++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2369++ </parameter>
2370++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
2371+ <getopt mixed="-a, --ip=[ip]" />
2372+ <content type="string" />
2373+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2374+@@ -33,22 +38,37 @@
2375+ <content type="integer" default="161" />
2376+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
2377+ </parameter>
2378+- <parameter name="login" unique="0" required="0">
2379++ <parameter name="login" unique="0" required="0" deprecated="1">
2380+ <getopt mixed="-l, --username=[name]" />
2381+ <content type="string" />
2382+ <shortdesc lang="en">Login name</shortdesc>
2383+ </parameter>
2384+- <parameter name="passwd" unique="0" required="0">
2385++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2386++ <getopt mixed="-p, --password=[password]" />
2387++ <content type="string" />
2388++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2389++ </parameter>
2390++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2391++ <getopt mixed="-S, --password-script=[script]" />
2392++ <content type="string" />
2393++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2394++ </parameter>
2395++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2396+ <getopt mixed="-p, --password=[password]" />
2397+ <content type="string" />
2398+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2399+ </parameter>
2400+- <parameter name="passwd_script" unique="0" required="0">
2401++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2402+ <getopt mixed="-S, --password-script=[script]" />
2403+ <content type="string" />
2404+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2405+ </parameter>
2406+- <parameter name="port" unique="0" required="1">
2407++ <parameter name="plug" unique="0" required="1" obsoletes="port">
2408++ <getopt mixed="-n, --plug=[id]" />
2409++ <content type="string" />
2410++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2411++ </parameter>
2412++ <parameter name="port" unique="0" required="1" deprecated="1">
2413+ <getopt mixed="-n, --plug=[id]" />
2414+ <content type="string" />
2415+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2416+@@ -97,6 +117,11 @@
2417+ </content>
2418+ <shortdesc lang="en">Specifies SNMP version to use</shortdesc>
2419+ </parameter>
2420++ <parameter name="username" unique="0" required="0" obsoletes="login">
2421++ <getopt mixed="-l, --username=[name]" />
2422++ <content type="string" />
2423++ <shortdesc lang="en">Login name</shortdesc>
2424++ </parameter>
2425+ <parameter name="quiet" unique="0" required="0">
2426+ <getopt mixed="-q, --quiet" />
2427+ <content type="boolean" />
2428+@@ -107,7 +132,12 @@
2429+ <content type="boolean" />
2430+ <shortdesc lang="en">Verbose mode</shortdesc>
2431+ </parameter>
2432+- <parameter name="debug" unique="0" required="0">
2433++ <parameter name="debug" unique="0" required="0" deprecated="1">
2434++ <getopt mixed="-D, --debug-file=[debugfile]" />
2435++ <content type="string" />
2436++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2437++ </parameter>
2438++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2439+ <getopt mixed="-D, --debug-file=[debugfile]" />
2440+ <content type="string" />
2441+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2442+--- a/tests/data/metadata/fence_idrac.xml
2443++++ b/tests/data/metadata/fence_idrac.xml
2444+@@ -36,7 +36,12 @@
2445+ <content type="boolean" />
2446+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2447+ </parameter>
2448+- <parameter name="ipaddr" unique="0" required="0">
2449++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
2450++ <getopt mixed="-a, --ip=[ip]" />
2451++ <content type="string" />
2452++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2453++ </parameter>
2454++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
2455+ <getopt mixed="-a, --ip=[ip]" />
2456+ <content type="string" />
2457+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2458+@@ -51,7 +56,7 @@
2459+ <content type="boolean" default="0" />
2460+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
2461+ </parameter>
2462+- <parameter name="login" unique="0" required="0">
2463++ <parameter name="login" unique="0" required="0" deprecated="1">
2464+ <getopt mixed="-l, --username=[name]" />
2465+ <content type="string" />
2466+ <shortdesc lang="en">Login name</shortdesc>
2467+@@ -64,17 +69,32 @@
2468+ </content>
2469+ <shortdesc lang="en">Method to fence</shortdesc>
2470+ </parameter>
2471+- <parameter name="passwd" unique="0" required="0">
2472++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2473++ <getopt mixed="-p, --password=[password]" />
2474++ <content type="string" />
2475++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2476++ </parameter>
2477++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2478++ <getopt mixed="-S, --password-script=[script]" />
2479++ <content type="string" />
2480++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2481++ </parameter>
2482++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2483+ <getopt mixed="-p, --password=[password]" />
2484+ <content type="string" />
2485+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2486+ </parameter>
2487+- <parameter name="passwd_script" unique="0" required="0">
2488++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2489+ <getopt mixed="-S, --password-script=[script]" />
2490+ <content type="string" />
2491+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2492+ </parameter>
2493+- <parameter name="port" unique="0" required="0">
2494++ <parameter name="plug" unique="0" required="0" obsoletes="port">
2495++ <getopt mixed="-n, --plug=[ip]" />
2496++ <content type="string" />
2497++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
2498++ </parameter>
2499++ <parameter name="port" unique="0" required="0" deprecated="1">
2500+ <getopt mixed="-n, --plug=[ip]" />
2501+ <content type="string" />
2502+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
2503+@@ -89,6 +109,11 @@
2504+ </content>
2505+ <shortdesc lang="en">Privilege level on IPMI device</shortdesc>
2506+ </parameter>
2507++ <parameter name="username" unique="0" required="0" obsoletes="login">
2508++ <getopt mixed="-l, --username=[name]" />
2509++ <content type="string" />
2510++ <shortdesc lang="en">Login name</shortdesc>
2511++ </parameter>
2512+ <parameter name="quiet" unique="0" required="0">
2513+ <getopt mixed="-q, --quiet" />
2514+ <content type="boolean" />
2515+@@ -99,7 +124,12 @@
2516+ <content type="boolean" />
2517+ <shortdesc lang="en">Verbose mode</shortdesc>
2518+ </parameter>
2519+- <parameter name="debug" unique="0" required="0">
2520++ <parameter name="debug" unique="0" required="0" deprecated="1">
2521++ <getopt mixed="-D, --debug-file=[debugfile]" />
2522++ <content type="string" />
2523++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2524++ </parameter>
2525++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2526+ <getopt mixed="-D, --debug-file=[debugfile]" />
2527+ <content type="string" />
2528+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2529+@@ -153,7 +183,12 @@
2530+ <content type="integer" default="1" />
2531+ <shortdesc lang="en">Count of attempts to retry power on</shortdesc>
2532+ </parameter>
2533+- <parameter name="sudo" unique="0" required="0">
2534++ <parameter name="sudo" unique="0" required="0" deprecated="1">
2535++ <getopt mixed="--use-sudo" />
2536++ <content type="boolean" />
2537++ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
2538++ </parameter>
2539++ <parameter name="use_sudo" unique="0" required="0" obsoletes="sudo">
2540+ <getopt mixed="--use-sudo" />
2541+ <content type="boolean" />
2542+ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
2543+--- a/tests/data/metadata/fence_ifmib.xml
2544++++ b/tests/data/metadata/fence_ifmib.xml
2545+@@ -25,7 +25,12 @@
2546+ <content type="boolean" />
2547+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2548+ </parameter>
2549+- <parameter name="ipaddr" unique="0" required="1">
2550++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
2551++ <getopt mixed="-a, --ip=[ip]" />
2552++ <content type="string" />
2553++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2554++ </parameter>
2555++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
2556+ <getopt mixed="-a, --ip=[ip]" />
2557+ <content type="string" />
2558+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2559+@@ -35,22 +40,37 @@
2560+ <content type="integer" default="161" />
2561+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
2562+ </parameter>
2563+- <parameter name="login" unique="0" required="0">
2564++ <parameter name="login" unique="0" required="0" deprecated="1">
2565+ <getopt mixed="-l, --username=[name]" />
2566+ <content type="string" />
2567+ <shortdesc lang="en">Login name</shortdesc>
2568+ </parameter>
2569+- <parameter name="passwd" unique="0" required="0">
2570++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2571++ <getopt mixed="-p, --password=[password]" />
2572++ <content type="string" />
2573++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2574++ </parameter>
2575++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2576++ <getopt mixed="-S, --password-script=[script]" />
2577++ <content type="string" />
2578++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2579++ </parameter>
2580++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2581+ <getopt mixed="-p, --password=[password]" />
2582+ <content type="string" />
2583+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2584+ </parameter>
2585+- <parameter name="passwd_script" unique="0" required="0">
2586++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2587+ <getopt mixed="-S, --password-script=[script]" />
2588+ <content type="string" />
2589+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2590+ </parameter>
2591+- <parameter name="port" unique="0" required="1">
2592++ <parameter name="plug" unique="0" required="1" obsoletes="port">
2593++ <getopt mixed="-n, --plug=[id]" />
2594++ <content type="string" />
2595++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2596++ </parameter>
2597++ <parameter name="port" unique="0" required="1" deprecated="1">
2598+ <getopt mixed="-n, --plug=[id]" />
2599+ <content type="string" />
2600+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
2601+@@ -99,6 +119,11 @@
2602+ </content>
2603+ <shortdesc lang="en">Specifies SNMP version to use</shortdesc>
2604+ </parameter>
2605++ <parameter name="username" unique="0" required="0" obsoletes="login">
2606++ <getopt mixed="-l, --username=[name]" />
2607++ <content type="string" />
2608++ <shortdesc lang="en">Login name</shortdesc>
2609++ </parameter>
2610+ <parameter name="quiet" unique="0" required="0">
2611+ <getopt mixed="-q, --quiet" />
2612+ <content type="boolean" />
2613+@@ -109,7 +134,12 @@
2614+ <content type="boolean" />
2615+ <shortdesc lang="en">Verbose mode</shortdesc>
2616+ </parameter>
2617+- <parameter name="debug" unique="0" required="0">
2618++ <parameter name="debug" unique="0" required="0" deprecated="1">
2619++ <getopt mixed="-D, --debug-file=[debugfile]" />
2620++ <content type="string" />
2621++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2622++ </parameter>
2623++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2624+ <getopt mixed="-D, --debug-file=[debugfile]" />
2625+ <content type="string" />
2626+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2627+--- a/tests/data/metadata/fence_ilo.xml
2628++++ b/tests/data/metadata/fence_ilo.xml
2629+@@ -19,7 +19,12 @@
2630+ <content type="boolean" />
2631+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2632+ </parameter>
2633+- <parameter name="ipaddr" unique="0" required="0">
2634++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
2635++ <getopt mixed="-a, --ip=[ip]" />
2636++ <content type="string" />
2637++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2638++ </parameter>
2639++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
2640+ <getopt mixed="-a, --ip=[ip]" />
2641+ <content type="string" />
2642+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2643+@@ -29,7 +34,7 @@
2644+ <content type="integer" default="443" />
2645+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
2646+ </parameter>
2647+- <parameter name="login" unique="0" required="1">
2648++ <parameter name="login" unique="0" required="1" deprecated="1">
2649+ <getopt mixed="-l, --username=[name]" />
2650+ <content type="string" />
2651+ <shortdesc lang="en">Login name</shortdesc>
2652+@@ -39,22 +44,42 @@
2653+ <content type="boolean" />
2654+ <shortdesc lang="en">Disable TLS negotiation and force SSL3.0. This should only be used for devices that do not support TLS1.0 and up.</shortdesc>
2655+ </parameter>
2656+- <parameter name="passwd" unique="0" required="0">
2657++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2658++ <getopt mixed="-p, --password=[password]" />
2659++ <content type="string" />
2660++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2661++ </parameter>
2662++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2663++ <getopt mixed="-S, --password-script=[script]" />
2664++ <content type="string" />
2665++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2666++ </parameter>
2667++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2668+ <getopt mixed="-p, --password=[password]" />
2669+ <content type="string" />
2670+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2671+ </parameter>
2672+- <parameter name="passwd_script" unique="0" required="0">
2673++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2674+ <getopt mixed="-S, --password-script=[script]" />
2675+ <content type="string" />
2676+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2677+ </parameter>
2678+- <parameter name="port" unique="0" required="0">
2679++ <parameter name="plug" unique="0" required="0" obsoletes="port">
2680++ <getopt mixed="-n, --plug=[ip]" />
2681++ <content type="string" />
2682++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
2683++ </parameter>
2684++ <parameter name="port" unique="0" required="0" deprecated="1">
2685+ <getopt mixed="-n, --plug=[ip]" />
2686+ <content type="string" />
2687+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
2688+ </parameter>
2689+- <parameter name="ribcl" unique="0" required="0">
2690++ <parameter name="ribcl" unique="0" required="0" deprecated="1">
2691++ <getopt mixed="-r, --ribcl-version=[version]" />
2692++ <content type="string" />
2693++ <shortdesc lang="en">Force ribcl version to use</shortdesc>
2694++ </parameter>
2695++ <parameter name="ribcl_version" unique="0" required="0" obsoletes="ribcl">
2696+ <getopt mixed="-r, --ribcl-version=[version]" />
2697+ <content type="string" />
2698+ <shortdesc lang="en">Force ribcl version to use</shortdesc>
2699+@@ -79,6 +104,11 @@
2700+ <content type="boolean" />
2701+ <shortdesc lang="en">Disable TLS negotiation and force TLS1.0. This should only be used for devices that do not support TLS1.1 and up.</shortdesc>
2702+ </parameter>
2703++ <parameter name="username" unique="0" required="1" obsoletes="login">
2704++ <getopt mixed="-l, --username=[name]" />
2705++ <content type="string" />
2706++ <shortdesc lang="en">Login name</shortdesc>
2707++ </parameter>
2708+ <parameter name="quiet" unique="0" required="0">
2709+ <getopt mixed="-q, --quiet" />
2710+ <content type="boolean" />
2711+@@ -89,7 +119,12 @@
2712+ <content type="boolean" />
2713+ <shortdesc lang="en">Verbose mode</shortdesc>
2714+ </parameter>
2715+- <parameter name="debug" unique="0" required="0">
2716++ <parameter name="debug" unique="0" required="0" deprecated="1">
2717++ <getopt mixed="-D, --debug-file=[debugfile]" />
2718++ <content type="string" />
2719++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2720++ </parameter>
2721++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2722+ <getopt mixed="-D, --debug-file=[debugfile]" />
2723+ <content type="string" />
2724+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2725+--- a/tests/data/metadata/fence_ilo2.xml
2726++++ b/tests/data/metadata/fence_ilo2.xml
2727+@@ -19,7 +19,12 @@
2728+ <content type="boolean" />
2729+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2730+ </parameter>
2731+- <parameter name="ipaddr" unique="0" required="0">
2732++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
2733++ <getopt mixed="-a, --ip=[ip]" />
2734++ <content type="string" />
2735++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2736++ </parameter>
2737++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
2738+ <getopt mixed="-a, --ip=[ip]" />
2739+ <content type="string" />
2740+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2741+@@ -29,7 +34,7 @@
2742+ <content type="integer" default="443" />
2743+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
2744+ </parameter>
2745+- <parameter name="login" unique="0" required="1">
2746++ <parameter name="login" unique="0" required="1" deprecated="1">
2747+ <getopt mixed="-l, --username=[name]" />
2748+ <content type="string" />
2749+ <shortdesc lang="en">Login name</shortdesc>
2750+@@ -39,22 +44,42 @@
2751+ <content type="boolean" />
2752+ <shortdesc lang="en">Disable TLS negotiation and force SSL3.0. This should only be used for devices that do not support TLS1.0 and up.</shortdesc>
2753+ </parameter>
2754+- <parameter name="passwd" unique="0" required="0">
2755++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2756++ <getopt mixed="-p, --password=[password]" />
2757++ <content type="string" />
2758++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2759++ </parameter>
2760++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2761++ <getopt mixed="-S, --password-script=[script]" />
2762++ <content type="string" />
2763++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2764++ </parameter>
2765++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2766+ <getopt mixed="-p, --password=[password]" />
2767+ <content type="string" />
2768+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2769+ </parameter>
2770+- <parameter name="passwd_script" unique="0" required="0">
2771++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2772+ <getopt mixed="-S, --password-script=[script]" />
2773+ <content type="string" />
2774+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2775+ </parameter>
2776+- <parameter name="port" unique="0" required="0">
2777++ <parameter name="plug" unique="0" required="0" obsoletes="port">
2778++ <getopt mixed="-n, --plug=[ip]" />
2779++ <content type="string" />
2780++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
2781++ </parameter>
2782++ <parameter name="port" unique="0" required="0" deprecated="1">
2783+ <getopt mixed="-n, --plug=[ip]" />
2784+ <content type="string" />
2785+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
2786+ </parameter>
2787+- <parameter name="ribcl" unique="0" required="0">
2788++ <parameter name="ribcl" unique="0" required="0" deprecated="1">
2789++ <getopt mixed="-r, --ribcl-version=[version]" />
2790++ <content type="string" />
2791++ <shortdesc lang="en">Force ribcl version to use</shortdesc>
2792++ </parameter>
2793++ <parameter name="ribcl_version" unique="0" required="0" obsoletes="ribcl">
2794+ <getopt mixed="-r, --ribcl-version=[version]" />
2795+ <content type="string" />
2796+ <shortdesc lang="en">Force ribcl version to use</shortdesc>
2797+@@ -79,6 +104,11 @@
2798+ <content type="boolean" />
2799+ <shortdesc lang="en">Disable TLS negotiation and force TLS1.0. This should only be used for devices that do not support TLS1.1 and up.</shortdesc>
2800+ </parameter>
2801++ <parameter name="username" unique="0" required="1" obsoletes="login">
2802++ <getopt mixed="-l, --username=[name]" />
2803++ <content type="string" />
2804++ <shortdesc lang="en">Login name</shortdesc>
2805++ </parameter>
2806+ <parameter name="quiet" unique="0" required="0">
2807+ <getopt mixed="-q, --quiet" />
2808+ <content type="boolean" />
2809+@@ -89,7 +119,12 @@
2810+ <content type="boolean" />
2811+ <shortdesc lang="en">Verbose mode</shortdesc>
2812+ </parameter>
2813+- <parameter name="debug" unique="0" required="0">
2814++ <parameter name="debug" unique="0" required="0" deprecated="1">
2815++ <getopt mixed="-D, --debug-file=[debugfile]" />
2816++ <content type="string" />
2817++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2818++ </parameter>
2819++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2820+ <getopt mixed="-D, --debug-file=[debugfile]" />
2821+ <content type="string" />
2822+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2823+--- a/tests/data/metadata/fence_ilo3.xml
2824++++ b/tests/data/metadata/fence_ilo3.xml
2825+@@ -36,7 +36,12 @@
2826+ <content type="boolean" />
2827+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2828+ </parameter>
2829+- <parameter name="ipaddr" unique="0" required="0">
2830++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
2831++ <getopt mixed="-a, --ip=[ip]" />
2832++ <content type="string" />
2833++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2834++ </parameter>
2835++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
2836+ <getopt mixed="-a, --ip=[ip]" />
2837+ <content type="string" />
2838+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2839+@@ -51,7 +56,7 @@
2840+ <content type="boolean" default="1" />
2841+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
2842+ </parameter>
2843+- <parameter name="login" unique="0" required="0">
2844++ <parameter name="login" unique="0" required="0" deprecated="1">
2845+ <getopt mixed="-l, --username=[name]" />
2846+ <content type="string" />
2847+ <shortdesc lang="en">Login name</shortdesc>
2848+@@ -64,17 +69,32 @@
2849+ </content>
2850+ <shortdesc lang="en">Method to fence</shortdesc>
2851+ </parameter>
2852+- <parameter name="passwd" unique="0" required="0">
2853++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2854++ <getopt mixed="-p, --password=[password]" />
2855++ <content type="string" />
2856++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2857++ </parameter>
2858++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2859++ <getopt mixed="-S, --password-script=[script]" />
2860++ <content type="string" />
2861++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2862++ </parameter>
2863++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2864+ <getopt mixed="-p, --password=[password]" />
2865+ <content type="string" />
2866+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2867+ </parameter>
2868+- <parameter name="passwd_script" unique="0" required="0">
2869++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2870+ <getopt mixed="-S, --password-script=[script]" />
2871+ <content type="string" />
2872+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2873+ </parameter>
2874+- <parameter name="port" unique="0" required="0">
2875++ <parameter name="plug" unique="0" required="0" obsoletes="port">
2876++ <getopt mixed="-n, --plug=[ip]" />
2877++ <content type="string" />
2878++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
2879++ </parameter>
2880++ <parameter name="port" unique="0" required="0" deprecated="1">
2881+ <getopt mixed="-n, --plug=[ip]" />
2882+ <content type="string" />
2883+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
2884+@@ -89,6 +109,11 @@
2885+ </content>
2886+ <shortdesc lang="en">Privilege level on IPMI device</shortdesc>
2887+ </parameter>
2888++ <parameter name="username" unique="0" required="0" obsoletes="login">
2889++ <getopt mixed="-l, --username=[name]" />
2890++ <content type="string" />
2891++ <shortdesc lang="en">Login name</shortdesc>
2892++ </parameter>
2893+ <parameter name="quiet" unique="0" required="0">
2894+ <getopt mixed="-q, --quiet" />
2895+ <content type="boolean" />
2896+@@ -99,7 +124,12 @@
2897+ <content type="boolean" />
2898+ <shortdesc lang="en">Verbose mode</shortdesc>
2899+ </parameter>
2900+- <parameter name="debug" unique="0" required="0">
2901++ <parameter name="debug" unique="0" required="0" deprecated="1">
2902++ <getopt mixed="-D, --debug-file=[debugfile]" />
2903++ <content type="string" />
2904++ <shortdesc lang="en">Write debug information to given file</shortdesc>
2905++ </parameter>
2906++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
2907+ <getopt mixed="-D, --debug-file=[debugfile]" />
2908+ <content type="string" />
2909+ <shortdesc lang="en">Write debug information to given file</shortdesc>
2910+@@ -153,7 +183,12 @@
2911+ <content type="integer" default="1" />
2912+ <shortdesc lang="en">Count of attempts to retry power on</shortdesc>
2913+ </parameter>
2914+- <parameter name="sudo" unique="0" required="0">
2915++ <parameter name="sudo" unique="0" required="0" deprecated="1">
2916++ <getopt mixed="--use-sudo" />
2917++ <content type="boolean" />
2918++ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
2919++ </parameter>
2920++ <parameter name="use_sudo" unique="0" required="0" obsoletes="sudo">
2921+ <getopt mixed="--use-sudo" />
2922+ <content type="boolean" />
2923+ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
2924+--- a/tests/data/metadata/fence_ilo3_ssh.xml
2925++++ b/tests/data/metadata/fence_ilo3_ssh.xml
2926+@@ -10,7 +10,12 @@
2927+ <content type="string" default="reboot" />
2928+ <shortdesc lang="en">Fencing action</shortdesc>
2929+ </parameter>
2930+- <parameter name="cmd_prompt" unique="0" required="0">
2931++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
2932++ <getopt mixed="-c, --command-prompt=[prompt]" />
2933++ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
2934++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
2935++ </parameter>
2936++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
2937+ <getopt mixed="-c, --command-prompt=[prompt]" />
2938+ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
2939+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
2940+@@ -30,7 +35,12 @@
2941+ <content type="boolean" />
2942+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
2943+ </parameter>
2944+- <parameter name="ipaddr" unique="0" required="0">
2945++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
2946++ <getopt mixed="-a, --ip=[ip]" />
2947++ <content type="string" />
2948++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2949++ </parameter>
2950++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
2951+ <getopt mixed="-a, --ip=[ip]" />
2952+ <content type="string" />
2953+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
2954+@@ -40,7 +50,7 @@
2955+ <content type="integer" default="23" />
2956+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
2957+ </parameter>
2958+- <parameter name="login" unique="0" required="1">
2959++ <parameter name="login" unique="0" required="1" deprecated="1">
2960+ <getopt mixed="-l, --username=[name]" />
2961+ <content type="string" />
2962+ <shortdesc lang="en">Login name</shortdesc>
2963+@@ -53,22 +63,42 @@
2964+ </content>
2965+ <shortdesc lang="en">Method to fence</shortdesc>
2966+ </parameter>
2967+- <parameter name="passwd" unique="0" required="0">
2968++ <parameter name="passwd" unique="0" required="0" deprecated="1">
2969++ <getopt mixed="-p, --password=[password]" />
2970++ <content type="string" />
2971++ <shortdesc lang="en">Login password or passphrase</shortdesc>
2972++ </parameter>
2973++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
2974++ <getopt mixed="-S, --password-script=[script]" />
2975++ <content type="string" />
2976++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2977++ </parameter>
2978++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
2979+ <getopt mixed="-p, --password=[password]" />
2980+ <content type="string" />
2981+ <shortdesc lang="en">Login password or passphrase</shortdesc>
2982+ </parameter>
2983+- <parameter name="passwd_script" unique="0" required="0">
2984++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
2985+ <getopt mixed="-S, --password-script=[script]" />
2986+ <content type="string" />
2987+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
2988+ </parameter>
2989+- <parameter name="port" unique="0" required="0">
2990++ <parameter name="plug" unique="0" required="0" obsoletes="port">
2991+ <getopt mixed="-n, --plug=[ip]" />
2992+ <content type="string" />
2993+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
2994+ </parameter>
2995+- <parameter name="secure" unique="0" required="0">
2996++ <parameter name="port" unique="0" required="0" deprecated="1">
2997++ <getopt mixed="-n, --plug=[ip]" />
2998++ <content type="string" />
2999++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3000++ </parameter>
3001++ <parameter name="secure" unique="0" required="0" deprecated="1">
3002++ <getopt mixed="-x, --ssh" />
3003++ <content type="boolean" />
3004++ <shortdesc lang="en">Use SSH connection</shortdesc>
3005++ </parameter>
3006++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
3007+ <getopt mixed="-x, --ssh" />
3008+ <content type="boolean" />
3009+ <shortdesc lang="en">Use SSH connection</shortdesc>
3010+@@ -78,6 +108,11 @@
3011+ <content type="string" />
3012+ <shortdesc lang="en">SSH options to use</shortdesc>
3013+ </parameter>
3014++ <parameter name="username" unique="0" required="1" obsoletes="login">
3015++ <getopt mixed="-l, --username=[name]" />
3016++ <content type="string" />
3017++ <shortdesc lang="en">Login name</shortdesc>
3018++ </parameter>
3019+ <parameter name="quiet" unique="0" required="0">
3020+ <getopt mixed="-q, --quiet" />
3021+ <content type="boolean" />
3022+@@ -88,7 +123,12 @@
3023+ <content type="boolean" />
3024+ <shortdesc lang="en">Verbose mode</shortdesc>
3025+ </parameter>
3026+- <parameter name="debug" unique="0" required="0">
3027++ <parameter name="debug" unique="0" required="0" deprecated="1">
3028++ <getopt mixed="-D, --debug-file=[debugfile]" />
3029++ <content type="string" />
3030++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3031++ </parameter>
3032++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3033+ <getopt mixed="-D, --debug-file=[debugfile]" />
3034+ <content type="string" />
3035+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3036+--- a/tests/data/metadata/fence_ilo4.xml
3037++++ b/tests/data/metadata/fence_ilo4.xml
3038+@@ -36,7 +36,12 @@
3039+ <content type="boolean" />
3040+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
3041+ </parameter>
3042+- <parameter name="ipaddr" unique="0" required="0">
3043++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
3044++ <getopt mixed="-a, --ip=[ip]" />
3045++ <content type="string" />
3046++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3047++ </parameter>
3048++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
3049+ <getopt mixed="-a, --ip=[ip]" />
3050+ <content type="string" />
3051+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3052+@@ -51,7 +56,7 @@
3053+ <content type="boolean" default="1" />
3054+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
3055+ </parameter>
3056+- <parameter name="login" unique="0" required="0">
3057++ <parameter name="login" unique="0" required="0" deprecated="1">
3058+ <getopt mixed="-l, --username=[name]" />
3059+ <content type="string" />
3060+ <shortdesc lang="en">Login name</shortdesc>
3061+@@ -64,17 +69,32 @@
3062+ </content>
3063+ <shortdesc lang="en">Method to fence</shortdesc>
3064+ </parameter>
3065+- <parameter name="passwd" unique="0" required="0">
3066++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3067++ <getopt mixed="-p, --password=[password]" />
3068++ <content type="string" />
3069++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3070++ </parameter>
3071++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3072++ <getopt mixed="-S, --password-script=[script]" />
3073++ <content type="string" />
3074++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3075++ </parameter>
3076++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3077+ <getopt mixed="-p, --password=[password]" />
3078+ <content type="string" />
3079+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3080+ </parameter>
3081+- <parameter name="passwd_script" unique="0" required="0">
3082++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3083+ <getopt mixed="-S, --password-script=[script]" />
3084+ <content type="string" />
3085+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3086+ </parameter>
3087+- <parameter name="port" unique="0" required="0">
3088++ <parameter name="plug" unique="0" required="0" obsoletes="port">
3089++ <getopt mixed="-n, --plug=[ip]" />
3090++ <content type="string" />
3091++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3092++ </parameter>
3093++ <parameter name="port" unique="0" required="0" deprecated="1">
3094+ <getopt mixed="-n, --plug=[ip]" />
3095+ <content type="string" />
3096+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3097+@@ -89,6 +109,11 @@
3098+ </content>
3099+ <shortdesc lang="en">Privilege level on IPMI device</shortdesc>
3100+ </parameter>
3101++ <parameter name="username" unique="0" required="0" obsoletes="login">
3102++ <getopt mixed="-l, --username=[name]" />
3103++ <content type="string" />
3104++ <shortdesc lang="en">Login name</shortdesc>
3105++ </parameter>
3106+ <parameter name="quiet" unique="0" required="0">
3107+ <getopt mixed="-q, --quiet" />
3108+ <content type="boolean" />
3109+@@ -99,7 +124,12 @@
3110+ <content type="boolean" />
3111+ <shortdesc lang="en">Verbose mode</shortdesc>
3112+ </parameter>
3113+- <parameter name="debug" unique="0" required="0">
3114++ <parameter name="debug" unique="0" required="0" deprecated="1">
3115++ <getopt mixed="-D, --debug-file=[debugfile]" />
3116++ <content type="string" />
3117++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3118++ </parameter>
3119++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3120+ <getopt mixed="-D, --debug-file=[debugfile]" />
3121+ <content type="string" />
3122+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3123+@@ -153,7 +183,12 @@
3124+ <content type="integer" default="1" />
3125+ <shortdesc lang="en">Count of attempts to retry power on</shortdesc>
3126+ </parameter>
3127+- <parameter name="sudo" unique="0" required="0">
3128++ <parameter name="sudo" unique="0" required="0" deprecated="1">
3129++ <getopt mixed="--use-sudo" />
3130++ <content type="boolean" />
3131++ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
3132++ </parameter>
3133++ <parameter name="use_sudo" unique="0" required="0" obsoletes="sudo">
3134+ <getopt mixed="--use-sudo" />
3135+ <content type="boolean" />
3136+ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
3137+--- a/tests/data/metadata/fence_ilo4_ssh.xml
3138++++ b/tests/data/metadata/fence_ilo4_ssh.xml
3139+@@ -10,7 +10,12 @@
3140+ <content type="string" default="reboot" />
3141+ <shortdesc lang="en">Fencing action</shortdesc>
3142+ </parameter>
3143+- <parameter name="cmd_prompt" unique="0" required="0">
3144++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
3145++ <getopt mixed="-c, --command-prompt=[prompt]" />
3146++ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
3147++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
3148++ </parameter>
3149++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
3150+ <getopt mixed="-c, --command-prompt=[prompt]" />
3151+ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
3152+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
3153+@@ -30,7 +35,12 @@
3154+ <content type="boolean" />
3155+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
3156+ </parameter>
3157+- <parameter name="ipaddr" unique="0" required="0">
3158++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
3159++ <getopt mixed="-a, --ip=[ip]" />
3160++ <content type="string" />
3161++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3162++ </parameter>
3163++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
3164+ <getopt mixed="-a, --ip=[ip]" />
3165+ <content type="string" />
3166+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3167+@@ -40,7 +50,7 @@
3168+ <content type="integer" default="23" />
3169+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
3170+ </parameter>
3171+- <parameter name="login" unique="0" required="1">
3172++ <parameter name="login" unique="0" required="1" deprecated="1">
3173+ <getopt mixed="-l, --username=[name]" />
3174+ <content type="string" />
3175+ <shortdesc lang="en">Login name</shortdesc>
3176+@@ -53,22 +63,42 @@
3177+ </content>
3178+ <shortdesc lang="en">Method to fence</shortdesc>
3179+ </parameter>
3180+- <parameter name="passwd" unique="0" required="0">
3181++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3182++ <getopt mixed="-p, --password=[password]" />
3183++ <content type="string" />
3184++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3185++ </parameter>
3186++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3187++ <getopt mixed="-S, --password-script=[script]" />
3188++ <content type="string" />
3189++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3190++ </parameter>
3191++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3192+ <getopt mixed="-p, --password=[password]" />
3193+ <content type="string" />
3194+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3195+ </parameter>
3196+- <parameter name="passwd_script" unique="0" required="0">
3197++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3198+ <getopt mixed="-S, --password-script=[script]" />
3199+ <content type="string" />
3200+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3201+ </parameter>
3202+- <parameter name="port" unique="0" required="0">
3203++ <parameter name="plug" unique="0" required="0" obsoletes="port">
3204+ <getopt mixed="-n, --plug=[ip]" />
3205+ <content type="string" />
3206+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3207+ </parameter>
3208+- <parameter name="secure" unique="0" required="0">
3209++ <parameter name="port" unique="0" required="0" deprecated="1">
3210++ <getopt mixed="-n, --plug=[ip]" />
3211++ <content type="string" />
3212++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3213++ </parameter>
3214++ <parameter name="secure" unique="0" required="0" deprecated="1">
3215++ <getopt mixed="-x, --ssh" />
3216++ <content type="boolean" />
3217++ <shortdesc lang="en">Use SSH connection</shortdesc>
3218++ </parameter>
3219++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
3220+ <getopt mixed="-x, --ssh" />
3221+ <content type="boolean" />
3222+ <shortdesc lang="en">Use SSH connection</shortdesc>
3223+@@ -78,6 +108,11 @@
3224+ <content type="string" />
3225+ <shortdesc lang="en">SSH options to use</shortdesc>
3226+ </parameter>
3227++ <parameter name="username" unique="0" required="1" obsoletes="login">
3228++ <getopt mixed="-l, --username=[name]" />
3229++ <content type="string" />
3230++ <shortdesc lang="en">Login name</shortdesc>
3231++ </parameter>
3232+ <parameter name="quiet" unique="0" required="0">
3233+ <getopt mixed="-q, --quiet" />
3234+ <content type="boolean" />
3235+@@ -88,7 +123,12 @@
3236+ <content type="boolean" />
3237+ <shortdesc lang="en">Verbose mode</shortdesc>
3238+ </parameter>
3239+- <parameter name="debug" unique="0" required="0">
3240++ <parameter name="debug" unique="0" required="0" deprecated="1">
3241++ <getopt mixed="-D, --debug-file=[debugfile]" />
3242++ <content type="string" />
3243++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3244++ </parameter>
3245++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3246+ <getopt mixed="-D, --debug-file=[debugfile]" />
3247+ <content type="string" />
3248+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3249+--- a/tests/data/metadata/fence_ilo_moonshot.xml
3250++++ b/tests/data/metadata/fence_ilo_moonshot.xml
3251+@@ -8,7 +8,12 @@
3252+ <content type="string" default="reboot" />
3253+ <shortdesc lang="en">Fencing action</shortdesc>
3254+ </parameter>
3255+- <parameter name="cmd_prompt" unique="0" required="0">
3256++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
3257++ <getopt mixed="-c, --command-prompt=[prompt]" />
3258++ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
3259++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
3260++ </parameter>
3261++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
3262+ <getopt mixed="-c, --command-prompt=[prompt]" />
3263+ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
3264+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
3265+@@ -28,7 +33,12 @@
3266+ <content type="boolean" />
3267+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
3268+ </parameter>
3269+- <parameter name="ipaddr" unique="0" required="1">
3270++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
3271++ <getopt mixed="-a, --ip=[ip]" />
3272++ <content type="string" />
3273++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3274++ </parameter>
3275++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
3276+ <getopt mixed="-a, --ip=[ip]" />
3277+ <content type="string" />
3278+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3279+@@ -38,27 +48,47 @@
3280+ <content type="integer" default="22" />
3281+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
3282+ </parameter>
3283+- <parameter name="login" unique="0" required="1">
3284++ <parameter name="login" unique="0" required="1" deprecated="1">
3285+ <getopt mixed="-l, --username=[name]" />
3286+ <content type="string" />
3287+ <shortdesc lang="en">Login name</shortdesc>
3288+ </parameter>
3289+- <parameter name="passwd" unique="0" required="0">
3290++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3291++ <getopt mixed="-p, --password=[password]" />
3292++ <content type="string" />
3293++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3294++ </parameter>
3295++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3296++ <getopt mixed="-S, --password-script=[script]" />
3297++ <content type="string" />
3298++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3299++ </parameter>
3300++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3301+ <getopt mixed="-p, --password=[password]" />
3302+ <content type="string" />
3303+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3304+ </parameter>
3305+- <parameter name="passwd_script" unique="0" required="0">
3306++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3307+ <getopt mixed="-S, --password-script=[script]" />
3308+ <content type="string" />
3309+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3310+ </parameter>
3311+- <parameter name="port" unique="0" required="1">
3312++ <parameter name="plug" unique="0" required="1" obsoletes="port">
3313+ <getopt mixed="-n, --plug=[id]" />
3314+ <content type="string" />
3315+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
3316+ </parameter>
3317+- <parameter name="secure" unique="0" required="0">
3318++ <parameter name="port" unique="0" required="1" deprecated="1">
3319++ <getopt mixed="-n, --plug=[id]" />
3320++ <content type="string" />
3321++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
3322++ </parameter>
3323++ <parameter name="secure" unique="0" required="0" deprecated="1">
3324++ <getopt mixed="-x, --ssh" />
3325++ <content type="boolean" default="1" />
3326++ <shortdesc lang="en">Use SSH connection</shortdesc>
3327++ </parameter>
3328++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
3329+ <getopt mixed="-x, --ssh" />
3330+ <content type="boolean" default="1" />
3331+ <shortdesc lang="en">Use SSH connection</shortdesc>
3332+@@ -68,6 +98,11 @@
3333+ <content type="string" />
3334+ <shortdesc lang="en">SSH options to use</shortdesc>
3335+ </parameter>
3336++ <parameter name="username" unique="0" required="1" obsoletes="login">
3337++ <getopt mixed="-l, --username=[name]" />
3338++ <content type="string" />
3339++ <shortdesc lang="en">Login name</shortdesc>
3340++ </parameter>
3341+ <parameter name="quiet" unique="0" required="0">
3342+ <getopt mixed="-q, --quiet" />
3343+ <content type="boolean" />
3344+@@ -78,7 +113,12 @@
3345+ <content type="boolean" />
3346+ <shortdesc lang="en">Verbose mode</shortdesc>
3347+ </parameter>
3348+- <parameter name="debug" unique="0" required="0">
3349++ <parameter name="debug" unique="0" required="0" deprecated="1">
3350++ <getopt mixed="-D, --debug-file=[debugfile]" />
3351++ <content type="string" />
3352++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3353++ </parameter>
3354++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3355+ <getopt mixed="-D, --debug-file=[debugfile]" />
3356+ <content type="string" />
3357+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3358+--- a/tests/data/metadata/fence_ilo_mp.xml
3359++++ b/tests/data/metadata/fence_ilo_mp.xml
3360+@@ -8,7 +8,12 @@
3361+ <content type="string" default="reboot" />
3362+ <shortdesc lang="en">Fencing action</shortdesc>
3363+ </parameter>
3364+- <parameter name="cmd_prompt" unique="0" required="0">
3365++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
3366++ <getopt mixed="-c, --command-prompt=[prompt]" />
3367++ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
3368++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
3369++ </parameter>
3370++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
3371+ <getopt mixed="-c, --command-prompt=[prompt]" />
3372+ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
3373+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
3374+@@ -28,7 +33,12 @@
3375+ <content type="boolean" />
3376+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
3377+ </parameter>
3378+- <parameter name="ipaddr" unique="0" required="0">
3379++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
3380++ <getopt mixed="-a, --ip=[ip]" />
3381++ <content type="string" />
3382++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3383++ </parameter>
3384++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
3385+ <getopt mixed="-a, --ip=[ip]" />
3386+ <content type="string" />
3387+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3388+@@ -38,27 +48,47 @@
3389+ <content type="integer" default="23" />
3390+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
3391+ </parameter>
3392+- <parameter name="login" unique="0" required="1">
3393++ <parameter name="login" unique="0" required="1" deprecated="1">
3394+ <getopt mixed="-l, --username=[name]" />
3395+ <content type="string" />
3396+ <shortdesc lang="en">Login name</shortdesc>
3397+ </parameter>
3398+- <parameter name="passwd" unique="0" required="0">
3399++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3400++ <getopt mixed="-p, --password=[password]" />
3401++ <content type="string" />
3402++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3403++ </parameter>
3404++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3405++ <getopt mixed="-S, --password-script=[script]" />
3406++ <content type="string" />
3407++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3408++ </parameter>
3409++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3410+ <getopt mixed="-p, --password=[password]" />
3411+ <content type="string" />
3412+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3413+ </parameter>
3414+- <parameter name="passwd_script" unique="0" required="0">
3415++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3416+ <getopt mixed="-S, --password-script=[script]" />
3417+ <content type="string" />
3418+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3419+ </parameter>
3420+- <parameter name="port" unique="0" required="0">
3421++ <parameter name="plug" unique="0" required="0" obsoletes="port">
3422+ <getopt mixed="-n, --plug=[ip]" />
3423+ <content type="string" />
3424+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3425+ </parameter>
3426+- <parameter name="secure" unique="0" required="0">
3427++ <parameter name="port" unique="0" required="0" deprecated="1">
3428++ <getopt mixed="-n, --plug=[ip]" />
3429++ <content type="string" />
3430++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3431++ </parameter>
3432++ <parameter name="secure" unique="0" required="0" deprecated="1">
3433++ <getopt mixed="-x, --ssh" />
3434++ <content type="boolean" />
3435++ <shortdesc lang="en">Use SSH connection</shortdesc>
3436++ </parameter>
3437++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
3438+ <getopt mixed="-x, --ssh" />
3439+ <content type="boolean" />
3440+ <shortdesc lang="en">Use SSH connection</shortdesc>
3441+@@ -68,6 +98,11 @@
3442+ <content type="string" />
3443+ <shortdesc lang="en">SSH options to use</shortdesc>
3444+ </parameter>
3445++ <parameter name="username" unique="0" required="1" obsoletes="login">
3446++ <getopt mixed="-l, --username=[name]" />
3447++ <content type="string" />
3448++ <shortdesc lang="en">Login name</shortdesc>
3449++ </parameter>
3450+ <parameter name="quiet" unique="0" required="0">
3451+ <getopt mixed="-q, --quiet" />
3452+ <content type="boolean" />
3453+@@ -78,7 +113,12 @@
3454+ <content type="boolean" />
3455+ <shortdesc lang="en">Verbose mode</shortdesc>
3456+ </parameter>
3457+- <parameter name="debug" unique="0" required="0">
3458++ <parameter name="debug" unique="0" required="0" deprecated="1">
3459++ <getopt mixed="-D, --debug-file=[debugfile]" />
3460++ <content type="string" />
3461++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3462++ </parameter>
3463++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3464+ <getopt mixed="-D, --debug-file=[debugfile]" />
3465+ <content type="string" />
3466+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3467+--- a/tests/data/metadata/fence_ilo_ssh.xml
3468++++ b/tests/data/metadata/fence_ilo_ssh.xml
3469+@@ -10,7 +10,12 @@
3470+ <content type="string" default="reboot" />
3471+ <shortdesc lang="en">Fencing action</shortdesc>
3472+ </parameter>
3473+- <parameter name="cmd_prompt" unique="0" required="0">
3474++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
3475++ <getopt mixed="-c, --command-prompt=[prompt]" />
3476++ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
3477++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
3478++ </parameter>
3479++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
3480+ <getopt mixed="-c, --command-prompt=[prompt]" />
3481+ <content type="string" default="[&apos;MP&gt;&apos;, &apos;hpiLO-&gt;&apos;]" />
3482+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
3483+@@ -30,7 +35,12 @@
3484+ <content type="boolean" />
3485+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
3486+ </parameter>
3487+- <parameter name="ipaddr" unique="0" required="0">
3488++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
3489++ <getopt mixed="-a, --ip=[ip]" />
3490++ <content type="string" />
3491++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3492++ </parameter>
3493++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
3494+ <getopt mixed="-a, --ip=[ip]" />
3495+ <content type="string" />
3496+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3497+@@ -40,7 +50,7 @@
3498+ <content type="integer" default="23" />
3499+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
3500+ </parameter>
3501+- <parameter name="login" unique="0" required="1">
3502++ <parameter name="login" unique="0" required="1" deprecated="1">
3503+ <getopt mixed="-l, --username=[name]" />
3504+ <content type="string" />
3505+ <shortdesc lang="en">Login name</shortdesc>
3506+@@ -53,22 +63,42 @@
3507+ </content>
3508+ <shortdesc lang="en">Method to fence</shortdesc>
3509+ </parameter>
3510+- <parameter name="passwd" unique="0" required="0">
3511++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3512++ <getopt mixed="-p, --password=[password]" />
3513++ <content type="string" />
3514++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3515++ </parameter>
3516++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3517++ <getopt mixed="-S, --password-script=[script]" />
3518++ <content type="string" />
3519++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3520++ </parameter>
3521++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3522+ <getopt mixed="-p, --password=[password]" />
3523+ <content type="string" />
3524+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3525+ </parameter>
3526+- <parameter name="passwd_script" unique="0" required="0">
3527++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3528+ <getopt mixed="-S, --password-script=[script]" />
3529+ <content type="string" />
3530+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3531+ </parameter>
3532+- <parameter name="port" unique="0" required="0">
3533++ <parameter name="plug" unique="0" required="0" obsoletes="port">
3534+ <getopt mixed="-n, --plug=[ip]" />
3535+ <content type="string" />
3536+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3537+ </parameter>
3538+- <parameter name="secure" unique="0" required="0">
3539++ <parameter name="port" unique="0" required="0" deprecated="1">
3540++ <getopt mixed="-n, --plug=[ip]" />
3541++ <content type="string" />
3542++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3543++ </parameter>
3544++ <parameter name="secure" unique="0" required="0" deprecated="1">
3545++ <getopt mixed="-x, --ssh" />
3546++ <content type="boolean" />
3547++ <shortdesc lang="en">Use SSH connection</shortdesc>
3548++ </parameter>
3549++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
3550+ <getopt mixed="-x, --ssh" />
3551+ <content type="boolean" />
3552+ <shortdesc lang="en">Use SSH connection</shortdesc>
3553+@@ -78,6 +108,11 @@
3554+ <content type="string" />
3555+ <shortdesc lang="en">SSH options to use</shortdesc>
3556+ </parameter>
3557++ <parameter name="username" unique="0" required="1" obsoletes="login">
3558++ <getopt mixed="-l, --username=[name]" />
3559++ <content type="string" />
3560++ <shortdesc lang="en">Login name</shortdesc>
3561++ </parameter>
3562+ <parameter name="quiet" unique="0" required="0">
3563+ <getopt mixed="-q, --quiet" />
3564+ <content type="boolean" />
3565+@@ -88,7 +123,12 @@
3566+ <content type="boolean" />
3567+ <shortdesc lang="en">Verbose mode</shortdesc>
3568+ </parameter>
3569+- <parameter name="debug" unique="0" required="0">
3570++ <parameter name="debug" unique="0" required="0" deprecated="1">
3571++ <getopt mixed="-D, --debug-file=[debugfile]" />
3572++ <content type="string" />
3573++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3574++ </parameter>
3575++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3576+ <getopt mixed="-D, --debug-file=[debugfile]" />
3577+ <content type="string" />
3578+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3579+--- a/tests/data/metadata/fence_imm.xml
3580++++ b/tests/data/metadata/fence_imm.xml
3581+@@ -36,7 +36,12 @@
3582+ <content type="boolean" />
3583+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
3584+ </parameter>
3585+- <parameter name="ipaddr" unique="0" required="0">
3586++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
3587++ <getopt mixed="-a, --ip=[ip]" />
3588++ <content type="string" />
3589++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3590++ </parameter>
3591++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
3592+ <getopt mixed="-a, --ip=[ip]" />
3593+ <content type="string" />
3594+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3595+@@ -51,7 +56,7 @@
3596+ <content type="boolean" default="0" />
3597+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
3598+ </parameter>
3599+- <parameter name="login" unique="0" required="0">
3600++ <parameter name="login" unique="0" required="0" deprecated="1">
3601+ <getopt mixed="-l, --username=[name]" />
3602+ <content type="string" />
3603+ <shortdesc lang="en">Login name</shortdesc>
3604+@@ -64,17 +69,32 @@
3605+ </content>
3606+ <shortdesc lang="en">Method to fence</shortdesc>
3607+ </parameter>
3608+- <parameter name="passwd" unique="0" required="0">
3609++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3610++ <getopt mixed="-p, --password=[password]" />
3611++ <content type="string" />
3612++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3613++ </parameter>
3614++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3615++ <getopt mixed="-S, --password-script=[script]" />
3616++ <content type="string" />
3617++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3618++ </parameter>
3619++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3620+ <getopt mixed="-p, --password=[password]" />
3621+ <content type="string" />
3622+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3623+ </parameter>
3624+- <parameter name="passwd_script" unique="0" required="0">
3625++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3626+ <getopt mixed="-S, --password-script=[script]" />
3627+ <content type="string" />
3628+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3629+ </parameter>
3630+- <parameter name="port" unique="0" required="0">
3631++ <parameter name="plug" unique="0" required="0" obsoletes="port">
3632++ <getopt mixed="-n, --plug=[ip]" />
3633++ <content type="string" />
3634++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3635++ </parameter>
3636++ <parameter name="port" unique="0" required="0" deprecated="1">
3637+ <getopt mixed="-n, --plug=[ip]" />
3638+ <content type="string" />
3639+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3640+@@ -89,6 +109,11 @@
3641+ </content>
3642+ <shortdesc lang="en">Privilege level on IPMI device</shortdesc>
3643+ </parameter>
3644++ <parameter name="username" unique="0" required="0" obsoletes="login">
3645++ <getopt mixed="-l, --username=[name]" />
3646++ <content type="string" />
3647++ <shortdesc lang="en">Login name</shortdesc>
3648++ </parameter>
3649+ <parameter name="quiet" unique="0" required="0">
3650+ <getopt mixed="-q, --quiet" />
3651+ <content type="boolean" />
3652+@@ -99,7 +124,12 @@
3653+ <content type="boolean" />
3654+ <shortdesc lang="en">Verbose mode</shortdesc>
3655+ </parameter>
3656+- <parameter name="debug" unique="0" required="0">
3657++ <parameter name="debug" unique="0" required="0" deprecated="1">
3658++ <getopt mixed="-D, --debug-file=[debugfile]" />
3659++ <content type="string" />
3660++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3661++ </parameter>
3662++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3663+ <getopt mixed="-D, --debug-file=[debugfile]" />
3664+ <content type="string" />
3665+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3666+@@ -153,7 +183,12 @@
3667+ <content type="integer" default="1" />
3668+ <shortdesc lang="en">Count of attempts to retry power on</shortdesc>
3669+ </parameter>
3670+- <parameter name="sudo" unique="0" required="0">
3671++ <parameter name="sudo" unique="0" required="0" deprecated="1">
3672++ <getopt mixed="--use-sudo" />
3673++ <content type="boolean" />
3674++ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
3675++ </parameter>
3676++ <parameter name="use_sudo" unique="0" required="0" obsoletes="sudo">
3677+ <getopt mixed="--use-sudo" />
3678+ <content type="boolean" />
3679+ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
3680+--- a/tests/data/metadata/fence_intelmodular.xml
3681++++ b/tests/data/metadata/fence_intelmodular.xml
3682+@@ -25,7 +25,12 @@
3683+ <content type="boolean" />
3684+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
3685+ </parameter>
3686+- <parameter name="ipaddr" unique="0" required="1">
3687++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
3688++ <getopt mixed="-a, --ip=[ip]" />
3689++ <content type="string" />
3690++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3691++ </parameter>
3692++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
3693+ <getopt mixed="-a, --ip=[ip]" />
3694+ <content type="string" />
3695+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3696+@@ -35,22 +40,37 @@
3697+ <content type="integer" default="161" />
3698+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
3699+ </parameter>
3700+- <parameter name="login" unique="0" required="0">
3701++ <parameter name="login" unique="0" required="0" deprecated="1">
3702+ <getopt mixed="-l, --username=[name]" />
3703+ <content type="string" />
3704+ <shortdesc lang="en">Login name</shortdesc>
3705+ </parameter>
3706+- <parameter name="passwd" unique="0" required="0">
3707++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3708++ <getopt mixed="-p, --password=[password]" />
3709++ <content type="string" />
3710++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3711++ </parameter>
3712++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3713++ <getopt mixed="-S, --password-script=[script]" />
3714++ <content type="string" />
3715++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3716++ </parameter>
3717++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3718+ <getopt mixed="-p, --password=[password]" />
3719+ <content type="string" />
3720+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3721+ </parameter>
3722+- <parameter name="passwd_script" unique="0" required="0">
3723++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3724+ <getopt mixed="-S, --password-script=[script]" />
3725+ <content type="string" />
3726+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3727+ </parameter>
3728+- <parameter name="port" unique="0" required="1">
3729++ <parameter name="plug" unique="0" required="1" obsoletes="port">
3730++ <getopt mixed="-n, --plug=[id]" />
3731++ <content type="string" />
3732++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
3733++ </parameter>
3734++ <parameter name="port" unique="0" required="1" deprecated="1">
3735+ <getopt mixed="-n, --plug=[id]" />
3736+ <content type="string" />
3737+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
3738+@@ -99,6 +119,11 @@
3739+ </content>
3740+ <shortdesc lang="en">Specifies SNMP version to use</shortdesc>
3741+ </parameter>
3742++ <parameter name="username" unique="0" required="0" obsoletes="login">
3743++ <getopt mixed="-l, --username=[name]" />
3744++ <content type="string" />
3745++ <shortdesc lang="en">Login name</shortdesc>
3746++ </parameter>
3747+ <parameter name="quiet" unique="0" required="0">
3748+ <getopt mixed="-q, --quiet" />
3749+ <content type="boolean" />
3750+@@ -109,7 +134,12 @@
3751+ <content type="boolean" />
3752+ <shortdesc lang="en">Verbose mode</shortdesc>
3753+ </parameter>
3754+- <parameter name="debug" unique="0" required="0">
3755++ <parameter name="debug" unique="0" required="0" deprecated="1">
3756++ <getopt mixed="-D, --debug-file=[debugfile]" />
3757++ <content type="string" />
3758++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3759++ </parameter>
3760++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3761+ <getopt mixed="-D, --debug-file=[debugfile]" />
3762+ <content type="string" />
3763+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3764+--- a/tests/data/metadata/fence_ipdu.xml
3765++++ b/tests/data/metadata/fence_ipdu.xml
3766+@@ -23,7 +23,12 @@
3767+ <content type="boolean" />
3768+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
3769+ </parameter>
3770+- <parameter name="ipaddr" unique="0" required="1">
3771++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
3772++ <getopt mixed="-a, --ip=[ip]" />
3773++ <content type="string" />
3774++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3775++ </parameter>
3776++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
3777+ <getopt mixed="-a, --ip=[ip]" />
3778+ <content type="string" />
3779+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3780+@@ -33,22 +38,37 @@
3781+ <content type="integer" default="161" />
3782+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
3783+ </parameter>
3784+- <parameter name="login" unique="0" required="0">
3785++ <parameter name="login" unique="0" required="0" deprecated="1">
3786+ <getopt mixed="-l, --username=[name]" />
3787+ <content type="string" />
3788+ <shortdesc lang="en">Login name</shortdesc>
3789+ </parameter>
3790+- <parameter name="passwd" unique="0" required="0">
3791++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3792++ <getopt mixed="-p, --password=[password]" />
3793++ <content type="string" />
3794++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3795++ </parameter>
3796++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3797++ <getopt mixed="-S, --password-script=[script]" />
3798++ <content type="string" />
3799++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3800++ </parameter>
3801++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3802+ <getopt mixed="-p, --password=[password]" />
3803+ <content type="string" />
3804+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3805+ </parameter>
3806+- <parameter name="passwd_script" unique="0" required="0">
3807++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3808+ <getopt mixed="-S, --password-script=[script]" />
3809+ <content type="string" />
3810+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3811+ </parameter>
3812+- <parameter name="port" unique="0" required="1">
3813++ <parameter name="plug" unique="0" required="1" obsoletes="port">
3814++ <getopt mixed="-n, --plug=[id]" />
3815++ <content type="string" />
3816++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
3817++ </parameter>
3818++ <parameter name="port" unique="0" required="1" deprecated="1">
3819+ <getopt mixed="-n, --plug=[id]" />
3820+ <content type="string" />
3821+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
3822+@@ -97,6 +117,11 @@
3823+ </content>
3824+ <shortdesc lang="en">Specifies SNMP version to use</shortdesc>
3825+ </parameter>
3826++ <parameter name="username" unique="0" required="0" obsoletes="login">
3827++ <getopt mixed="-l, --username=[name]" />
3828++ <content type="string" />
3829++ <shortdesc lang="en">Login name</shortdesc>
3830++ </parameter>
3831+ <parameter name="quiet" unique="0" required="0">
3832+ <getopt mixed="-q, --quiet" />
3833+ <content type="boolean" />
3834+@@ -107,7 +132,12 @@
3835+ <content type="boolean" />
3836+ <shortdesc lang="en">Verbose mode</shortdesc>
3837+ </parameter>
3838+- <parameter name="debug" unique="0" required="0">
3839++ <parameter name="debug" unique="0" required="0" deprecated="1">
3840++ <getopt mixed="-D, --debug-file=[debugfile]" />
3841++ <content type="string" />
3842++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3843++ </parameter>
3844++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3845+ <getopt mixed="-D, --debug-file=[debugfile]" />
3846+ <content type="string" />
3847+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3848+--- a/tests/data/metadata/fence_ipmilan.xml
3849++++ b/tests/data/metadata/fence_ipmilan.xml
3850+@@ -36,7 +36,12 @@
3851+ <content type="boolean" />
3852+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
3853+ </parameter>
3854+- <parameter name="ipaddr" unique="0" required="0">
3855++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
3856++ <getopt mixed="-a, --ip=[ip]" />
3857++ <content type="string" />
3858++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3859++ </parameter>
3860++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
3861+ <getopt mixed="-a, --ip=[ip]" />
3862+ <content type="string" />
3863+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
3864+@@ -51,7 +56,7 @@
3865+ <content type="boolean" default="0" />
3866+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
3867+ </parameter>
3868+- <parameter name="login" unique="0" required="0">
3869++ <parameter name="login" unique="0" required="0" deprecated="1">
3870+ <getopt mixed="-l, --username=[name]" />
3871+ <content type="string" />
3872+ <shortdesc lang="en">Login name</shortdesc>
3873+@@ -64,17 +69,32 @@
3874+ </content>
3875+ <shortdesc lang="en">Method to fence</shortdesc>
3876+ </parameter>
3877+- <parameter name="passwd" unique="0" required="0">
3878++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3879++ <getopt mixed="-p, --password=[password]" />
3880++ <content type="string" />
3881++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3882++ </parameter>
3883++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3884++ <getopt mixed="-S, --password-script=[script]" />
3885++ <content type="string" />
3886++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3887++ </parameter>
3888++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3889+ <getopt mixed="-p, --password=[password]" />
3890+ <content type="string" />
3891+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3892+ </parameter>
3893+- <parameter name="passwd_script" unique="0" required="0">
3894++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3895+ <getopt mixed="-S, --password-script=[script]" />
3896+ <content type="string" />
3897+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3898+ </parameter>
3899+- <parameter name="port" unique="0" required="0">
3900++ <parameter name="plug" unique="0" required="0" obsoletes="port">
3901++ <getopt mixed="-n, --plug=[ip]" />
3902++ <content type="string" />
3903++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3904++ </parameter>
3905++ <parameter name="port" unique="0" required="0" deprecated="1">
3906+ <getopt mixed="-n, --plug=[ip]" />
3907+ <content type="string" />
3908+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
3909+@@ -89,6 +109,11 @@
3910+ </content>
3911+ <shortdesc lang="en">Privilege level on IPMI device</shortdesc>
3912+ </parameter>
3913++ <parameter name="username" unique="0" required="0" obsoletes="login">
3914++ <getopt mixed="-l, --username=[name]" />
3915++ <content type="string" />
3916++ <shortdesc lang="en">Login name</shortdesc>
3917++ </parameter>
3918+ <parameter name="quiet" unique="0" required="0">
3919+ <getopt mixed="-q, --quiet" />
3920+ <content type="boolean" />
3921+@@ -99,7 +124,12 @@
3922+ <content type="boolean" />
3923+ <shortdesc lang="en">Verbose mode</shortdesc>
3924+ </parameter>
3925+- <parameter name="debug" unique="0" required="0">
3926++ <parameter name="debug" unique="0" required="0" deprecated="1">
3927++ <getopt mixed="-D, --debug-file=[debugfile]" />
3928++ <content type="string" />
3929++ <shortdesc lang="en">Write debug information to given file</shortdesc>
3930++ </parameter>
3931++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
3932+ <getopt mixed="-D, --debug-file=[debugfile]" />
3933+ <content type="string" />
3934+ <shortdesc lang="en">Write debug information to given file</shortdesc>
3935+@@ -153,7 +183,12 @@
3936+ <content type="integer" default="1" />
3937+ <shortdesc lang="en">Count of attempts to retry power on</shortdesc>
3938+ </parameter>
3939+- <parameter name="sudo" unique="0" required="0">
3940++ <parameter name="sudo" unique="0" required="0" deprecated="1">
3941++ <getopt mixed="--use-sudo" />
3942++ <content type="boolean" />
3943++ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
3944++ </parameter>
3945++ <parameter name="use_sudo" unique="0" required="0" obsoletes="sudo">
3946+ <getopt mixed="--use-sudo" />
3947+ <content type="boolean" />
3948+ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
3949+--- a/tests/data/metadata/fence_ironic.xml
3950++++ b/tests/data/metadata/fence_ironic.xml
3951+@@ -8,36 +8,66 @@
3952+ <content type="string" default="reboot" />
3953+ <shortdesc lang="en">Fencing action</shortdesc>
3954+ </parameter>
3955+- <parameter name="auth-url" unique="0" required="1">
3956++ <parameter name="auth-url" unique="0" required="1" deprecated="1">
3957+ <getopt mixed="--auth-url=[authurl]" />
3958+ <content type="string" />
3959+ <shortdesc lang="en">Keystone Admin Auth URL</shortdesc>
3960+ </parameter>
3961+- <parameter name="login" unique="0" required="1">
3962++ <parameter name="auth_url" unique="0" required="1" obsoletes="auth-url">
3963++ <getopt mixed="--auth-url=[authurl]" />
3964++ <content type="string" />
3965++ <shortdesc lang="en">Keystone Admin Auth URL</shortdesc>
3966++ </parameter>
3967++ <parameter name="login" unique="0" required="1" deprecated="1">
3968+ <getopt mixed="-l, --username=[name]" />
3969+ <content type="string" />
3970+ <shortdesc lang="en">Login name</shortdesc>
3971+ </parameter>
3972+- <parameter name="passwd" unique="0" required="0">
3973++ <parameter name="passwd" unique="0" required="0" deprecated="1">
3974++ <getopt mixed="-p, --password=[password]" />
3975++ <content type="string" />
3976++ <shortdesc lang="en">Login password or passphrase</shortdesc>
3977++ </parameter>
3978++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
3979++ <getopt mixed="-S, --password-script=[script]" />
3980++ <content type="string" />
3981++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3982++ </parameter>
3983++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
3984+ <getopt mixed="-p, --password=[password]" />
3985+ <content type="string" />
3986+ <shortdesc lang="en">Login password or passphrase</shortdesc>
3987+ </parameter>
3988+- <parameter name="passwd_script" unique="0" required="0">
3989++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
3990+ <getopt mixed="-S, --password-script=[script]" />
3991+ <content type="string" />
3992+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
3993+ </parameter>
3994+- <parameter name="port" unique="0" required="1">
3995++ <parameter name="plug" unique="0" required="1" obsoletes="port">
3996++ <getopt mixed="-n, --plug=[id]" />
3997++ <content type="string" />
3998++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
3999++ </parameter>
4000++ <parameter name="port" unique="0" required="1" deprecated="1">
4001+ <getopt mixed="-n, --plug=[id]" />
4002+ <content type="string" />
4003+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4004+ </parameter>
4005+- <parameter name="tenant-name" unique="0" required="0">
4006++ <parameter name="tenant-name" unique="0" required="0" deprecated="1">
4007+ <getopt mixed="-t, --tenant-name=[tenant]" />
4008+ <content type="string" default="admin" />
4009+ <shortdesc lang="en">Keystone Admin Tenant</shortdesc>
4010+ </parameter>
4011++ <parameter name="tenant_name" unique="0" required="0" obsoletes="tenant-name">
4012++ <getopt mixed="-t, --tenant-name=[tenant]" />
4013++ <content type="string" default="admin" />
4014++ <shortdesc lang="en">Keystone Admin Tenant</shortdesc>
4015++ </parameter>
4016++ <parameter name="username" unique="0" required="1" obsoletes="login">
4017++ <getopt mixed="-l, --username=[name]" />
4018++ <content type="string" />
4019++ <shortdesc lang="en">Login name</shortdesc>
4020++ </parameter>
4021+ <parameter name="quiet" unique="0" required="0">
4022+ <getopt mixed="-q, --quiet" />
4023+ <content type="boolean" />
4024+@@ -48,7 +78,12 @@
4025+ <content type="boolean" />
4026+ <shortdesc lang="en">Verbose mode</shortdesc>
4027+ </parameter>
4028+- <parameter name="debug" unique="0" required="0">
4029++ <parameter name="debug" unique="0" required="0" deprecated="1">
4030++ <getopt mixed="-D, --debug-file=[debugfile]" />
4031++ <content type="string" />
4032++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4033++ </parameter>
4034++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4035+ <getopt mixed="-D, --debug-file=[debugfile]" />
4036+ <content type="string" />
4037+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4038+@@ -78,11 +113,15 @@
4039+ <content type="second" default="5" />
4040+ <shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
4041+ </parameter>
4042+- <parameter name="openstack-path" unique="0" required="0">
4043++ <parameter name="openstack-path" unique="0" required="0" deprecated="1">
4044+ <getopt mixed="--openstack-path=[path]" />
4045+ <content type="string" default="/usr/bin/openstack" />
4046+ <shortdesc lang="en">Path to the OpenStack binary</shortdesc>
4047+ </parameter>
4048++ <parameter name="openstack_path" unique="0" required="0" obsoletes="openstack-path">
4049++ <getopt mixed="--openstack-path=[path]" />
4050++ <shortdesc lang="en">Path to the OpenStack binary</shortdesc>
4051++ </parameter>
4052+ <parameter name="power_timeout" unique="0" required="0">
4053+ <getopt mixed="--power-timeout=[seconds]" />
4054+ <content type="second" default="20" />
4055+--- a/tests/data/metadata/fence_kdump.xml
4056++++ b/tests/data/metadata/fence_kdump.xml
4057+@@ -1,37 +1,54 @@
4058+ <?xml version="1.0" ?>
4059+-<resource-agent name="fence_kdump" shortdesc="Fence agent for use with kdump">
4060+-<longdesc>The fence_kdump agent is intended to be used with with kdump service.</longdesc>
4061++<resource-agent name="fence_kdump" shortdesc="fencing agent for use with kdump crash recovery service">
4062++<longdesc>\fIfence_kdump\fP is an I/O fencing agent to be used with the kdump
4063++crash recovery service. When the \fIfence_kdump\fP agent is invoked,
4064++it will listen for a message from the failed node that acknowledges
4065++that the failed node it executing the kdump crash kernel.
4066++Note that \fIfence_kdump\fP is not a replacement for traditional
4067++fencing methods. The \fIfence_kdump\fP agent can only detect that a
4068++node has entered the kdump crash recovery service. This allows the
4069++kdump crash recovery service complete without being preempted by
4070++traditional power fencing methods.
4071++
4072++Note: the "off" action listen for message from failed node that
4073++acknowledges node has entered kdump crash recovery service. If a valid
4074++message is received from the failed node, the node is considered to be
4075++fenced and the agent returns success. Failure to receive a valid
4076++message from the failed node in the given timeout period results in
4077++fencing failure.</longdesc>
4078+ <vendor-url>http://www.kernel.org/pub/linux/utils/kernel/kexec/</vendor-url>
4079+ <parameters>
4080+ <parameter name="nodename" unique="0" required="0">
4081+- <getopt mixed="-n, --nodename" />
4082++ <getopt mixed="-n, --nodename=\fINODE\fP" />
4083+ <content type="string" />
4084+- <shortdesc lang="en">Name or IP address of node to be fenced</shortdesc>
4085++ <shortdesc lang="en">Name or IP address of node to be fenced. This option is required for
4086++the "off" action.</shortdesc>
4087+ </parameter>
4088+ <parameter name="ipport" unique="0" required="0">
4089+- <getopt mixed="-p, --ipport" />
4090++ <getopt mixed="-p, --ipport=\fIPORT\fP" />
4091+ <content type="string" default="7410" />
4092+- <shortdesc lang="en">Port number</shortdesc>
4093++ <shortdesc lang="en">IP port number that the \fIfence_kdump\fP agent will use to listen for
4094++messages.</shortdesc>
4095+ </parameter>
4096+ <parameter name="family" unique="0" required="0">
4097+- <getopt mixed="-f, --family" />
4098++ <getopt mixed="-f, --family=\fIFAMILY\fP" />
4099+ <content type="string" default="auto" />
4100+- <shortdesc lang="en">Network family</shortdesc>
4101++ <shortdesc lang="en">IP network family. Force the \fIfence_kdump\fP agent to use a specific
4102++family. The value for \fIFAMILY\fP can be "auto", "ipv4", or
4103++"ipv6".</shortdesc>
4104+ </parameter>
4105+ <parameter name="action" unique="0" required="0">
4106+- <getopt mixed="-o, --action" />
4107++ <getopt mixed="-o, --action=\fIACTION\fP" />
4108+ <content type="string" default="off" />
4109+- <shortdesc lang="en">Fencing action</shortdesc>
4110++ <shortdesc lang="en">Fencing action to perform. The value for \fIACTION\fP can be either
4111++"off" or "metadata".</shortdesc>
4112+ </parameter>
4113+ <parameter name="timeout" unique="0" required="0">
4114+- <getopt mixed="-t, --timeout" />
4115++ <getopt mixed="-t, --timeout=\fITIMEOUT\fP" />
4116+ <content type="string" default="60" />
4117+- <shortdesc lang="en">Timeout in seconds</shortdesc>
4118+- </parameter>
4119+- <parameter name="quiet" unique="0" required="0">
4120+- <getopt mixed="-q, --quiet" />
4121+- <content type="boolean" />
4122+- <shortdesc lang="en">Disable logging to stderr. Does not affect --verbose or --debug logging to syslog.</shortdesc>
4123++ <shortdesc lang="en">Number of seconds to wait for message from failed node. If no message
4124++is received within \fITIMEOUT\fP seconds, the \fIfence_kdump\fP agent
4125++returns failure.</shortdesc>
4126+ </parameter>
4127+ <parameter name="verbose" unique="0" required="0">
4128+ <getopt mixed="-v, --verbose" />
4129+--- a/tests/data/metadata/fence_ldom.xml
4130++++ b/tests/data/metadata/fence_ldom.xml
4131+@@ -10,7 +10,12 @@
4132+ <content type="string" default="reboot" />
4133+ <shortdesc lang="en">Fencing action</shortdesc>
4134+ </parameter>
4135+- <parameter name="cmd_prompt" unique="0" required="0">
4136++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
4137++ <getopt mixed="-c, --command-prompt=[prompt]" />
4138++ <content type="string" default="[&apos;\\ $&apos;]" />
4139++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
4140++ </parameter>
4141++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
4142+ <getopt mixed="-c, --command-prompt=[prompt]" />
4143+ <content type="string" default="[&apos;\\ $&apos;]" />
4144+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
4145+@@ -30,7 +35,12 @@
4146+ <content type="boolean" />
4147+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
4148+ </parameter>
4149+- <parameter name="ipaddr" unique="0" required="1">
4150++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
4151++ <getopt mixed="-a, --ip=[ip]" />
4152++ <content type="string" />
4153++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4154++ </parameter>
4155++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
4156+ <getopt mixed="-a, --ip=[ip]" />
4157+ <content type="string" />
4158+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4159+@@ -40,27 +50,47 @@
4160+ <content type="integer" default="22" />
4161+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
4162+ </parameter>
4163+- <parameter name="login" unique="0" required="1">
4164++ <parameter name="login" unique="0" required="1" deprecated="1">
4165+ <getopt mixed="-l, --username=[name]" />
4166+ <content type="string" />
4167+ <shortdesc lang="en">Login name</shortdesc>
4168+ </parameter>
4169+- <parameter name="passwd" unique="0" required="0">
4170++ <parameter name="passwd" unique="0" required="0" deprecated="1">
4171++ <getopt mixed="-p, --password=[password]" />
4172++ <content type="string" />
4173++ <shortdesc lang="en">Login password or passphrase</shortdesc>
4174++ </parameter>
4175++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
4176++ <getopt mixed="-S, --password-script=[script]" />
4177++ <content type="string" />
4178++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4179++ </parameter>
4180++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
4181+ <getopt mixed="-p, --password=[password]" />
4182+ <content type="string" />
4183+ <shortdesc lang="en">Login password or passphrase</shortdesc>
4184+ </parameter>
4185+- <parameter name="passwd_script" unique="0" required="0">
4186++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
4187+ <getopt mixed="-S, --password-script=[script]" />
4188+ <content type="string" />
4189+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4190+ </parameter>
4191+- <parameter name="port" unique="0" required="1">
4192++ <parameter name="plug" unique="0" required="1" obsoletes="port">
4193+ <getopt mixed="-n, --plug=[id]" />
4194+ <content type="string" />
4195+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4196+ </parameter>
4197+- <parameter name="secure" unique="0" required="0">
4198++ <parameter name="port" unique="0" required="1" deprecated="1">
4199++ <getopt mixed="-n, --plug=[id]" />
4200++ <content type="string" />
4201++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4202++ </parameter>
4203++ <parameter name="secure" unique="0" required="0" deprecated="1">
4204++ <getopt mixed="-x, --ssh" />
4205++ <content type="boolean" default="1" />
4206++ <shortdesc lang="en">Use SSH connection</shortdesc>
4207++ </parameter>
4208++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
4209+ <getopt mixed="-x, --ssh" />
4210+ <content type="boolean" default="1" />
4211+ <shortdesc lang="en">Use SSH connection</shortdesc>
4212+@@ -70,6 +100,11 @@
4213+ <content type="string" />
4214+ <shortdesc lang="en">SSH options to use</shortdesc>
4215+ </parameter>
4216++ <parameter name="username" unique="0" required="1" obsoletes="login">
4217++ <getopt mixed="-l, --username=[name]" />
4218++ <content type="string" />
4219++ <shortdesc lang="en">Login name</shortdesc>
4220++ </parameter>
4221+ <parameter name="quiet" unique="0" required="0">
4222+ <getopt mixed="-q, --quiet" />
4223+ <content type="boolean" />
4224+@@ -80,7 +115,12 @@
4225+ <content type="boolean" />
4226+ <shortdesc lang="en">Verbose mode</shortdesc>
4227+ </parameter>
4228+- <parameter name="debug" unique="0" required="0">
4229++ <parameter name="debug" unique="0" required="0" deprecated="1">
4230++ <getopt mixed="-D, --debug-file=[debugfile]" />
4231++ <content type="string" />
4232++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4233++ </parameter>
4234++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4235+ <getopt mixed="-D, --debug-file=[debugfile]" />
4236+ <content type="string" />
4237+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4238+--- a/tests/data/metadata/fence_lpar.xml
4239++++ b/tests/data/metadata/fence_lpar.xml
4240+@@ -8,7 +8,12 @@
4241+ <content type="string" default="reboot" />
4242+ <shortdesc lang="en">Fencing action</shortdesc>
4243+ </parameter>
4244+- <parameter name="cmd_prompt" unique="0" required="0">
4245++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
4246++ <getopt mixed="-c, --command-prompt=[prompt]" />
4247++ <content type="string" default="[&apos;:~&gt;&apos;, &apos;]\\$&apos;, &apos;\\$ &apos;]" />
4248++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
4249++ </parameter>
4250++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
4251+ <getopt mixed="-c, --command-prompt=[prompt]" />
4252+ <content type="string" default="[&apos;:~&gt;&apos;, &apos;]\\$&apos;, &apos;\\$ &apos;]" />
4253+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
4254+@@ -37,7 +42,12 @@
4255+ <content type="boolean" />
4256+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
4257+ </parameter>
4258+- <parameter name="ipaddr" unique="0" required="1">
4259++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
4260++ <getopt mixed="-a, --ip=[ip]" />
4261++ <content type="string" />
4262++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4263++ </parameter>
4264++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
4265+ <getopt mixed="-a, --ip=[ip]" />
4266+ <content type="string" />
4267+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4268+@@ -47,7 +57,7 @@
4269+ <content type="integer" default="22" />
4270+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
4271+ </parameter>
4272+- <parameter name="login" unique="0" required="1">
4273++ <parameter name="login" unique="0" required="1" deprecated="1">
4274+ <getopt mixed="-l, --username=[name]" />
4275+ <content type="string" />
4276+ <shortdesc lang="en">Login name</shortdesc>
4277+@@ -57,22 +67,42 @@
4278+ <content type="string" />
4279+ <shortdesc lang="en">Managed system name</shortdesc>
4280+ </parameter>
4281+- <parameter name="passwd" unique="0" required="0">
4282++ <parameter name="passwd" unique="0" required="0" deprecated="1">
4283++ <getopt mixed="-p, --password=[password]" />
4284++ <content type="string" />
4285++ <shortdesc lang="en">Login password or passphrase</shortdesc>
4286++ </parameter>
4287++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
4288++ <getopt mixed="-S, --password-script=[script]" />
4289++ <content type="string" />
4290++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4291++ </parameter>
4292++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
4293+ <getopt mixed="-p, --password=[password]" />
4294+ <content type="string" />
4295+ <shortdesc lang="en">Login password or passphrase</shortdesc>
4296+ </parameter>
4297+- <parameter name="passwd_script" unique="0" required="0">
4298++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
4299+ <getopt mixed="-S, --password-script=[script]" />
4300+ <content type="string" />
4301+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4302+ </parameter>
4303+- <parameter name="port" unique="0" required="1">
4304++ <parameter name="plug" unique="0" required="1" obsoletes="port">
4305+ <getopt mixed="-n, --plug=[id]" />
4306+ <content type="string" />
4307+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4308+ </parameter>
4309+- <parameter name="secure" unique="0" required="0">
4310++ <parameter name="port" unique="0" required="1" deprecated="1">
4311++ <getopt mixed="-n, --plug=[id]" />
4312++ <content type="string" />
4313++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4314++ </parameter>
4315++ <parameter name="secure" unique="0" required="0" deprecated="1">
4316++ <getopt mixed="-x, --ssh" />
4317++ <content type="boolean" default="1" />
4318++ <shortdesc lang="en">Use SSH connection</shortdesc>
4319++ </parameter>
4320++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
4321+ <getopt mixed="-x, --ssh" />
4322+ <content type="boolean" default="1" />
4323+ <shortdesc lang="en">Use SSH connection</shortdesc>
4324+@@ -82,6 +112,11 @@
4325+ <content type="string" />
4326+ <shortdesc lang="en">SSH options to use</shortdesc>
4327+ </parameter>
4328++ <parameter name="username" unique="0" required="1" obsoletes="login">
4329++ <getopt mixed="-l, --username=[name]" />
4330++ <content type="string" />
4331++ <shortdesc lang="en">Login name</shortdesc>
4332++ </parameter>
4333+ <parameter name="quiet" unique="0" required="0">
4334+ <getopt mixed="-q, --quiet" />
4335+ <content type="boolean" />
4336+@@ -92,7 +127,12 @@
4337+ <content type="boolean" />
4338+ <shortdesc lang="en">Verbose mode</shortdesc>
4339+ </parameter>
4340+- <parameter name="debug" unique="0" required="0">
4341++ <parameter name="debug" unique="0" required="0" deprecated="1">
4342++ <getopt mixed="-D, --debug-file=[debugfile]" />
4343++ <content type="string" />
4344++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4345++ </parameter>
4346++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4347+ <getopt mixed="-D, --debug-file=[debugfile]" />
4348+ <content type="string" />
4349+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4350+--- a/tests/data/metadata/fence_mpath.xml
4351++++ b/tests/data/metadata/fence_mpath.xml
4352+@@ -29,7 +29,12 @@
4353+ <content type="boolean" />
4354+ <shortdesc lang="en">Verbose mode</shortdesc>
4355+ </parameter>
4356+- <parameter name="debug" unique="0" required="0">
4357++ <parameter name="debug" unique="0" required="0" deprecated="1">
4358++ <getopt mixed="-D, --debug-file=[debugfile]" />
4359++ <content type="string" />
4360++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4361++ </parameter>
4362++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4363+ <getopt mixed="-D, --debug-file=[debugfile]" />
4364+ <content type="string" />
4365+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4366+@@ -82,7 +87,12 @@
4367+ <content type="integer" default="1" />
4368+ <shortdesc lang="en">Count of attempts to retry power on</shortdesc>
4369+ </parameter>
4370+- <parameter name="sudo" unique="0" required="0">
4371++ <parameter name="sudo" unique="0" required="0" deprecated="1">
4372++ <getopt mixed="--use-sudo" />
4373++ <content type="boolean" />
4374++ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
4375++ </parameter>
4376++ <parameter name="use_sudo" unique="0" required="0" obsoletes="sudo">
4377+ <getopt mixed="--use-sudo" />
4378+ <content type="boolean" />
4379+ <shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
4380+--- a/tests/data/metadata/fence_netio.xml
4381++++ b/tests/data/metadata/fence_netio.xml
4382+@@ -18,7 +18,12 @@
4383+ <content type="boolean" />
4384+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
4385+ </parameter>
4386+- <parameter name="ipaddr" unique="0" required="1">
4387++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
4388++ <getopt mixed="-a, --ip=[ip]" />
4389++ <content type="string" />
4390++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4391++ </parameter>
4392++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
4393+ <getopt mixed="-a, --ip=[ip]" />
4394+ <content type="string" />
4395+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4396+@@ -28,26 +33,46 @@
4397+ <content type="integer" default="1234" />
4398+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
4399+ </parameter>
4400+- <parameter name="login" unique="0" required="1">
4401++ <parameter name="login" unique="0" required="1" deprecated="1">
4402+ <getopt mixed="-l, --username=[name]" />
4403+ <content type="string" />
4404+ <shortdesc lang="en">Login name</shortdesc>
4405+ </parameter>
4406+- <parameter name="passwd" unique="0" required="0">
4407++ <parameter name="passwd" unique="0" required="0" deprecated="1">
4408++ <getopt mixed="-p, --password=[password]" />
4409++ <content type="string" />
4410++ <shortdesc lang="en">Login password or passphrase</shortdesc>
4411++ </parameter>
4412++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
4413++ <getopt mixed="-S, --password-script=[script]" />
4414++ <content type="string" />
4415++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4416++ </parameter>
4417++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
4418+ <getopt mixed="-p, --password=[password]" />
4419+ <content type="string" />
4420+ <shortdesc lang="en">Login password or passphrase</shortdesc>
4421+ </parameter>
4422+- <parameter name="passwd_script" unique="0" required="0">
4423++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
4424+ <getopt mixed="-S, --password-script=[script]" />
4425+ <content type="string" />
4426+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4427+ </parameter>
4428+- <parameter name="port" unique="0" required="1">
4429++ <parameter name="plug" unique="0" required="1" obsoletes="port">
4430+ <getopt mixed="-n, --plug=[id]" />
4431+ <content type="string" />
4432+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4433+ </parameter>
4434++ <parameter name="port" unique="0" required="1" deprecated="1">
4435++ <getopt mixed="-n, --plug=[id]" />
4436++ <content type="string" />
4437++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4438++ </parameter>
4439++ <parameter name="username" unique="0" required="1" obsoletes="login">
4440++ <getopt mixed="-l, --username=[name]" />
4441++ <content type="string" />
4442++ <shortdesc lang="en">Login name</shortdesc>
4443++ </parameter>
4444+ <parameter name="quiet" unique="0" required="0">
4445+ <getopt mixed="-q, --quiet" />
4446+ <content type="boolean" />
4447+@@ -58,7 +83,12 @@
4448+ <content type="boolean" />
4449+ <shortdesc lang="en">Verbose mode</shortdesc>
4450+ </parameter>
4451+- <parameter name="debug" unique="0" required="0">
4452++ <parameter name="debug" unique="0" required="0" deprecated="1">
4453++ <getopt mixed="-D, --debug-file=[debugfile]" />
4454++ <content type="string" />
4455++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4456++ </parameter>
4457++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4458+ <getopt mixed="-D, --debug-file=[debugfile]" />
4459+ <content type="string" />
4460+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4461+--- a/tests/data/metadata/fence_ovh.xml
4462++++ b/tests/data/metadata/fence_ovh.xml
4463+@@ -13,26 +13,46 @@
4464+ <content type="string" />
4465+ <shortdesc lang="en">Reboot email</shortdesc>
4466+ </parameter>
4467+- <parameter name="login" unique="0" required="1">
4468++ <parameter name="login" unique="0" required="1" deprecated="1">
4469+ <getopt mixed="-l, --username=[name]" />
4470+ <content type="string" />
4471+ <shortdesc lang="en">Login name</shortdesc>
4472+ </parameter>
4473+- <parameter name="passwd" unique="0" required="0">
4474++ <parameter name="passwd" unique="0" required="0" deprecated="1">
4475+ <getopt mixed="-p, --password=[password]" />
4476+ <content type="string" />
4477+ <shortdesc lang="en">Login password or passphrase</shortdesc>
4478+ </parameter>
4479+- <parameter name="passwd_script" unique="0" required="0">
4480++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
4481+ <getopt mixed="-S, --password-script=[script]" />
4482+ <content type="string" />
4483+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4484+ </parameter>
4485+- <parameter name="port" unique="0" required="1">
4486++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
4487++ <getopt mixed="-p, --password=[password]" />
4488++ <content type="string" />
4489++ <shortdesc lang="en">Login password or passphrase</shortdesc>
4490++ </parameter>
4491++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
4492++ <getopt mixed="-S, --password-script=[script]" />
4493++ <content type="string" />
4494++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4495++ </parameter>
4496++ <parameter name="plug" unique="0" required="1" obsoletes="port">
4497++ <getopt mixed="-n, --plug=[id]" />
4498++ <content type="string" />
4499++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4500++ </parameter>
4501++ <parameter name="port" unique="0" required="1" deprecated="1">
4502+ <getopt mixed="-n, --plug=[id]" />
4503+ <content type="string" />
4504+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4505+ </parameter>
4506++ <parameter name="username" unique="0" required="1" obsoletes="login">
4507++ <getopt mixed="-l, --username=[name]" />
4508++ <content type="string" />
4509++ <shortdesc lang="en">Login name</shortdesc>
4510++ </parameter>
4511+ <parameter name="quiet" unique="0" required="0">
4512+ <getopt mixed="-q, --quiet" />
4513+ <content type="boolean" />
4514+@@ -43,7 +63,12 @@
4515+ <content type="boolean" />
4516+ <shortdesc lang="en">Verbose mode</shortdesc>
4517+ </parameter>
4518+- <parameter name="debug" unique="0" required="0">
4519++ <parameter name="debug" unique="0" required="0" deprecated="1">
4520++ <getopt mixed="-D, --debug-file=[debugfile]" />
4521++ <content type="string" />
4522++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4523++ </parameter>
4524++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4525+ <getopt mixed="-D, --debug-file=[debugfile]" />
4526+ <content type="string" />
4527+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4528+--- a/tests/data/metadata/fence_powerman.xml
4529++++ b/tests/data/metadata/fence_powerman.xml
4530+@@ -18,7 +18,12 @@
4531+ <content type="boolean" />
4532+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
4533+ </parameter>
4534+- <parameter name="ipaddr" unique="0" required="0">
4535++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
4536++ <getopt mixed="-a, --ip=[ip]" />
4537++ <content type="string" />
4538++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4539++ </parameter>
4540++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
4541+ <getopt mixed="-a, --ip=[ip]" />
4542+ <content type="string" />
4543+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4544+@@ -28,7 +33,12 @@
4545+ <content type="integer" default="10101" />
4546+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
4547+ </parameter>
4548+- <parameter name="port" unique="0" required="0">
4549++ <parameter name="plug" unique="0" required="0" obsoletes="port">
4550++ <getopt mixed="-n, --plug=[ip]" />
4551++ <content type="string" />
4552++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
4553++ </parameter>
4554++ <parameter name="port" unique="0" required="0" deprecated="1">
4555+ <getopt mixed="-n, --plug=[ip]" />
4556+ <content type="string" />
4557+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
4558+@@ -43,7 +53,12 @@
4559+ <content type="boolean" />
4560+ <shortdesc lang="en">Verbose mode</shortdesc>
4561+ </parameter>
4562+- <parameter name="debug" unique="0" required="0">
4563++ <parameter name="debug" unique="0" required="0" deprecated="1">
4564++ <getopt mixed="-D, --debug-file=[debugfile]" />
4565++ <content type="string" />
4566++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4567++ </parameter>
4568++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4569+ <getopt mixed="-D, --debug-file=[debugfile]" />
4570+ <content type="string" />
4571+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4572+--- a/tests/data/metadata/fence_pve.xml
4573++++ b/tests/data/metadata/fence_pve.xml
4574+@@ -18,7 +18,12 @@
4575+ <content type="boolean" />
4576+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
4577+ </parameter>
4578+- <parameter name="ipaddr" unique="0" required="1">
4579++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
4580++ <getopt mixed="-a, --ip=[ip]" />
4581++ <content type="string" />
4582++ <shortdesc lang="en">IP Address or Hostname of a node within the Proxmox cluster.</shortdesc>
4583++ </parameter>
4584++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
4585+ <getopt mixed="-a, --ip=[ip]" />
4586+ <content type="string" />
4587+ <shortdesc lang="en">IP Address or Hostname of a node within the Proxmox cluster.</shortdesc>
4588+@@ -28,27 +33,52 @@
4589+ <content type="integer" default="8006" />
4590+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
4591+ </parameter>
4592+- <parameter name="login" unique="0" required="1">
4593++ <parameter name="login" unique="0" required="1" deprecated="1">
4594+ <getopt mixed="-l, --username=[name]" />
4595+ <content type="string" default="root@pam" />
4596+ <shortdesc lang="en">Login name</shortdesc>
4597+ </parameter>
4598+- <parameter name="passwd" unique="0" required="0">
4599++ <parameter name="passwd" unique="0" required="0" deprecated="1">
4600++ <getopt mixed="-p, --password=[password]" />
4601++ <content type="string" />
4602++ <shortdesc lang="en">Login password or passphrase</shortdesc>
4603++ </parameter>
4604++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
4605++ <getopt mixed="-S, --password-script=[script]" />
4606++ <content type="string" />
4607++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4608++ </parameter>
4609++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
4610+ <getopt mixed="-p, --password=[password]" />
4611+ <content type="string" />
4612+ <shortdesc lang="en">Login password or passphrase</shortdesc>
4613+ </parameter>
4614+- <parameter name="passwd_script" unique="0" required="0">
4615++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
4616+ <getopt mixed="-S, --password-script=[script]" />
4617+ <content type="string" />
4618+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4619+ </parameter>
4620+- <parameter name="port" unique="0" required="1">
4621++ <parameter name="plug" unique="0" required="1" obsoletes="port">
4622++ <getopt mixed="-n, --plug=[id]" />
4623++ <content type="string" />
4624++ <shortdesc lang="en">Id of the virtual machine.</shortdesc>
4625++ </parameter>
4626++ <parameter name="port" unique="0" required="1" deprecated="1">
4627+ <getopt mixed="-n, --plug=[id]" />
4628+ <content type="string" />
4629+ <shortdesc lang="en">Id of the virtual machine.</shortdesc>
4630+ </parameter>
4631+- <parameter name="node_name" unique="0" required="0">
4632++ <parameter name="username" unique="0" required="1" obsoletes="login">
4633++ <getopt mixed="-l, --username=[name]" />
4634++ <content type="string" default="root@pam" />
4635++ <shortdesc lang="en">Login name</shortdesc>
4636++ </parameter>
4637++ <parameter name="node_name" unique="0" required="0" deprecated="1">
4638++ <getopt mixed="-N, --nodename" />
4639++ <content type="string" />
4640++ <shortdesc lang="en">Node on which machine is located. (Optional, will be automatically determined)</shortdesc>
4641++ </parameter>
4642++ <parameter name="nodename" unique="0" required="0" obsoletes="node_name">
4643+ <getopt mixed="-N, --nodename" />
4644+ <content type="string" />
4645+ <shortdesc lang="en">Node on which machine is located. (Optional, will be automatically determined)</shortdesc>
4646+@@ -63,7 +93,12 @@
4647+ <content type="boolean" />
4648+ <shortdesc lang="en">Verbose mode</shortdesc>
4649+ </parameter>
4650+- <parameter name="debug" unique="0" required="0">
4651++ <parameter name="debug" unique="0" required="0" deprecated="1">
4652++ <getopt mixed="-D, --debug-file=[debugfile]" />
4653++ <content type="string" />
4654++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4655++ </parameter>
4656++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4657+ <getopt mixed="-D, --debug-file=[debugfile]" />
4658+ <content type="string" />
4659+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4660+--- a/tests/data/metadata/fence_raritan.xml
4661++++ b/tests/data/metadata/fence_raritan.xml
4662+@@ -18,7 +18,12 @@
4663+ <content type="boolean" />
4664+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
4665+ </parameter>
4666+- <parameter name="ipaddr" unique="0" required="1">
4667++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
4668++ <getopt mixed="-a, --ip=[ip]" />
4669++ <content type="string" />
4670++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4671++ </parameter>
4672++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
4673+ <getopt mixed="-a, --ip=[ip]" />
4674+ <content type="string" />
4675+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4676+@@ -28,26 +33,46 @@
4677+ <content type="integer" default="23" />
4678+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
4679+ </parameter>
4680+- <parameter name="login" unique="0" required="1">
4681++ <parameter name="login" unique="0" required="1" deprecated="1">
4682+ <getopt mixed="-l, --username=[name]" />
4683+ <content type="string" />
4684+ <shortdesc lang="en">Login name</shortdesc>
4685+ </parameter>
4686+- <parameter name="passwd" unique="0" required="0">
4687++ <parameter name="passwd" unique="0" required="0" deprecated="1">
4688++ <getopt mixed="-p, --password=[password]" />
4689++ <content type="string" />
4690++ <shortdesc lang="en">Login password or passphrase</shortdesc>
4691++ </parameter>
4692++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
4693++ <getopt mixed="-S, --password-script=[script]" />
4694++ <content type="string" />
4695++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4696++ </parameter>
4697++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
4698+ <getopt mixed="-p, --password=[password]" />
4699+ <content type="string" />
4700+ <shortdesc lang="en">Login password or passphrase</shortdesc>
4701+ </parameter>
4702+- <parameter name="passwd_script" unique="0" required="0">
4703++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
4704+ <getopt mixed="-S, --password-script=[script]" />
4705+ <content type="string" />
4706+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4707+ </parameter>
4708+- <parameter name="port" unique="0" required="1">
4709++ <parameter name="plug" unique="0" required="1" obsoletes="port">
4710+ <getopt mixed="-n, --plug=[id]" />
4711+ <content type="string" />
4712+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4713+ </parameter>
4714++ <parameter name="port" unique="0" required="1" deprecated="1">
4715++ <getopt mixed="-n, --plug=[id]" />
4716++ <content type="string" />
4717++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4718++ </parameter>
4719++ <parameter name="username" unique="0" required="1" obsoletes="login">
4720++ <getopt mixed="-l, --username=[name]" />
4721++ <content type="string" />
4722++ <shortdesc lang="en">Login name</shortdesc>
4723++ </parameter>
4724+ <parameter name="quiet" unique="0" required="0">
4725+ <getopt mixed="-q, --quiet" />
4726+ <content type="boolean" />
4727+@@ -58,7 +83,12 @@
4728+ <content type="boolean" />
4729+ <shortdesc lang="en">Verbose mode</shortdesc>
4730+ </parameter>
4731+- <parameter name="debug" unique="0" required="0">
4732++ <parameter name="debug" unique="0" required="0" deprecated="1">
4733++ <getopt mixed="-D, --debug-file=[debugfile]" />
4734++ <content type="string" />
4735++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4736++ </parameter>
4737++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4738+ <getopt mixed="-D, --debug-file=[debugfile]" />
4739+ <content type="string" />
4740+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4741+--- a/tests/data/metadata/fence_rcd_serial.xml
4742++++ b/tests/data/metadata/fence_rcd_serial.xml
4743+@@ -31,7 +31,12 @@
4744+ <content type="boolean" />
4745+ <shortdesc lang="en">Verbose mode</shortdesc>
4746+ </parameter>
4747+- <parameter name="debug" unique="0" required="0">
4748++ <parameter name="debug" unique="0" required="0" deprecated="1">
4749++ <getopt mixed="-D, --debug-file=[debugfile]" />
4750++ <content type="string" />
4751++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4752++ </parameter>
4753++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4754+ <getopt mixed="-D, --debug-file=[debugfile]" />
4755+ <content type="string" />
4756+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4757+--- a/tests/data/metadata/fence_rhevm.xml
4758++++ b/tests/data/metadata/fence_rhevm.xml
4759+@@ -18,7 +18,12 @@
4760+ <content type="boolean" />
4761+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
4762+ </parameter>
4763+- <parameter name="ipaddr" unique="0" required="1">
4764++ <parameter name="ip" unique="0" required="1" obsoletes="ipaddr">
4765++ <getopt mixed="-a, --ip=[ip]" />
4766++ <content type="string" />
4767++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4768++ </parameter>
4769++ <parameter name="ipaddr" unique="0" required="1" deprecated="1">
4770+ <getopt mixed="-a, --ip=[ip]" />
4771+ <content type="string" />
4772+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4773+@@ -28,7 +33,7 @@
4774+ <content type="integer" default="80" />
4775+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
4776+ </parameter>
4777+- <parameter name="login" unique="0" required="1">
4778++ <parameter name="login" unique="0" required="1" deprecated="1">
4779+ <getopt mixed="-l, --username=[name]" />
4780+ <content type="string" />
4781+ <shortdesc lang="en">Login name</shortdesc>
4782+@@ -38,17 +43,32 @@
4783+ <content type="boolean" />
4784+ <shortdesc lang="en">Disable TLS negotiation and force SSL3.0. This should only be used for devices that do not support TLS1.0 and up.</shortdesc>
4785+ </parameter>
4786+- <parameter name="passwd" unique="0" required="0">
4787++ <parameter name="passwd" unique="0" required="0" deprecated="1">
4788++ <getopt mixed="-p, --password=[password]" />
4789++ <content type="string" />
4790++ <shortdesc lang="en">Login password or passphrase</shortdesc>
4791++ </parameter>
4792++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
4793++ <getopt mixed="-S, --password-script=[script]" />
4794++ <content type="string" />
4795++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4796++ </parameter>
4797++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
4798+ <getopt mixed="-p, --password=[password]" />
4799+ <content type="string" />
4800+ <shortdesc lang="en">Login password or passphrase</shortdesc>
4801+ </parameter>
4802+- <parameter name="passwd_script" unique="0" required="0">
4803++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
4804+ <getopt mixed="-S, --password-script=[script]" />
4805+ <content type="string" />
4806+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4807+ </parameter>
4808+- <parameter name="port" unique="0" required="1">
4809++ <parameter name="plug" unique="0" required="1" obsoletes="port">
4810++ <getopt mixed="-n, --plug=[id]" />
4811++ <content type="string" />
4812++ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4813++ </parameter>
4814++ <parameter name="port" unique="0" required="1" deprecated="1">
4815+ <getopt mixed="-n, --plug=[id]" />
4816+ <content type="string" />
4817+ <shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
4818+@@ -73,6 +93,11 @@
4819+ <content type="boolean" />
4820+ <shortdesc lang="en">Reuse cookies for authentication</shortdesc>
4821+ </parameter>
4822++ <parameter name="username" unique="0" required="1" obsoletes="login">
4823++ <getopt mixed="-l, --username=[name]" />
4824++ <content type="string" />
4825++ <shortdesc lang="en">Login name</shortdesc>
4826++ </parameter>
4827+ <parameter name="quiet" unique="0" required="0">
4828+ <getopt mixed="-q, --quiet" />
4829+ <content type="boolean" />
4830+@@ -83,7 +108,12 @@
4831+ <content type="boolean" />
4832+ <shortdesc lang="en">Verbose mode</shortdesc>
4833+ </parameter>
4834+- <parameter name="debug" unique="0" required="0">
4835++ <parameter name="debug" unique="0" required="0" deprecated="1">
4836++ <getopt mixed="-D, --debug-file=[debugfile]" />
4837++ <content type="string" />
4838++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4839++ </parameter>
4840++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4841+ <getopt mixed="-D, --debug-file=[debugfile]" />
4842+ <content type="string" />
4843+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4844+--- a/tests/data/metadata/fence_rsa.xml
4845++++ b/tests/data/metadata/fence_rsa.xml
4846+@@ -8,7 +8,12 @@
4847+ <content type="string" default="reboot" />
4848+ <shortdesc lang="en">Fencing action</shortdesc>
4849+ </parameter>
4850+- <parameter name="cmd_prompt" unique="0" required="0">
4851++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
4852++ <getopt mixed="-c, --command-prompt=[prompt]" />
4853++ <content type="string" default="[&apos;&gt;&apos;]" />
4854++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
4855++ </parameter>
4856++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
4857+ <getopt mixed="-c, --command-prompt=[prompt]" />
4858+ <content type="string" default="[&apos;&gt;&apos;]" />
4859+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
4860+@@ -28,7 +33,12 @@
4861+ <content type="boolean" />
4862+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
4863+ </parameter>
4864+- <parameter name="ipaddr" unique="0" required="0">
4865++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
4866++ <getopt mixed="-a, --ip=[ip]" />
4867++ <content type="string" />
4868++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4869++ </parameter>
4870++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
4871+ <getopt mixed="-a, --ip=[ip]" />
4872+ <content type="string" />
4873+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4874+@@ -38,27 +48,47 @@
4875+ <content type="integer" default="23" />
4876+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
4877+ </parameter>
4878+- <parameter name="login" unique="0" required="1">
4879++ <parameter name="login" unique="0" required="1" deprecated="1">
4880+ <getopt mixed="-l, --username=[name]" />
4881+ <content type="string" />
4882+ <shortdesc lang="en">Login name</shortdesc>
4883+ </parameter>
4884+- <parameter name="passwd" unique="0" required="0">
4885++ <parameter name="passwd" unique="0" required="0" deprecated="1">
4886++ <getopt mixed="-p, --password=[password]" />
4887++ <content type="string" />
4888++ <shortdesc lang="en">Login password or passphrase</shortdesc>
4889++ </parameter>
4890++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
4891++ <getopt mixed="-S, --password-script=[script]" />
4892++ <content type="string" />
4893++ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4894++ </parameter>
4895++ <parameter name="password" unique="0" required="0" obsoletes="passwd">
4896+ <getopt mixed="-p, --password=[password]" />
4897+ <content type="string" />
4898+ <shortdesc lang="en">Login password or passphrase</shortdesc>
4899+ </parameter>
4900+- <parameter name="passwd_script" unique="0" required="0">
4901++ <parameter name="password_script" unique="0" required="0" obsoletes="passwd_script">
4902+ <getopt mixed="-S, --password-script=[script]" />
4903+ <content type="string" />
4904+ <shortdesc lang="en">Script to run to retrieve password</shortdesc>
4905+ </parameter>
4906+- <parameter name="port" unique="0" required="0">
4907++ <parameter name="plug" unique="0" required="0" obsoletes="port">
4908+ <getopt mixed="-n, --plug=[ip]" />
4909+ <content type="string" />
4910+ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
4911+ </parameter>
4912+- <parameter name="secure" unique="0" required="0">
4913++ <parameter name="port" unique="0" required="0" deprecated="1">
4914++ <getopt mixed="-n, --plug=[ip]" />
4915++ <content type="string" />
4916++ <shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</shortdesc>
4917++ </parameter>
4918++ <parameter name="secure" unique="0" required="0" deprecated="1">
4919++ <getopt mixed="-x, --ssh" />
4920++ <content type="boolean" />
4921++ <shortdesc lang="en">Use SSH connection</shortdesc>
4922++ </parameter>
4923++ <parameter name="ssh" unique="0" required="0" obsoletes="secure">
4924+ <getopt mixed="-x, --ssh" />
4925+ <content type="boolean" />
4926+ <shortdesc lang="en">Use SSH connection</shortdesc>
4927+@@ -68,6 +98,11 @@
4928+ <content type="string" default="-F /dev/null" />
4929+ <shortdesc lang="en">SSH options to use</shortdesc>
4930+ </parameter>
4931++ <parameter name="username" unique="0" required="1" obsoletes="login">
4932++ <getopt mixed="-l, --username=[name]" />
4933++ <content type="string" />
4934++ <shortdesc lang="en">Login name</shortdesc>
4935++ </parameter>
4936+ <parameter name="quiet" unique="0" required="0">
4937+ <getopt mixed="-q, --quiet" />
4938+ <content type="boolean" />
4939+@@ -78,7 +113,12 @@
4940+ <content type="boolean" />
4941+ <shortdesc lang="en">Verbose mode</shortdesc>
4942+ </parameter>
4943+- <parameter name="debug" unique="0" required="0">
4944++ <parameter name="debug" unique="0" required="0" deprecated="1">
4945++ <getopt mixed="-D, --debug-file=[debugfile]" />
4946++ <content type="string" />
4947++ <shortdesc lang="en">Write debug information to given file</shortdesc>
4948++ </parameter>
4949++ <parameter name="debug_file" unique="0" required="0" obsoletes="debug">
4950+ <getopt mixed="-D, --debug-file=[debugfile]" />
4951+ <content type="string" />
4952+ <shortdesc lang="en">Write debug information to given file</shortdesc>
4953+--- a/tests/data/metadata/fence_rsb.xml
4954++++ b/tests/data/metadata/fence_rsb.xml
4955+@@ -8,7 +8,12 @@
4956+ <content type="string" default="reboot" />
4957+ <shortdesc lang="en">Fencing action</shortdesc>
4958+ </parameter>
4959+- <parameter name="cmd_prompt" unique="0" required="0">
4960++ <parameter name="cmd_prompt" unique="0" required="0" deprecated="1">
4961++ <getopt mixed="-c, --command-prompt=[prompt]" />
4962++ <content type="string" default="[&apos;to quit:&apos;]" />
4963++ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
4964++ </parameter>
4965++ <parameter name="command_prompt" unique="0" required="0" obsoletes="cmd_prompt">
4966+ <getopt mixed="-c, --command-prompt=[prompt]" />
4967+ <content type="string" default="[&apos;to quit:&apos;]" />
4968+ <shortdesc lang="en">Force Python regex for command prompt</shortdesc>
4969+@@ -28,7 +33,12 @@
4970+ <content type="boolean" />
4971+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
4972+ </parameter>
4973+- <parameter name="ipaddr" unique="0" required="0">
4974++ <parameter name="ip" unique="0" required="0" obsoletes="ipaddr">
4975++ <getopt mixed="-a, --ip=[ip]" />
4976++ <content type="string" />
4977++ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4978++ </parameter>
4979++ <parameter name="ipaddr" unique="0" required="0" deprecated="1">
4980+ <getopt mixed="-a, --ip=[ip]" />
4981+ <content type="string" />
4982+ <shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
4983+@@ -38,27 +48,47 @@
4984+ <content type="integer" default="3172" />
4985+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
4986+ </parameter>
4987+- <parameter name="login" unique="0" required="1">
4988++ <parameter name="login" unique="0" required="1" deprecated="1">
4989+ <getopt mixed="-l, --username=[name]" />
4990+ <content type="string" />
4991+ <shortdesc lang="en">Login name</shortdesc>
4992+ </parameter>
4993+- <parameter name="passwd" unique="0" required="0">
4994++ <parameter name="passwd" unique="0" required="0" deprecated="1">
4995++ <getopt mixed="-p, --password=[password]" />
4996++ <content type="string" />
4997++ <shortdesc lang="en">Login password or passphrase</shortdesc>
4998++ </parameter>
4999++ <parameter name="passwd_script" unique="0" required="0" deprecated="1">
5000++ <getopt mixed="-S, --password-script=[script]" />
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches