redis-cli --cluster-yes - negate force flag for clarity

this internal flag is there so that some commands do not comply to `--cluster-yes`
This commit is contained in:
Oran Agra 2020-08-05 12:18:44 +03:00
parent c6ac2588db
commit f519dcb216

View File

@ -1803,10 +1803,10 @@ static void usage(void) {
exit(1);
}
static int confirmWithYes(char *msg, int force) {
/* if force is true and --cluster-yes option is on,
static int confirmWithYes(char *msg, int ignore_force) {
/* if --cluster-yes option is set and ignore_force is false,
* do not prompt for an answer */
if (force &&
if (!ignore_force &&
(config.cluster_manager_command.flags & CLUSTER_MANAGER_CMD_FLAG_YES)) {
return 1;
}
@ -4500,7 +4500,7 @@ static int clusterManagerFixSlotsCoverage(char *all_slots) {
dictReleaseIterator(iter);
/* we want explicit manual confirmation from users for all the fix cases */
int force = 0;
int ignore_force = 1;
/* Handle case "1": keys in no node. */
if (listLength(none) > 0) {
@ -4508,7 +4508,7 @@ static int clusterManagerFixSlotsCoverage(char *all_slots) {
"across the cluster:\n");
clusterManagerPrintSlotsList(none);
if (confirmWithYes("Fix these slots by covering with a random node?",
force)) {
ignore_force)) {
listIter li;
listNode *ln;
listRewind(none, &li);
@ -4535,7 +4535,7 @@ static int clusterManagerFixSlotsCoverage(char *all_slots) {
printf("The following uncovered slots have keys in just one node:\n");
clusterManagerPrintSlotsList(single);
if (confirmWithYes("Fix these slots by covering with those nodes?",
force)) {
ignore_force)) {
listIter li;
listNode *ln;
listRewind(single, &li);
@ -4567,7 +4567,7 @@ static int clusterManagerFixSlotsCoverage(char *all_slots) {
printf("The following uncovered slots have keys in multiple nodes:\n");
clusterManagerPrintSlotsList(multi);
if (confirmWithYes("Fix these slots by moving keys "
"into a single node?", force)) {
"into a single node?", ignore_force)) {
listIter li;
listNode *ln;
listRewind(multi, &li);
@ -5530,8 +5530,8 @@ assign_replicas:
}
clusterManagerOptimizeAntiAffinity(ip_nodes, ip_count);
clusterManagerShowNodes();
int force = 1;
if (confirmWithYes("Can I set the above configuration?", force)) {
int ignore_force = 0;
if (confirmWithYes("Can I set the above configuration?", ignore_force)) {
listRewind(cluster_manager.nodes, &li);
while ((ln = listNext(&li)) != NULL) {
clusterManagerNode *node = ln->value;