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

feat: add guide docs for rookify #688

Merged
merged 17 commits into from
Nov 29, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/guides/configuration-guide/rookify.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ sidebar_position: 31
:::warning

Rookify is developed to migrate from Ceph-Ansible to Rook _in place_ and _without downtime_.
Nevertheless, it is **strongly advised** to test Rookify in a controlled environment first, such as the [OSISM testbed](https://github.com/osism/testbed). Addition ure that precautionary backups are made, and all other necessary safety measures are in place.
Nevertheless, it is **strongly advised** to test Rookify in a controlled environment first, such as the [OSISM testbed](https://github.com/osism/testbed). Additionally ensure that precautionary backups are made and all other necessary safety measures are in place.

:::

For a condensed summary of the information covered here, refer to the [Rookify GitHub repository](https://github.com/SovereignCloudStack/rookify).

## Config.yaml

The primary configuration file for Rookify is `config.yaml`. The repository includes an example file for general use, as well as one specifically tailored for the OSISM testbed setup:
The primary configuration file for Rookify is `config.yaml`. The repository includes an example file for general use, as well as one specifically tailored for OSISM based setups:

- [config.example.yaml](https://github.com/SovereignCloudStack/rookify/blob/main/config.example.yaml)
- [config.example.osism.yaml](https://github.com/SovereignCloudStack/rookify/blob/main/config.example.osism.yaml)
Expand All @@ -30,7 +30,7 @@ general:
machine_pickle_file: data.pickle
```

The `general` section allows for the optional definition of a pickle file, which saves the state of the migration as serialized objects on disk. The pickle filed can be named as desired.
The `general` section allows for the optional definition of a pickle file, which saves the state of the migration as serialized objects on disk. The pickle file can be named as desired.

#### Logging

Expand Down
3 changes: 2 additions & 1 deletion docs/guides/deploy-guide/rookify.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import TabItem from '@theme/TabItem';
:::warning

Rookify is developed to migrate from Ceph-Ansible to Rook _in place_ and _without downtime_.
Nevertheless, it is **strongly advised** to test Rookify in a controlled environment first, such as the [OSISM testbed](https://github.com/osism/testbed). Additionally, ensure that precautionary backups are made, and all other necessary safety measures are in place.
Nevertheless, it is **strongly advised** to test Rookify in a controlled environment first, such as the [OSISM testbed](https://github.com/osism/testbed). Additionally ensure that precautionary backups are made and all other necessary safety measures are in place.

:::

Expand All @@ -26,6 +26,7 @@ For a condensed summary of the information covered here, refer to the [Rookify G
- A functioning Ceph cluster deployed using traditional methods.
- Access to a Kubernetes cluster with sufficient resources to host the migrated Ceph cluster.
- Kubernetes nodes must be deployed on at least the OSD nodes.
boekhorstb1 marked this conversation as resolved.
Show resolved Hide resolved
- Monitor and OSD daemons should stay in place. Former to ensure that the Ceph endpoints do not change during migration, the later ones to have access to the underlying hardware.
- Rook operator version 1.13 or higher installed on the Kubernetes cluster.
- `radoslib` version 2.0.0 installed.
- For a _dockerized setup_, `docker` and `docker compose` are required.
Expand Down
18 changes: 13 additions & 5 deletions docs/guides/operations-guide/rookify.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sidebar_label: Rookify (technical preview)
:::warning

Rookify is developed to migrate from Ceph-Ansible to Rook _in place_ and _without downtime_.
Nevertheless, it is **strongly advised** to test Rookify in a controlled environment first, such as the [OSISM testbed](https://github.com/osism/testbed). Additionally, ensure that precautionary backups are made, and all other necessary safety measures are in place.
Nevertheless, it is **strongly advised** to test Rookify in a controlled environment first, such as the [OSISM testbed](https://github.com/osism/testbed). Additionally ensure that precautionary backups are made and all other necessary safety measures are in place.

:::

Expand All @@ -22,7 +22,7 @@ general:
machine_pickle_file: data.pickle
```

You can then view the migration progress by running `rookify --show-state`.
You can then view the migration progress by running `rookify --show-states`.

:::warning
Rookify treats the pickle file as a source of truth for its operations. If you want to start a clean migration, ensure you delete the file first.
Expand All @@ -44,15 +44,23 @@ Rookify runs in preflight mode by default, meaning it performs all preflight che
Run preflight-mode to ensure Rookify can connect to your target systems.
:::

Rookify's `preflight-mode` allows you to verify that basic commands and connections to the target systems are functioning correctly. Running `--dry-run` mode ensures no migration processes are executed.
Rookify's `preflight-mode` allows you to verify that basic commands and connections to the target systems are functioning correctly. Running `--dry-run` or `-d` mode ensures no migration processes are executed.

### --migrate

:::tip
Ensure that you use the correct `data.pickle` file. If you used the pickle file for other setups previously, be sure to delete it.
:::

Rookify's `execution-mode` allows you to run the migration. This a point of no (easy) return. Be sure to check all your configurations. Run `--migrate` or `-m` to execute the migration process.

Choose a reason for hiding this comment

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

nit: ... This is a point of no (easy) return ...


### --help
boekhorstb1 marked this conversation as resolved.
Show resolved Hide resolved

Run `rookify --help` to view the various CLI options available.

### --show
### --show-states

Run `--show` to display the status of your migration process. Note that if you specified a pickle file, Rookify will use it to determine the state of migration.
Run `--show-states` or `-s` to display the status of your migration process. Note that if you specified a pickle file, Rookify will use it to determine the state of migration.

## Debugging and Testing

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/troubleshooting-guide/rookify.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ sidebar_position: 40
:::warning

Rookify is developed to migrate from Ceph-Ansible to Rook _in place_ and _without downtime_.
Nevertheless, it is **strongly advised** to test Rookify in a controlled environment first, such as the [OSISM testbed](https://github.com/osism/testbed). Additionally, ensure that precautionary backups are made, and all other necessary safety measures are in place.
Nevertheless, it is **strongly advised** to test Rookify in a controlled environment first, such as the [OSISM testbed](https://github.com/osism/testbed). Additionally ensure that precautionary backups are made and all other necessary safety measures are in place.

:::

Expand Down
Loading