Hide Forgot
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 implemented. > 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 implemented? > Customer would be able to test
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.
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.
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 ~]#
Created attachment 517900 [details] Patch to fix issue
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.
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. http://rhn.redhat.com/errata/RHBA-2011-1698.html