Skip to content

Support "dry run" mode #1267

@AstroProfundis

Description

@AstroProfundis

Feature Request

(This was an old and long-forgotten issue from the prototype version of tiup-cluster (tiops was its name) in our private repo, I copy it here in public so that someone might be interested to give some advises and / or work on it.)

Add support for --dry-run argument that only do basic checks and list effected nodes but not actually perform the operation.

  • Support --dry-run global argument
  • Perform basic checks with dry run mode
  • List effected nodes and test SSH connections / credentials to them
  • List rendered commands to be run on each host but not perform actual operations in dry run mode

When a user manages a large cluster, it could be confusing for them to estimate the amount of servers being effected or how many operations are being processed. By using dry run mode, users could get a list of servers that would be affected and major operations that would be processed, and get a chance to review their change plans.

This could also help users to find configuration errors before actually affecting the service.

The dry run mode should be a global parameter of tiup-cluster/tiup-dm/etc. commands, and users use it the same way as normal operations.

As of now (after v1.4.0 has been released), it might be possible to reuse some of the infrastructures from replay subcommand (the "checkpoint" design) to implement dry run mode.

Metadata

Metadata

Assignees

Labels

difficulty/hardIndicates that a issue is hard to resolve.help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.type/feature-requestCategorizes issue as related to a new feature.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions