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

docs: update external docs with a better structure #14718

Merged
merged 1 commit into from
Sep 20, 2024

Conversation

parth-gr
Copy link
Member

step1 to improve the external docs
and make it more clear to end user

Checklist:

  • Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
  • Reviewed the developer guide on Submitting a Pull Request
  • Pending release notes updated with breaking and/or notable changes for the next minor release.
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.


### 1. Create all users and keys
* [Commands on the K8s consumer cluster](/Documentation/CRDs/Cluster/external-cluster/consumer-cluster.md)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* [Commands on the K8s consumer cluster](/Documentation/CRDs/Cluster/external-cluster/consumer-cluster.md)
1. [Import config to the Rook consumer cluster](/Documentation/CRDs/Cluster/external-cluster/consumer-cluster.md). The configuration exported from the Ceph cluster is imported to Rook to provide the needed connection details. Steps are provided to validate the connection as well.


In order to configure an external Ceph cluster with Rook, we need to extract some information in order to connect to that cluster.
* [Extract data from Provider Ceph cluster](/Documentation/CRDs/Cluster/external-cluster/provider-cluster.md)
Copy link
Member

Choose a reason for hiding this comment

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

How about including a sentence or two with each of these links that describes the export action? Something like this?

Suggested change
* [Extract data from Provider Ceph cluster](/Documentation/CRDs/Cluster/external-cluster/provider-cluster.md)
1. [Export config from the Provider Ceph cluster](/Documentation/CRDs/Cluster/external-cluster/provider-cluster.md). Configuration must be exported by the Ceph admin, such as a Ceph keyring and mon endpoints, that allows connection to the Ceph cluster.

Also, let's make this a numbered list so it is clear the steps are ordered.


Run the python script [create-external-cluster-resources.py](https://github.com/rook/rook/blob/master/deploy/examples/external/create-external-cluster-resources.py) for creating all users and keys.
* [Verify the cluster connection](/Documentation/CRDs/Cluster/external-cluster/consumer-cluster.md#cluster-verification)
Copy link
Member

Choose a reason for hiding this comment

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

This is part of the import in the previous step, so perhaps we don't need this step. It can be mentioned in the previously bullet.

@@ -19,324 +19,26 @@ Create the desired types of storage in the provider Ceph cluster:
* [RBD pools](https://docs.ceph.com/en/latest/rados/operations/pools/#create-a-pool)
* [CephFS filesystem](https://docs.ceph.com/en/quincy/cephfs/createfs/)

## Commands on the source Ceph cluster
## Steps to connect external Provider cluster to Consumer cluster
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
## Steps to connect external Provider cluster to Consumer cluster
## Connect the external Ceph Provider cluster to the Rook consumer cluster

```console
python3 create-external-cluster-resources.py --rbd-data-pool-name <pool_name> --cephfs-filesystem-name <filesystem-name> --rgw-endpoint <rgw-endpoint> --namespace <namespace> --format bash
```
## Advance Features
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
## Advance Features
## Advanced Options

@@ -0,0 +1,53 @@
# Upgrade external cluster
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
# Upgrade external cluster
# External Cluster Upgrades

1) An existing non-restricted user cannot be converted to a restricted user by upgrading.
2) The upgrade flag should only be used to append new permissions to users. It shouldn't be used for changing a CSI user already applied permissions. For example, be careful not to change pools(s) that a user has access to.

# Upgrade cluster to utilize new feature
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
# Upgrade cluster to utilize new feature
## Upgrade cluster to utilize a new feature


* arg: Exact arguments that were used for for processing the script. Argument that are decided using the Priority: command-line-args > config.ini file values > default values.

## Example `external-cluster-user-command` ConfigMap:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
## Example `external-cluster-user-command` ConfigMap:
### Example `external-cluster-user-command` ConfigMap:

@@ -1,3 +1,7 @@
nav:
- external-cluster.md
- topology-for-external-mode.md
- advance-external.md
Copy link
Member

Choose a reason for hiding this comment

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

Let's have these topics match the order that the user will need to run them. I would think the following order, and possibly rename. Seems like the topology topic should be last in the list.

  • external-cluster.md
  • provider-cluster.md --> provider-export.md
  • consumer-cluster.md --> consumer-import.md
  • upgrade-external.md
  • topology-for-external-mode.md

@parth-gr parth-gr force-pushed the external-doc-structure branch from 7d327d6 to e9c2c52 Compare September 16, 2024 09:17
@parth-gr parth-gr requested a review from travisn September 16, 2024 09:17
@parth-gr parth-gr force-pushed the external-doc-structure branch from e9c2c52 to ad7457f Compare September 16, 2024 09:20
Copy link
Member

@travisn travisn left a comment

Choose a reason for hiding this comment

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

just a few nits


### 1. Create all users and keys
2) [Import config to the Rook consumer cluster](/Documentation/CRDs/Cluster/external-cluster/consumer-import.md). The configuration exported from the Ceph cluster is imported to Rook to provide the needed connection details.
[Verify the cluster connection](/Documentation/CRDs/Cluster/external-cluster/consumer-import.md#cluster-verification) steps are provided to validate the connection.
Copy link
Member

Choose a reason for hiding this comment

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

I'm still confused by mentioning the verification here. Can we just remove this line, and they can see the verification in the import topic?

!!! warning
If the last-applied config is unavailable, run the current version of the script again using previously-applied config and CLI flags.
Failure to reuse the same configuration options when re-invoking the python script can result in unexpected changes when re-running the import script.
* [Utilize new feature with upgrade](/Documentation/CRDs/Cluster/external-cluster/upgrade-external.md#upgrade-cluster-to-utilize-new-feature)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* [Utilize new feature with upgrade](/Documentation/CRDs/Cluster/external-cluster/upgrade-external.md#upgrade-cluster-to-utilize-new-feature)
* [Utilize new features in upgrade](/Documentation/CRDs/Cluster/external-cluster/upgrade-external.md#upgrade-cluster-to-utilize-new-feature)


!!! note
You can use both config file and other arguments at the same time
Priority: command-line-args > config.ini file values > default values
Copy link
Member

Choose a reason for hiding this comment

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

Can you describe this instead of using the symbol >?

@parth-gr parth-gr requested a review from travisn September 17, 2024 12:19
@parth-gr parth-gr force-pushed the external-doc-structure branch from ad7457f to bcee3a6 Compare September 17, 2024 12:19
@@ -0,0 +1,75 @@
# Import Ceph configuration to the Rook consumer cluster

## Installation types:
Copy link
Member

Choose a reason for hiding this comment

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

nit, no need for : on headers

Suggested change
## Installation types:
## Installation types

@parth-gr parth-gr force-pushed the external-doc-structure branch from bcee3a6 to 746b3bb Compare September 19, 2024 07:13
@parth-gr parth-gr requested a review from travisn September 19, 2024 07:13
@parth-gr parth-gr force-pushed the external-doc-structure branch from 746b3bb to 0b546fe Compare September 19, 2024 07:18
Upgrading external cluster is little tricky, We need to upgrade the Ceph cluster and Rook cluster seperalty with their new versions, Plus upgrading the versions we also need to update the external provider cluster connection to consumer Rook cluster.

To upgrade the provider ceph cluster to use the latest ceph user permissions, which will be required for the rook reconciliation, based on the new implementation added to the Rook.
## Upgrade the cluster to consume latest ceph user caps(mandatory)
Copy link
Member

Choose a reason for hiding this comment

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

For proper rendering, we usually need a blank link before and after titles

Suggested change
## Upgrade the cluster to consume latest ceph user caps(mandatory)
## Upgrade the cluster to consume latest ceph user caps (mandatory)

@@ -0,0 +1,59 @@
# External Cluster Upgrades

Upgrading external cluster is little tricky, We need to upgrade the Ceph cluster and Rook cluster seperalty with their new versions, Plus upgrading the versions we also need to update the external provider cluster connection to consumer Rook cluster.
Copy link
Member

Choose a reason for hiding this comment

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

How about this?

Suggested change
Upgrading external cluster is little tricky, We need to upgrade the Ceph cluster and Rook cluster seperalty with their new versions, Plus upgrading the versions we also need to update the external provider cluster connection to consumer Rook cluster.
When upgrading an external cluster, Ceph and Rook versions will be updated independently. During the Rook update, we also need to update the external provider cluster connection with any settings and permissions for new features.


Upgrading external cluster is little tricky, We need to upgrade the Ceph cluster and Rook cluster seperalty with their new versions, Plus upgrading the versions we also need to update the external provider cluster connection to consumer Rook cluster.

To upgrade the provider ceph cluster to use the latest ceph user permissions, which will be required for the rook reconciliation, based on the new implementation added to the Rook.
Copy link
Member

Choose a reason for hiding this comment

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

Does my suggestion above also cover this concept of new permissions and properties? Then no need for this paragraph.

Suggested change
To upgrade the provider ceph cluster to use the latest ceph user permissions, which will be required for the rook reconciliation, based on the new implementation added to the Rook.

@parth-gr parth-gr force-pushed the external-doc-structure branch from 0b546fe to db91b61 Compare September 20, 2024 05:58
@parth-gr parth-gr requested a review from travisn September 20, 2024 05:58
@@ -0,0 +1,58 @@
# External Cluster Upgrades

When upgrading an external cluster, Ceph and Rook versions will be updated independently. During the Rook update, we also need to update the external provider cluster connection with any settings and permissions for new features.
Copy link
Member

Choose a reason for hiding this comment

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

nit: remove usage of "we"

Suggested change
When upgrading an external cluster, Ceph and Rook versions will be updated independently. During the Rook update, we also need to update the external provider cluster connection with any settings and permissions for new features.
When upgrading an external cluster, Ceph and Rook versions will be updated independently. During the Rook update, the external provider cluster connection also needs to be updated with any settings and permissions for new features.

step1 to improve the external docs
and make it more clear to end user

Signed-off-by: parth-gr <partharora1010@gmail.com>
@parth-gr parth-gr force-pushed the external-doc-structure branch from db91b61 to 467578d Compare September 20, 2024 14:26
@travisn travisn merged commit cc2ea72 into rook:master Sep 20, 2024
19 checks passed
travisn added a commit that referenced this pull request Sep 20, 2024
docs: update external docs with a better structure (backport #14718)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants