Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP3:GA
pacemaker.8397
bug-950128_pacemaker-crm_resource-lifetime.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bug-950128_pacemaker-crm_resource-lifetime.patch of Package pacemaker.8397
commit 5e869bb2cd713a87fe99f13e4d104a79b7c23156 Author: Ken Gaillot <kgaillot@redhat.com> Date: Fri Oct 13 09:43:50 2017 -0500 Low: tools: re-enable crm_resource --lifetime option 8c410bef mistakenly changed --lifetime from required_argument to no_argument. This fixes that, and additionally refactors the options to always use defined constants (no_argument or required_argument) rather than 0 or 1, to make such errors less likely in the future. Index: pacemaker/tools/crm_resource.c =================================================================== --- pacemaker.orig/tools/crm_resource.c +++ pacemaker/tools/crm_resource.c @@ -101,99 +101,128 @@ struct ipc_client_callbacks crm_callback static struct crm_option long_options[] = { /* Top-level Options */ { - "help", 0, 0, '?', + "help", no_argument, NULL, '?', "\t\tDisplay this text and exit" }, { - "version", 0, 0, '$', + "version", no_argument, NULL, '$', "\t\tDisplay version information and exit" }, { - "verbose", 0, 0, 'V', + "verbose", no_argument, NULL, 'V', "\t\tIncrease debug output (may be specified multiple times)" }, { - "quiet", 0, 0, 'Q', + "quiet", no_argument, NULL, 'Q', "\t\tBe less descriptive in results" }, { - "resource", 1, 0, 'r', + "resource", required_argument, NULL, 'r', "\tResource ID" }, - {"-spacer-",1, 0, '-', "\nQueries:"}, - {"list", 0, 0, 'L', "\t\tList all cluster resources with status"}, + { "-spacer-", no_argument, NULL, '-', "\nQueries:" }, { - "list-raw", 0, 0, 'l', + "list", no_argument, NULL, 'L', + "\t\tList all cluster resources with status"}, + { + "list-raw", no_argument, NULL, 'l', "\t\tList IDs of all instantiated resources (individual members rather than groups etc.)" }, - {"list-cts", 0, 0, 'c', NULL, pcmk_option_hidden}, { - "list-operations", 0, 0, 'O', + "list-cts", no_argument, NULL, 'c', + NULL, pcmk_option_hidden + }, + { + "list-operations", no_argument, NULL, 'O', "\tList active resource operations, optionally filtered by --resource and/or --node" }, { - "list-all-operations", 0, 0, 'o', + "list-all-operations", no_argument, NULL, 'o', "List all resource operations, optionally filtered by --resource and/or --node" }, - {"pending", 0, 0, 'j', "\t\tDisplay pending state if 'record-pending' is enabled", pcmk_option_hidden}, - - {"list-standards", 0, 0, 0, "\tList supported standards"}, - {"list-ocf-providers", 0, 0, 0, "List all available OCF providers"}, - {"list-agents", 1, 0, 0, "List all agents available for the named standard and/or provider."}, - {"list-ocf-alternatives", 1, 0, 0, "List all available providers for the named OCF agent"}, - {"show-metadata", 1, 0, 0, "Show the metadata for the named class:provider:agent"}, - { - "query-xml", 0, 0, 'q', + "pending", no_argument, NULL, 'j', + "\t\tDisplay pending state if 'record-pending' is enabled", + pcmk_option_hidden + }, + { + "list-standards", no_argument, NULL, 0, + "\tList supported standards" + }, + { + "list-ocf-providers", no_argument, NULL, 0, + "List all available OCF providers" + }, + { + "list-agents", required_argument, NULL, 0, + "List all agents available for the named standard and/or provider." + }, + { + "list-ocf-alternatives", required_argument, NULL, 0, + "List all available providers for the named OCF agent" + }, + { + "show-metadata", required_argument, NULL, 0, + "Show the metadata for the named class:provider:agent" + }, + { + "query-xml", no_argument, NULL, 'q', "\tShow XML configuration of resource (after any template expansion)" }, { - "query-xml-raw", 0, 0, 'w', + "query-xml-raw", no_argument, NULL, 'w', "\tShow XML configuration of resource (before any template expansion)" }, { - "get-parameter", 1, 0, 'g', + "get-parameter", required_argument, NULL, 'g', "Display named parameter for resource.\n" "\t\t\t\tUse instance attribute unless --meta or --utilization is specified" }, { - "get-property", 1, 0, 'G', + "get-property", required_argument, NULL, 'G', "Display named property of resource ('class', 'type', or 'provider') (requires --resource)", pcmk_option_hidden }, { - "locate", 0, 0, 'W', + "locate", no_argument, NULL, 'W', "\t\tShow node(s) currently running resource" }, - {"stack", 0, 0, 'A', "\t\tDisplay the prerequisites and dependents of a resource"}, - {"constraints",0, 0, 'a', "\tDisplay the (co)location constraints that apply to a resource"}, - {"-spacer-", 1, 0, '-', "\nCommands:"}, { - "cleanup", 0, 0, 'C', + "stack", no_argument, NULL, 'A', + "\t\tDisplay the prerequisites and dependents of a resource" + }, + { + "constraints", no_argument, NULL, 'a', + "\tDisplay the (co)location constraints that apply to a resource" + }, + + { "-spacer-", no_argument, NULL, '-', "\nCommands:" }, + { + "cleanup", no_argument, NULL, 'C', "\t\tDelete resource's history (including failures) so its current state is rechecked.\n" "\t\t\t\tOptionally filtered by --resource and --node (otherwise all).\n" "\t\t\t\tUnless --force is specified, resource's group or clone (if any) will also be cleaned" }, { - "set-parameter", 1, 0, 'p', + "set-parameter", required_argument, NULL, 'p', "Set named parameter for resource (requires -v).\n" "\t\t\t\tUse instance attribute unless --meta or --utilization is specified." }, { - "delete-parameter", 1, 0, 'd', + "delete-parameter", required_argument, NULL, 'd', "Delete named parameter for resource.\n" "\t\t\t\tUse instance attribute unless --meta or --utilization is specified." }, { - "set-property", 1, 0, 'S', + "set-property", required_argument, NULL, 'S', "Set named property of resource ('class', 'type', or 'provider') (requires -r, -t, -v)", pcmk_option_hidden }, - {"-spacer-", 1, 0, '-', "\nResource location:"}, + { "-spacer-", no_argument, NULL, '-', "\nResource location:" }, { - "move", 0, 0, 'M', + "move", no_argument, NULL, 'M', "\t\tCreate a constraint to move resource. If --node is specified, the constraint\n" "\t\t\t\twill be to move to that node, otherwise it will be to ban the current node.\n" "\t\t\t\tUnless --force is specified, this will return an error if the resource is\n" @@ -203,7 +232,7 @@ static struct crm_option long_options[] "\t\t\t\tuntil the implicit constraint expires or is removed with --clear." }, { - "ban", 0, 0, 'B', + "ban", no_argument, NULL, 'B', "\t\tCreate a constraint to keep resource off a node. Optional: --node, --lifetime, --master.\n" "\t\t\t\tNOTE: This will prevent the resource from running on the affected node\n" "\t\t\t\tuntil the implicit constraint expires or is removed with --clear.\n" @@ -212,7 +241,7 @@ static struct crm_option long_options[] "\t\t\t\t(all other situations result in an error as there is no sane default).\n" }, { - "clear", 0, 0, 'U', + "clear", no_argument, NULL, 'U', "\t\tRemove all constraints created by the --ban and/or --move commands.\n" "\t\t\t\tRequires: --resource. Optional: --node, --master.\n" "\t\t\t\tIf --node is not specified, all constraints created by --ban and --move\n" @@ -220,115 +249,135 @@ static struct crm_option long_options[] "\t\t\t\tany constraint created by --move will be cleared, even if it is not for the specified node." }, { - "lifetime", 0, 0, 'u', - "\tLifespan (as ISO 8601 duration) of constraints created by the --ban and --move commands\n" + "lifetime", required_argument, NULL, 'u', + "\tLifespan (as ISO 8601 duration) of created constraints (with -B, -M)\n" "\t\t\t\t(see https://en.wikipedia.org/wiki/ISO_8601#Durations)" }, { - "master", 0, 0, 0, - "\t\tLimit the scope of the --ban, --move, and --clear commands to the Master role.\n" - "\t\t\t\tFor --ban and --move, the previous master may remain active in the Slave role." + "master", no_argument, NULL, 0, + "\t\tLimit scope of command to the Master role (with -B, -M, -U).\n" + "\t\t\t\tFor -B and -M, the previous master may remain active in the Slave role." }, - {"-spacer-", 1, 0, '-', "\nAdvanced Commands:"}, - {"delete", 0, 0, 'D', "\t\t(Advanced) Delete a resource from the CIB. Required: -t"}, - {"fail", 0, 0, 'F', "\t\t(Advanced) Tell the cluster this resource has failed"}, - {"restart", 0, 0, 0, "\t\t(Advanced) Tell the cluster to restart this resource and anything that depends on it"}, - {"wait", 0, 0, 0, "\t\t(Advanced) Wait until the cluster settles into a stable state"}, + { "-spacer-", no_argument, NULL, '-', "\nAdvanced Commands:" }, + { + "delete", no_argument, NULL, 'D', + "\t\t(Advanced) Delete a resource from the CIB. Required: -t" + }, + { + "fail", no_argument, NULL, 'F', + "\t\t(Advanced) Tell the cluster this resource has failed" + }, + { + "restart", no_argument, NULL, 0, + "\t\t(Advanced) Tell the cluster to restart this resource and anything that depends on it" + }, { - "force-demote", 0, 0, 0, + "wait", no_argument, NULL, 0, + "\t\t(Advanced) Wait until the cluster settles into a stable state" + }, + { + "force-demote", no_argument, NULL, 0, "\t(Advanced) Bypass the cluster and demote a resource on the local node.\n" "\t\t\t\tUnless --force is specified, this will refuse to do so if the cluster\n" "\t\t\t\tbelieves the resource is a clone instance already running on the local node." }, { - "force-stop", 0, 0, 0, + "force-stop", no_argument, NULL, 0, "\t(Advanced) Bypass the cluster and stop a resource on the local node." }, { - "force-start", 0, 0, 0, + "force-start", no_argument, NULL, 0, "\t(Advanced) Bypass the cluster and start a resource on the local node.\n" "\t\t\t\tUnless --force is specified, this will refuse to do so if the cluster\n" "\t\t\t\tbelieves the resource is a clone instance already running on the local node." }, { - "force-promote", 0, 0, 0, + "force-promote", no_argument, NULL, 0, "\t(Advanced) Bypass the cluster and promote a resource on the local node.\n" "\t\t\t\tUnless --force is specified, this will refuse to do so if the cluster\n" "\t\t\t\tbelieves the resource is a clone instance already running on the local node." }, { - "force-check", 0, 0, 0, + "force-check", no_argument, NULL, 0, "\t(Advanced) Bypass the cluster and check the state of a resource on the local node." }, - {"-spacer-", 1, 0, '-', "\nAdditional Options:"}, + { "-spacer-", no_argument, NULL, '-', "\nAdditional Options:" }, { - "node", 1, 0, 'N', + "node", required_argument, NULL, 'N', "\tNode name" }, - {"recursive", 0, 0, 0, "\tFollow colocation chains when using --set-parameter"}, { - "resource-type", 1, 0, 't', + "recursive", no_argument, NULL, 0, + "\tFollow colocation chains when using --set-parameter" + }, + { + "resource-type", required_argument, NULL, 't', "Resource XML element (primitive, group, etc.) (with -D)" }, - {"parameter-value", 1, 0, 'v', "Value to use with -p"}, { - "meta", 0, 0, 'm', + "parameter-value", required_argument, NULL, 'v', + "Value to use with -p" + }, + { + "meta", no_argument, NULL, 'm', "\t\tUse resource meta-attribute instead of instance attribute (with -p, -g, -d)" }, { - "utilization", 0, 0, 'z', + "utilization", no_argument, NULL, 'z', "\tUse resource utilization attribute instead of instance attribute (with -p, -g, -d)" }, { - "set-name", 1, 0, 's', + "set-name", required_argument, NULL, 's', "\t(Advanced) XML ID of attributes element to use (with -p, -d)" }, { - "nvpair", 1, 0, 'i', + "nvpair", required_argument, NULL, 'i', "\t(Advanced) XML ID of nvpair element to use (with -p, -d)" }, { - "timeout", 1, 0, 'T', + "timeout", required_argument, NULL, 'T', "\t(Advanced) Abort if command does not finish in this time (with --restart, --wait)" }, { - "force", 0, 0, 'f', + "force", no_argument, NULL, 'f', "\t\tIf making CIB changes, do so regardless of quorum.\n" "\t\t\t\tSee help for individual commands for additional behavior.\n" }, - - {"xml-file", 1, 0, 'x', NULL, pcmk_option_hidden}, + { + "xml-file", required_argument, NULL, 'x', + NULL, pcmk_option_hidden + }, /* legacy options */ - {"host-uname", 1, 0, 'H', NULL, pcmk_option_hidden}, - {"migrate", 0, 0, 'M', NULL, pcmk_option_hidden}, - {"un-migrate", 0, 0, 'U', NULL, pcmk_option_hidden}, - {"un-move", 0, 0, 'U', NULL, pcmk_option_hidden}, - - {"refresh", 0, 0, 'R', NULL, pcmk_option_hidden}, - {"reprobe", 0, 0, 'P', NULL, pcmk_option_hidden}, - - {"-spacer-", 1, 0, '-', "\nExamples:", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', "List the available OCF agents:", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', " crm_resource --list-agents ocf", pcmk_option_example}, - {"-spacer-", 1, 0, '-', "List the available OCF agents from the linux-ha project:", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', " crm_resource --list-agents ocf:heartbeat", pcmk_option_example}, - {"-spacer-", 1, 0, '-', "Move 'myResource' to a specific node:", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', " crm_resource --resource myResource --move --node altNode", pcmk_option_example}, - {"-spacer-", 1, 0, '-', "Allow (but not force) 'myResource' to move back to its original location:", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', " crm_resource --resource myResource --clear", pcmk_option_example}, - {"-spacer-", 1, 0, '-', "Stop 'myResource' (and anything that depends on it):", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', " crm_resource --resource myResource --set-parameter target-role --meta --parameter-value Stopped", pcmk_option_example}, - {"-spacer-", 1, 0, '-', "Tell the cluster not to manage 'myResource':", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', "The cluster will not attempt to start or stop the resource under any circumstances."}, - {"-spacer-", 1, 0, '-', "Useful when performing maintenance tasks on a resource.", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', " crm_resource --resource myResource --set-parameter is-managed --meta --parameter-value false", pcmk_option_example}, - {"-spacer-", 1, 0, '-', "Erase the operation history of 'myResource' on 'aNode':", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', "The cluster will 'forget' the existing resource state (including any errors) and attempt to recover the resource."}, - {"-spacer-", 1, 0, '-', "Useful when a resource had failed permanently and has been repaired by an administrator.", pcmk_option_paragraph}, - {"-spacer-", 1, 0, '-', " crm_resource --resource myResource --cleanup --node aNode", pcmk_option_example}, + {"host-uname", required_argument, NULL, 'H', NULL, pcmk_option_hidden}, + {"migrate", no_argument, NULL, 'M', NULL, pcmk_option_hidden}, + {"un-migrate", no_argument, NULL, 'U', NULL, pcmk_option_hidden}, + {"un-move", no_argument, NULL, 'U', NULL, pcmk_option_hidden}, + + {"refresh", no_argument, NULL, 'R', NULL, pcmk_option_hidden}, + {"reprobe", no_argument, NULL, 'P', NULL, pcmk_option_hidden}, + + {"-spacer-", 1, NULL, '-', "\nExamples:", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', "List the available OCF agents:", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', " crm_resource --list-agents ocf", pcmk_option_example}, + {"-spacer-", 1, NULL, '-', "List the available OCF agents from the linux-ha project:", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', " crm_resource --list-agents ocf:heartbeat", pcmk_option_example}, + {"-spacer-", 1, NULL, '-', "Move 'myResource' to a specific node:", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', " crm_resource --resource myResource --move --node altNode", pcmk_option_example}, + {"-spacer-", 1, NULL, '-', "Allow (but not force) 'myResource' to move back to its original location:", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', " crm_resource --resource myResource --clear", pcmk_option_example}, + {"-spacer-", 1, NULL, '-', "Stop 'myResource' (and anything that depends on it):", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', " crm_resource --resource myResource --set-parameter target-role --meta --parameter-value Stopped", pcmk_option_example}, + {"-spacer-", 1, NULL, '-', "Tell the cluster not to manage 'myResource':", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', "The cluster will not attempt to start or stop the resource under any circumstances."}, + {"-spacer-", 1, NULL, '-', "Useful when performing maintenance tasks on a resource.", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', " crm_resource --resource myResource --set-parameter is-managed --meta --parameter-value false", pcmk_option_example}, + {"-spacer-", 1, NULL, '-', "Erase the operation history of 'myResource' on 'aNode':", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', "The cluster will 'forget' the existing resource state (including any errors) and attempt to recover the resource."}, + {"-spacer-", 1, NULL, '-', "Useful when a resource had failed permanently and has been repaired by an administrator.", pcmk_option_paragraph}, + {"-spacer-", 1, NULL, '-', " crm_resource --resource myResource --cleanup --node aNode", pcmk_option_example}, {0, 0, 0, 0} };
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor