On Fri, Jan 30, 2015 at 09:52:49PM +0100, Dejan Muhamedagic wrote: > Hello, > > We've tagged today (Jan 30) a new stable resource-agents release > (3.9.6) in the upstream repository. > > Big thanks go to all contributors! Needless to say, without you > this release would not be possible. Big thanks to Dejan. Who once again finally did, what I meant to do in late 2013 already, but simply pushed off for over a year (and no-one else stepped up, either...) So: Thank You. I just today noticed that apparently some resource agents accept and use parameters that are not documented in their meta data. I now came up with a bash two-liner, which likely still produces a lot of noise, because it does not take into account that some agents "source" additional helper files. But here is the list: --- used, but not described +++ described, but apparently not used. EvmsSCC +OCF_RESKEY_ignore_deprecation Evmsd +OCF_RESKEY_ignore_deprecation ?? intentionally undocumented ?? IPaddr +OCF_RESKEY_iflabel IPaddr -OCF_RESKEY_netmask Not sure. IPaddr2 -OCF_RESKEY_netmask intentional, backward compat, quoting the agent: # Note: We had a version out there for a while which used # netmask instead of cidr_netmask. Don't remove this aliasing code! Please help review these: IPsrcaddr -OCF_RESKEY_ip IPsrcaddr +OCF_RESKEY_cidr_netmask IPv6addr.c -OCF_RESKEY_cidr_netmask IPv6addr.c -OCF_RESKEY_ipv6addr IPv6addr.c -OCF_RESKEY_nic LinuxSCSI +OCF_RESKEY_ignore_deprecation Squid -OCF_RESKEY_squid_confirm_trialcount Squid -OCF_RESKEY_squid_opts Squid -OCF_RESKEY_squid_suspend_trialcount SysInfo -OCF_RESKEY_clone WAS6 -OCF_RESKEY_profileName apache +OCF_RESKEY_use_ipv6 conntrackd -OCF_RESKEY_conntrackd dnsupdate -OCF_RESKEY_opts dnsupdate +OCF_RESKEY_nsupdate_opts docker -OCF_RESKEY_container ethmonitor -OCF_RESKEY_check_level ethmonitor -OCF_RESKEY_multiplicator galera +OCF_RESKEY_additional_parameters galera +OCF_RESKEY_binary galera +OCF_RESKEY_client_binary galera +OCF_RESKEY_config galera +OCF_RESKEY_datadir galera +OCF_RESKEY_enable_creation galera +OCF_RESKEY_group galera +OCF_RESKEY_log galera +OCF_RESKEY_pid galera +OCF_RESKEY_socket galera +OCF_RESKEY_user Probably all bogus, it source "mysql-common.sh". Someone please have a more detailed look. iSCSILogicalUnit +OCF_RESKEY_product_id iSCSILogicalUnit +OCF_RESKEY_vendor_id false positive surprise: florian learned some wizardry back then ;-) for var in scsi_id scsi_sn vendor_id product_id; do envar="OCF_RESKEY_${var}" if [ -n "${!envar}" ]; then params="${params} ${var}=${!envar}" fi done If such magic is used elsewhere, that could mask "Used but not documented" cases. iface-bridge -OCF_RESKEY_multicast_querier !! Yep, that needs to be documented! mysql-proxy -OCF_RESKEY_group mysql-proxy -OCF_RESKEY_user Oops, apparently my magic scriptlet below needs to learn to ignore script comments... named -OCF_RESKEY_rootdir !! Probably a bug: named_rootdir is documented. nfsserver -OCF_RESKEY_nfs_notify_cmd !! Yep, that needs to be documented! nginx -OCF_RESKEY_client nginx +OCF_RESKEY_testclient !! client is used, but not documented, !! testclient is documented, but unused... Bug? nginx -OCF_RESKEY_nginx Bogus. Needs to be dropped from leading comment block. oracle -OCF_RESKEY_tns_admin !! Yep, that needs to be documented! pingd +OCF_RESKEY_ignore_deprecation ?? intentionally undocumented ?? pingd -OCF_RESKEY_update !! Yep, is undocumented. sg_persist +OCF_RESKEY_binary sg_persist -OCF_RESKEY_sg_persist_binary !! BUG? binary vs sg_persist_binary varnish -OCF_RESKEY_binary !! Yep, is undocumented. Please someone find the time to prepare pull requests to fix these... Thanks, Lars ----------------------------------------- List was generated by below scriptlet, which can be improved. The improved version should probably be part of a "unit test" check, when building resource-agents. # In the git checkout of the resource agents, # get a list of files that look like actual agent scripts. cd heartbeat A=$(git ls-files | xargs grep -s -l '<resource-agent ') # and for each of these files, # diff the list of OCF_RESKEY_* occurrences # with the list of <parameter name="*" ones. for a in $A; do diff -U0 \ <( grep -h -o 'OCF_RESKEY_[[:alnum:]_]*' $a | sort -u | grep -v -e '_default$' -e 'OCF_RESKEY_$' -e 'OCF_RESKEY_CRM_meta' ) \ <( grep -h '<parameter ' $a | sed -ne 's/^.*name="\([^"]*\)".*$/OCF_RESKEY_\1/p' | sort -u) | sed -e "/^@@\|^---\|^[+][+][+]/d;s#^#$a\t#"; done | column -t -- Linux-cluster mailing list Linux-cluster@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cluster