Bug 696901 - [RFE] ccs to list resource/fencing/etc options
[RFE] ccs to list resource/fencing/etc options
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: ricci (Show other bugs)
All Linux
medium Severity low
: rc
: ---
Assigned To: Chris Feist
Cluster QE
: FutureFeature
Depends On:
Blocks: 607248 693781
  Show dependency treegraph
Reported: 2011-04-15 04:24 EDT by J.H.M. Dassen (Ray)
Modified: 2013-07-03 00:14 EDT (History)
5 users (show)

See Also:
Fixed In Version: ccs-0.16.2-41.el6
Doc Type: Enhancement
Doc Text:
The ccs utility can now parse metadata in /usr/share/cluster and lists all the services and fence devices available, as well as their options.
Story Points: ---
Clone Of:
Last Closed: 2011-12-06 12:44:17 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Patch to fix issue (10.02 KB, patch)
2011-08-11 18:42 EDT, Chris Feist
no flags Details | Diff
lsfenceopts output for every fence available (28.55 KB, text/plain)
2011-09-12 05:51 EDT, Radek Steiger
no flags Details

  None (edit)
Description J.H.M. Dassen (Ray) 2011-04-15 04:24:36 EDT
2. What is the nature and description of the request?

Option in ccs to parse the metadata in /usr/share/cluster and list available
paramaters for one or all resource types supported and included.

This request isn't just for well documented listings of the RedHat provided
resource agents in /usr/share/cluster but, to also be able to list/read
potential custom ones as well.

Not suggesting these as actual flag names but just examples:

--lsresourcesavailable list all available resource agents in /usr/share/cluster.

--lsresourceoptions <resource name> list all options for <resource name>.

Something similar to list out fence device type options would be useful as well.

   3. Why does the customer need this? (List the business requirements here)

> provide a more robust and feature rich experience with ccs.

   4. How would the customer like to achieve this? (List the functional requirements here)

> Updates / enhancements to ccs/ricci.

   5. For each functional requirement listed in question 4, specify how Red Hat
and the customer can test to confirm the requirement is successfully

> Test options created, probably could be scripted with expect to list and report if list was accurate.

   6. Is there already an existing RFE upstream or in Red Hat bugzilla?

> Not to my knowledge, ccs is a new utility that the customer is testing as
part of the HTB.

   7. How quickly does this need resolved? (desired target release)

> RHEL 6.2 (preferred) or 6.3

   8. Does this request meet the RHEL Inclusion criteria (please review)

> Yes

   9. List the affected packages

> ccs

  10. Would the customer be able to assist in testing this functionality if

> Customer would be able to test
Comment 2 Lon Hohberger 2011-05-26 16:31:57 EDT
This is somewhat related to a feature request that splits out the metadata for cluster.rng into multiple parts.

Splitting it out is designed specifically to address concerns with integration of the cluster schema with third party resource-agents and fence-agents, making it easier to validate things when someone introduces a new RA that we do not support in RHEL.

I don't think that ccs would, therefore, need to parse the agent outputs themselves.
Comment 4 Chris Feist 2011-06-09 23:10:12 EDT
This bug will only print out the available options as parse from the cluster.rng.

It will work something like this:
ccs --lsresources

output will list all resources (with possible descriptions)

ccs --lsresourceoptions <resource>

output will list options for the specified resource (with possible descriptions)

I don't have example output since this has not yet been implemented, and I haven't dug deep enough in cluster.rng to verify that all of the data is there and formatted properly.  Let me know if there is anything else that you need.
Comment 6 Chris Feist 2011-08-11 18:40:40 EDT
Unit test results

Before fix:
[root@ask-03 ~]# ccs -f testfile --lsserviceopts
prints usage information

[root@ask-03 ~]# ccs -f testfile --lsfenceopts
prints usage information

After fix:
[root@ask-03 ~]# ccs -f testfile --lsserviceopts
service - Defines a service (resource group).
ASEHAagent - Sybase ASE Failover Instance
SAPDatabase - SAP database resource agent
SAPInstance - SAP instance resource agent
apache - Defines an Apache web server
clusterfs - Defines a cluster file system mount.
fs - Defines a file system mount.
ip - This is an IP address.
lvm - LVM Failover script
mysql - Defines a MySQL database server
named - Defines an instance of named server
netfs - Defines an NFS/CIFS file system mount.
nfsclient - Defines an NFS client.
nfsexport - This defines an NFS export.
nfsserver - This defines an NFS server resource.
openldap - Defines an Open LDAP server
oracledb - Oracle 10g Failover Instance
orainstance - Oracle 10g Failover Instance
oralistener - Oracle 10g Listener Instance
postgres-8 - Defines a PostgreSQL server
samba - Dynamic smbd/nmbd resource agent
script - LSB-compliant init script as a clustered resource.
tomcat-6 - Defines a Tomcat server
vm - Defines a Virtual Machine
action - Overrides resource action timings for a resource instance.
[root@ask-03 ~]# 

[root@ask-03 ~]# ccs -f testfile --lsfenceopts
fence_rps10 - RPS10 Serial Switch
fence_vixel - No description available
fence_egenera - No description available
fence_xcat - No description available
fence_na - Node Assassin
fence_apc - Fence agent for APC over telnet/ssh
fence_apc_snmp - Fence agent for APC over SNMP
fence_bladecenter - Fence agent for IBM BladeCenter
fence_bladecenter_snmp - Fence agent for IBM BladeCenter over SNMP
fence_cisco_mds - Fence agent for Cisco MDS
fence_cisco_ucs - Fence agent for Cisco UCS
fence_drac5 - Fence agent for Dell DRAC CMC/5
fence_eps - Fence agent for ePowerSwitch
fence_ibmblade - Fence agent for IBM BladeCenter over SNMP
fence_ifmib - Fence agent for IF MIB
fence_ilo - Fence agent for HP iLO
fence_ilo_mp - Fence agent for HP iLO MP
fence_intelmodular - Fence agent for Intel Modular
fence_ipmilan - Fence agent for IPMI over LAN
fence_kdump - Fence agent for use with kdump
fence_rhevm - Fence agent for RHEV-M REST API
fence_rsa - Fence agent for IBM RSA
fence_sanbox2 - Fence agent for QLogic SANBox2 FC switches
fence_scsi - fence agent for SCSI-3 persistent reservations
fence_virsh - Fence agent for virsh
fence_virt - Fence agent for virtual machines
fence_vmware - Fence agent for VMWare
fence_vmware_soap - Fence agent for VMWare over SOAP API
fence_wti - Fence agent for WTI
fence_xvm - Fence agent for virtual machines
[root@ask-03 ~]# 

[root@ask-03 ~]# ccs -f testfile --lsserviceopts vm
vm - Defines a Virtual Machine
  Required Options:
    name: Name
  Optional Options:
    domain: Cluster failover Domain
    autostart: Automatic start after quorum formation
    exclusive: Exclusive resource group
    recovery: Failure recovery policy
    migration_mapping: memberhost:targethost,memberhost:targethost ..
    use_virsh: If set to 1, vm.sh will use the virsh command to manage virtual machines instead of xm. This is required when using non-Xen virtual machines (e.g. qemu / KVM).
    xmlfile: Full path to libvirt XML file describing the domain.
    migrate: Migration type (live or pause, default = live).
    path: Path to virtual machine configuration files.
    snapshot: Path to the snapshot directory where the virtual machine image will be stored.
    depend: Top-level service this depends on, in service:name format.
    depend_mode: Service dependency mode (soft or hard).
    max_restarts: Maximum restarts for this service.
    restart_expire_time: Restart expiration time; amount of time before a restart is forgotten.
    status_program: Additional status check program
    hypervisor: Hypervisor
    hypervisor_uri: Hypervisor URI (normally automatic).
    migration_uri: Migration URI (normally automatic).
    __independent_subtree: Treat this and all children as an independent subtree.
    __enforce_timeouts: Consider a timeout for operations as fatal.
    __max_failures: Maximum number of failures before returning a failure to a status check.
    __failure_expire_time: Amount of time before a failure is forgotten.
    __max_restarts: Maximum number restarts for an independent subtree before giving up.
    __restart_expire_time: Amount of time before a failure is forgotten for an independent subtree.

[root@ask-03 ~]# ccs -f testfile --lsfenceopts fence_wti
fence_wti - Fence agent for WTI
  Required Options:
  Optional Options:
    option: No description available
    action: Fencing Action
    ipaddr: IP Address or Hostname
    login: Login Name
    passwd: Login password or passphrase
    passwd_script: Script to retrieve password
    cmd_prompt: Force command prompt
    secure: SSH connection
    identity_file: Identity file for ssh
    port: Physical plug number or name of virtual machine
    inet4_only: Forces agent to use IPv4 addresses only
    inet6_only: Forces agent to use IPv6 addresses only
    ipport: TCP port to use for connection with device
    verbose: Verbose mode
    debug: Write debug information to given file
    version: Display version information and exit
    help: Display help and exit
    separator: Separator for CSV created by operation list
    power_timeout: Test X seconds for status change after ON/OFF
    shell_timeout: Wait X seconds for cmd prompt after issuing command
    login_timeout: Wait X seconds for cmd prompt after login
    power_wait: Wait X seconds after issuing ON/OFF
    delay: Wait X seconds before fencing is started
    retry_on: Count of attempts to retry power on

[root@ask-03 ~]#
Comment 7 Chris Feist 2011-08-11 18:42:45 EDT
Created attachment 517900 [details]
Patch to fix issue
Comment 16 Eliska Slobodova 2011-10-07 10:23:15 EDT
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    New Contents:
The ccs utility can now parse metadata in /usr/share/cluster and lists all the services and fence devices available, as well as their options.
Comment 17 errata-xmlrpc 2011-12-06 12:44:17 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

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

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


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