tarantool / tarantool/tt

`tt replicaset` fails to recognize the `custom` orchestrator type for applications without configuration

Open
#1,001 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1sp bug teamE
Dominant language
Go
Stars
113
Forks
18
Avg merge
4d 11h
Merged PRs (30d)
23

Description

Problem Description

When working with applications that lack a configuration, the tt replicaset command is unable to determine the custom orchestrator type. For instance, the following issue occurs when attempting to use tt replicaset with such an application:

  1. Starting a single application:
/start-from-snap $ tree
.
├── init.lua
├── ready
├── tt.yaml
└── var
    ├── lib
    │   └── start-from-snap
    │       └── 00000000000000000000.snap
    ├── log
    │   └── start-from-snap
    │       └── tt.log
    └── run
        └── start-from-snap
            ├── tarantool.control
            ├── tarantool.sock
            └── tt.pid
  1. Checking the application status:
/start-from-snap $ tt status
 INSTANCE         STATUS   PID   MODE  CONFIG         BOX      UPSTREAM
 start-from-snap  RUNNING  3127  RW    uninitialized  running  --
  1. Attempting to check the application replicates status:
/start-from-snap $ tt replicaset status start-from-snap
   ⨯ config:get(): no instance config available yet

But if you configure the orchestrator manually, then everything is ok.

/start-from-snap $ tt replicaset status start-from-snap --custom
Orchestrator:      custom
Replicasets state: bootstrapped

• 8a89be87-43af-4f0f-82f2-23e56959b2a3
  Failover: unknown
  Master:   single
    • start-from-snap unix/:/.../start-from-snap/tarantool.sock rw
Discussion

The error config:get(): no instance config available yet indicates that the tt replicaset command does not handle applications without a defined configuration. According to the discussion, this appears to be a missing implementation for the custom orchestrator type, which should be used in such cases.

Discussion: https://github.com/tarantool/tt/pull/936#discussion_r1817006860

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the tt replicaset command entry point and reproduce the reported tt replicaset status start-from-snap case using an application without configuration. Compare it with the explicit --custom invocation and the discussion linked in the issue. Done means the command recognizes the custom orchestrator automatically and reports replicaset status without the configuration error.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.