Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support setting instance name (not uuid or uri) for bootstrap_leader cfg option #8539

Closed
sergepetrenko opened this issue Apr 5, 2023 · 0 comments · Fixed by #8729
Closed
Assignees
Labels
3.0 Target is 3.0 and all newer release/master branches feature A new functionality replication

Comments

@sergepetrenko
Copy link
Collaborator

Once #8289 is finished, support setting bootstrap_leader's name in addition to its uuid and uri.

@sergepetrenko sergepetrenko added the feature A new functionality label Apr 5, 2023
@sergepetrenko sergepetrenko self-assigned this Apr 5, 2023
@sergos sergos added the 3.0 Target is 3.0 and all newer release/master branches label May 17, 2023
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue May 31, 2023
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 1, 2023
Make it possible to specify the bootstrap leader via an instance name in
addition to its URI and UUID.

Closes tarantool#8539

@TarantoolBot document
Title: `box.cfg.bootstrap_leader` accepts instance names now

The option `box.cfg.bootstrap_leader`, which specifies the desired
bootstrap leader when bootstrap_strategy is "config" now accepts
instance names.

For example, this is a valid config without replication:
```lua
box.cfg{
    instance_name = 'main-server',
    bootstrap_strategy = 'config',
    bootstrap_leader = 'main-server'
}
```

When `box.cfg` contains some entries in `replication`, the node will
bootstrap from whatever node which has its `box.cfg.instance_name` set
to the same value as specified in `box.cfg.bootstrap_leader`.

This is an addition to tarantool/doc#3432
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 1, 2023
Make it possible to specify the bootstrap leader via an instance name in
addition to its URI and UUID.

Closes tarantool#8539

@TarantoolBot document
Title: `box.cfg.bootstrap_leader` accepts instance names now

The option `box.cfg.bootstrap_leader`, which specifies the desired
bootstrap leader when bootstrap_strategy is "config" now accepts
instance names.

For example, this is a valid config without replication:
```lua
box.cfg{
    instance_name = 'main-server',
    bootstrap_strategy = 'config',
    bootstrap_leader = 'main-server'
}
```

When `box.cfg` contains some entries in `replication`, the node will
bootstrap from whatever node which has an instance name specified in
`box.cfg.bootstrap_leader`.

This is an addition to tarantool/doc#3432
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 1, 2023
Node's ballot contains all the information necessary to choose it a
bootstrap leader. Since the bootstrap_leader configuration option will
allow specifying bootstrap leader's name, we have to broadcast the name
in node's ballot.

Prerequisite tarantool#8539

NO_CHANGELOG=not user-visible

@TarantoolBot document
Title: new field in nodes BALLOT: IPROTO_BALLOT_INSTANCE_NAME

The node's ballot (IPROTO_BALLOT) receives a new field:
The name of the node (the same as in box.cfg.instance_name or
box.info.name):
Key: IPROTO_BALLOT_INSTANCE_NAME = 0x10
Value: MP_STR, representing the instance name.
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 1, 2023
Make it possible to specify the bootstrap leader via an instance name in
addition to its URI and UUID.

Closes tarantool#8539

@TarantoolBot document
Title: `box.cfg.bootstrap_leader` accepts instance names now

The option `box.cfg.bootstrap_leader`, which specifies the desired
bootstrap leader when bootstrap_strategy is "config" now accepts
instance names.

For example, this is a valid config without replication:
```lua
box.cfg{
    instance_name = 'main-server',
    bootstrap_strategy = 'config',
    bootstrap_leader = 'main-server'
}
```

When `box.cfg` contains some entries in `replication`, the node will
bootstrap from whatever node which has an instance name specified in
`box.cfg.bootstrap_leader`.

This is an addition to tarantool/doc#3432
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 1, 2023
Node's ballot contains all the information necessary to choose it a
bootstrap leader. Since the bootstrap_leader configuration option will
allow specifying bootstrap leader's name, we have to broadcast the name
in node's ballot.

Prerequisite tarantool#8539

NO_CHANGELOG=not user-visible

@TarantoolBot document
Title: new field in node's BALLOT: IPROTO_BALLOT_INSTANCE_NAME

The node's ballot (IPROTO_BALLOT) receives a new field:
the name of the node (the same as in box.cfg.instance_name or
box.info.name):
Key: IPROTO_BALLOT_INSTANCE_NAME = 0x10
Value: MP_STR, representing the instance name.
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 1, 2023
Make it possible to specify the bootstrap leader via an instance name in
addition to its URI and UUID.

Closes tarantool#8539

@TarantoolBot document
Title: `box.cfg.bootstrap_leader` accepts instance names now

The option `box.cfg.bootstrap_leader`, which specifies the desired
bootstrap leader when bootstrap_strategy is "config" now accepts
instance names.

For example, this is a valid config without replication:
```lua
box.cfg{
    instance_name = 'main-server',
    bootstrap_strategy = 'config',
    bootstrap_leader = 'main-server'
}
```

When `box.cfg` contains some entries in `replication`, the node will
bootstrap from the node which has the instance name specified in
`box.cfg.bootstrap_leader`.

This is an addition to tarantool/doc#3432
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 2, 2023
Node's ballot contains all the information necessary to choose it a
bootstrap leader. Since the bootstrap_leader configuration option will
allow specifying bootstrap leader's name, we have to broadcast the name
in node's ballot.

Prerequisite tarantool#8539

NO_CHANGELOG=not user-visible

@TarantoolBot document
Title: new field in node's BALLOT: IPROTO_BALLOT_INSTANCE_NAME

The node's ballot (IPROTO_BALLOT) receives a new field:
the name of the node (the same as in box.cfg.instance_name or
box.info.name):
Key: IPROTO_BALLOT_INSTANCE_NAME = 0x0a
Value: MP_STR, representing the instance name.
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 2, 2023
Make it possible to specify the bootstrap leader via an instance name in
addition to its URI and UUID.

Closes tarantool#8539

@TarantoolBot document
Title: `box.cfg.bootstrap_leader` accepts instance names now

The option `box.cfg.bootstrap_leader`, which specifies the desired
bootstrap leader when bootstrap_strategy is "config" now accepts
instance names.

For example, this is a valid config without replication:
```lua
box.cfg{
    instance_name = 'main-server',
    bootstrap_strategy = 'config',
    bootstrap_leader = 'main-server'
}
```

When `box.cfg` contains some entries in `replication`, the node will
bootstrap from the node which has the instance name specified in
`box.cfg.bootstrap_leader`.

This is an addition to tarantool/doc#3432
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 2, 2023
Node's ballot contains all the information necessary to choose it a
bootstrap leader. Since the bootstrap_leader configuration option will
allow specifying bootstrap leader's name, we have to broadcast the name
in node's ballot.

Prerequisite tarantool#8539

NO_CHANGELOG=not user-visible

@TarantoolBot document
Title: new field in node's BALLOT: IPROTO_BALLOT_INSTANCE_NAME

The node's ballot (IPROTO_BALLOT) receives a new field:
the name of the node (the same as in box.cfg.instance_name or
box.info.name):
Key: IPROTO_BALLOT_INSTANCE_NAME = 0x0a
Value: MP_STR, representing the instance name.
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 2, 2023
Make it possible to specify the bootstrap leader via an instance name in
addition to its URI and UUID.

Closes tarantool#8539

@TarantoolBot document
Title: `box.cfg.bootstrap_leader` accepts instance names now

The option `box.cfg.bootstrap_leader`, which specifies the desired
bootstrap leader when bootstrap_strategy is "config" now accepts
instance names.

For example, this is a valid config without replication:
```lua
box.cfg{
    instance_name = 'main-server',
    bootstrap_strategy = 'config',
    bootstrap_leader = 'main-server'
}
```

When `box.cfg` contains some entries in `replication`, the node will
bootstrap from the node which has the instance name specified in
`box.cfg.bootstrap_leader`.

This is an addition to tarantool/doc#3432
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 6, 2023
Node's ballot contains all the information necessary to choose it a
bootstrap leader. Since the bootstrap_leader configuration option will
allow specifying bootstrap leader's name, we have to broadcast the name
in node's ballot.

Prerequisite tarantool#8539

NO_CHANGELOG=not user-visible

@TarantoolBot document
Title: new field in node's BALLOT: IPROTO_BALLOT_INSTANCE_NAME

The node's ballot (IPROTO_BALLOT) receives a new field:
the name of the node (the same as in box.cfg.instance_name or
box.info.name):
Key: IPROTO_BALLOT_INSTANCE_NAME = 0x0a
Value: MP_STR, representing the instance name.
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 6, 2023
Make it possible to specify the bootstrap leader via an instance name in
addition to its URI and UUID.

While I'm at it, change the argument order of box_check_node_name() to
comply with box_check_uuid/uri/uri_set().

Closes tarantool#8539

@TarantoolBot document
Title: `box.cfg.bootstrap_leader` accepts instance names now

The option `box.cfg.bootstrap_leader`, which specifies the desired
bootstrap leader when bootstrap_strategy is "config" now accepts
instance names.

For example, this is a valid config without replication:
```lua
box.cfg{
    instance_name = 'main-server',
    bootstrap_strategy = 'config',
    bootstrap_leader = 'main-server'
}
```

When `box.cfg` contains some entries in `replication`, the node will
bootstrap from the node which has the instance name specified in
`box.cfg.bootstrap_leader`.

This is an addition to tarantool/doc#3432
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 7, 2023
Node's ballot contains all the information necessary to choose it a
bootstrap leader. Since the bootstrap_leader configuration option will
allow specifying bootstrap leader's name, we have to broadcast the name
in node's ballot.

Prerequisite tarantool#8539

NO_CHANGELOG=not user-visible

@TarantoolBot document
Title: new field in node's BALLOT: IPROTO_BALLOT_INSTANCE_NAME

The node's ballot (IPROTO_BALLOT) receives a new field:
the name of the node (the same as in box.cfg.instance_name or
box.info.name):
Key: IPROTO_BALLOT_INSTANCE_NAME = 0x0a
Value: MP_STR, representing the instance name.
sergepetrenko added a commit to sergepetrenko/tarantool that referenced this issue Jun 7, 2023
Make it possible to specify the bootstrap leader via an instance name in
addition to its URI and UUID.

While I'm at it, change the argument order of box_check_node_name() to
comply with box_check_uuid/uri/uri_set().

Closes tarantool#8539

@TarantoolBot document
Title: `box.cfg.bootstrap_leader` accepts instance names now

The option `box.cfg.bootstrap_leader`, which specifies the desired
bootstrap leader when bootstrap_strategy is "config" now accepts
instance names.

For example, this is a valid config without replication:
```lua
box.cfg{
    instance_name = 'main-server',
    bootstrap_strategy = 'config',
    bootstrap_leader = 'main-server'
}
```

When `box.cfg` contains some entries in `replication`, the node will
bootstrap from the node which has the instance name specified in
`box.cfg.bootstrap_leader`.

This is an addition to tarantool/doc#3432
sergepetrenko added a commit that referenced this issue Jun 8, 2023
Node's ballot contains all the information necessary to choose it a
bootstrap leader. Since the bootstrap_leader configuration option will
allow specifying bootstrap leader's name, we have to broadcast the name
in node's ballot.

Prerequisite #8539

NO_CHANGELOG=not user-visible

@TarantoolBot document
Title: new field in node's BALLOT: IPROTO_BALLOT_INSTANCE_NAME

The node's ballot (IPROTO_BALLOT) receives a new field:
the name of the node (the same as in box.cfg.instance_name or
box.info.name):
Key: IPROTO_BALLOT_INSTANCE_NAME = 0x0a
Value: MP_STR, representing the instance name.
sergepetrenko added a commit that referenced this issue Jun 8, 2023
Make it possible to specify the bootstrap leader via an instance name in
addition to its URI and UUID.

While I'm at it, change the argument order of box_check_node_name() to
comply with box_check_uuid/uri/uri_set().

Closes #8539

@TarantoolBot document
Title: `box.cfg.bootstrap_leader` accepts instance names now

The option `box.cfg.bootstrap_leader`, which specifies the desired
bootstrap leader when bootstrap_strategy is "config" now accepts
instance names.

For example, this is a valid config without replication:
```lua
box.cfg{
    instance_name = 'main-server',
    bootstrap_strategy = 'config',
    bootstrap_leader = 'main-server'
}
```

When `box.cfg` contains some entries in `replication`, the node will
bootstrap from the node which has the instance name specified in
`box.cfg.bootstrap_leader`.

This is an addition to tarantool/doc#3432
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.0 Target is 3.0 and all newer release/master branches feature A new functionality replication
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants