You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 16, 2025. It is now read-only.
3. Check if your host has the correct "radoslib" library installed (if not: then install radoslib version 2.0.0):
34
+
```bash
35
+
make check-radoslib
36
+
```
37
+
38
+
4. To install the local development environment
33
39
(_Note: This will install pre-commit in your local user context_):
34
40
```bash
35
41
make setup
36
42
```
37
43
38
-
4. To install the container-based environment
44
+
5. To install the container-based environment
39
45
```bash
40
46
make build-container
41
-
docker run -ti --mount type=bind,source="$(pwd)",target=/app/rookify/src/,readonly --workdir=/app/rookify/src rookify:latest
42
47
```
43
48
44
49
## Usage
45
-
__TODO__
46
50
47
-
Type `make` to get a list of available development specific commands.
51
+
**NOTE**: for testing purposes the [OSISM Testbed](https://github.com/osism/testbed) is used. The `Makefile` and example configuration (`config.example.osism.yaml`) have built in helper functions and examples for this test setup.
52
+
53
+
### Copy and adapt configuration files
54
+
55
+
Choose one of the configuration-examples found in the root of the working directory and copy it to `config.yml`:
56
+
57
+
```
58
+
ls config.example.*
59
+
# there is a specific example config for the OSISM testbed: config.example.osism.yaml
60
+
cp config.example.yml config.yaml
61
+
```
62
+
63
+
_Adapt the config.yml to your need_: especially enter the correct paths for ssh-keys, kubernetes configuration and ceph configuration (all these configuration files need to be provided!).
64
+
65
+
### Provide needed configuration files from target servers
66
+
67
+
Copy the needed configuration-files from the servers that need to be migrated from ceph to rook.
68
+
69
+
_Provide needed configuration files as written in the config.yml._ At least required are:
70
+
- ./ceph/ceph.conf (typically found in `/etc/ceph/` on a testbednode)
71
+
- ./ceph/ceph.admin.keyring (typically found in `/etc/ceph/` on a testbednode)
72
+
- kubernetes config of user (e.g. found in `~/.kube/config`)
73
+
- ssh key of the server (found at `./terraform/.id.rsa` in the `testbed` directory)
74
+
75
+
Note:
76
+
- for the testbed there is a helper script to download the configs from the testbed. These helperscripts need correct `.ssh/config` entries to work (take a look at [scripts/osism/get_configs_from_testbed](osism/get_configs_from_testbed.sh) for an example).
77
+
- the helper scripts are merely there to help for testing with the [OSISM testbed](https://github.com/osism/testbed) and might not suit your purposes.
78
+
79
+
### Run Rookify
80
+
81
+
Now decide on how to run rookify. Either run it from within a container or locally:
82
+
83
+
```
84
+
run-local-rookify
85
+
# or
86
+
run-rookify
87
+
```
88
+
89
+
Then sit back and wait. Check the [troubleshooting](#troubleshooting) and [support](#support) sections if any issues occur.
90
+
91
+
For other options you can also check the makefile: Type `make` to get a list of available commands.
92
+
93
+
### Check status of migration
94
+
95
+
Use `rookify --show-states` argument to let each module check for its state in the migration
96
+
97
+
```bash
98
+
.venv/bin/rookify --show-states
99
+
ceph mon dump: Not analyzed yet
100
+
ceph osd dump: Not analyzed yet
101
+
OSD devices: Not analyzed yet
102
+
```
103
+
104
+
#### Troubleshooting
105
+
106
+
**ssh-issues:**
107
+
- make sure the id-rsa keys are "clean" and do not contain unexpected strings like "\<\<EOF". E.g. call `ssh-keygen -p -N "" -f ssh.key` to convert and reformat the keyfile to the expected format.
108
+
- allow direnv (`direnv allow`) to use `.envrc` or copy and execute the command from the file: this switches off the ssh-agent, which sometimes has too many keys loaded
109
+
110
+
**frozen state:**
111
+
- if the rookify process freezes, check your connections. In the OSISM testbed especially check the vpn-connection (in testbed repository try `make vpn-*`)
48
112
49
113
## Support
114
+
50
115
For issues, questions, or contributions, please open an issue or pull request in the GitHub repository. We welcome community feedback and contributions to enhance rookify.
51
116
117
+
52
118
## License
53
119
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
0 commit comments