Skip to content
This repository was archived by the owner on Dec 13, 2023. It is now read-only.

Conversation

nerpaula
Copy link
Contributor

@nerpaula nerpaula commented Sep 29, 2022

@nerpaula nerpaula self-assigned this Sep 29, 2022
Copy link
Contributor

@nikita-vanyasin nikita-vanyasin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added some comments / suggestions.

@nerpaula nerpaula marked this pull request as ready for review October 4, 2022 09:03
Copy link

@Robert-Stam Robert-Stam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some questions/remarks

When starting the migration, specify the generated files on the command line:

```bash
--agent.cacert=tls.crt --agent.keyfile=tls.keyfile --agent.client-auth-cacert=client-auth-ca.crt --agent.client-auth-keyfile=client-auth.keyfile

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what about reformat with \

how does this relates to the source.cacert and source.keyfile

as dummy I don't know what to do tbh

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Robert-Stam

source.* params are related to setting up connection to local cluster.
agent.* params are related to configuring local arangosync migration agent. These certificate options are not required.


An optional `--abort` option is supported. If specified, the `stop` command
will not check anymore if both deployments are in-sync and stops all
migration-related processes as soon as possible.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what happens with RO statuses in this case?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Robert-Stam
Source cluster will not be switched into read-only mode. The target will be switched back to default read-write

--source.server-mode=readonly
```
The `--source.server-mode` option allows you to specify the desired server mode.
Allowed values are `readonly` or `default`.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about RO/default mode for the Oasis deployment?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Robert-Stam for now it is not clear why user will want to switch the read only mode at target deployment manually. We can add such feature in next versions if needed.


### Switching the local cluster to read-only mode

The `arangosync-migration set-server-mode` command allows switching [read-only mode](../http/administration-and-monitoring.html#update-whether-or-not-a-server-is-in-read-only-mode)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This need to be done in rare situations only, right? what is the actual scenario we need to use this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Robert-Stam
I see two scenarios where it can be useful (both described at the end of the doc):

  1. user can switch the source deployment into read-only mode before calling stop - it will allow the synchronisation to catch up. stop does the same before actually stopping but has some timeouts (which may be exceeded if arangodb is experiencing a lot of writes for a long period).
  2. In future, the stop command will switch the source deployment into 'read-only' mode by default - it is currently not implemented. But user may want to switch it back to default read/write for his own reasons.
You can use the `set-server-mode`
subcommand to switch it back to default, if needed.
In case something goes wrong during the migration, the `stop` command is not
switching the source data cluster into read-only mode.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How can I execute a 'dry-run', so a try to move everything into oasis without my source deployment does into RO mode. This can be good for an initial test phase. However I want to end-up with a non RO Oasis deployment as well, so I can execute test on that.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Robert-Stam - as already discussed before - 'dry-run' is not implemented for now, unfortunately. That is for next iterations. And target deployment of course will go into default read/write mode after stopping the sync.

@ansoboleva ansoboleva merged commit bca0196 into main Oct 5, 2022
@ansoboleva ansoboleva deleted the DOC-189/migration-tool branch October 5, 2022 08:48
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

5 participants