Skip to content

tt cluster worker delete implementation #5667

@TarantoolBot

Description

@TarantoolBot

Implement tt cluster worker delete command for deleting worker
configurations from etcd or tarantool config storage (TCS). The command
accepts a URL with format:

http(s)://[username:password@]host:port/prefix/host-name/worker-name
  • prefix - a base path to the worker configuration.
  • host-name - a name of the host.
  • worker-name - a name of the worker.

Possible arguments:

  • timeout - a request timeout in seconds (default 3.0).
  • ssl_key_file - a path to a private SSL key file.
  • ssl_cert_file - a path to an SSL certificate file.
  • ssl_ca_file - a path to a trusted certificate authorities
    (CA) file.
  • ssl_ca_path - a path to a trusted certificate authorities
    (CA) directory.
  • ssl_ciphers - a list of allowed SSL ciphers.
  • verify_host - set off (default true) verification of the
    certificate's name against the host.
  • verify_peer - set off (default true) verification of the peer's
    SSL certificate.

The command supports the following environment variables:

  • TT_CLI_USERNAME - specifies a Tarantool username;
  • TT_CLI_PASSWORD - specifies a Tarantool password.
  • TT_CLI_ETCD_USERNAME - specifies a Etcd username;
  • TT_CLI_ETCD_PASSWORD - specifies a Etcd password.

The priority of credentials:

environment variables < command flags < URL credentials.

Usage:

tt cluster worker delete <URI>

Supported flags:

--force             force delete and skip existence check

-h, --help help for delete
-p, --password string password (used as etcd/tarantool config
storage credentials)
-u, --username string username (used as etcd/tarantool config
storage credentials)

Example:

tt cluster worker delete \
  https://user:pass@localhost:2379/cluster/workers/host/server-1

The implementation uses go-storage library for both etcd and TCS.
Without --force flag, it atomically checks that the key exists
(using predicate.VersionNotEqual) before deleting. With --force flag,
it deletes the configuration unconditionally.

Closes TNTP-7061
Requested by @oleg-jukovec in tarantool/tt@7d9631d.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions