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 #77

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

Docs #77

wants to merge 7 commits into from

Conversation

Akrog
Copy link
Contributor

@Akrog Akrog commented Nov 22, 2022

This PR includes a series of patches to improve the cinder operator documentation to include:

  • Getting started guide
  • Contributor guidelines
  • Using external dependencies
  • Debugging guide

@Akrog
Copy link
Contributor Author

Akrog commented Nov 22, 2022

I need to update these commits for the new CRD from openstack-k8s-operators/openstack-operator#53

@Akrog Akrog force-pushed the docs branch 3 times, most recently from d3d6600 to 06a1a59 Compare November 22, 2022 15:35
@cschwede cschwede self-requested a review November 22, 2022 16:16
@@ -0,0 +1,114 @@
apiVersion: core.openstack.org/v1beta1
Copy link
Contributor

Choose a reason for hiding this comment

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

only negative about having an example like this within the cinder-operator is it is likely to become stale quickly. Would this specific example be better suited within the openstack-operator itself?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

My idea of having this example here for now was to promote cinder folks always deploy using the openstack-operator and for now to make sure we always keep it updated.

In the near future (once we merge the extraVolumes stuff) I'm think of adding it like you suggest to the openstack-operator itself and make the openstack_deploy target in install_yamls' Makefile to do the ceph toy cluster deployment automatically and use it in Cinder and Glance, that way we get something similar to what devstack does, a working OpenStack deployment with Ceph.

Copy link

Choose a reason for hiding this comment

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

Maybe we can merge PR77 with openstack-ceph.yaml and then remove it once a copy of it is in the openstack-operator.

@dprince
Copy link
Contributor

dprince commented Nov 23, 2022

Nice doc effort here. Should be helpful to onboard folks to cinder-operator. I do think that over time we might promote some of this stuff to openstack-operator or at a higher level as it could apply to all openstack operators. But that can come in time.

@Akrog
Copy link
Contributor Author

Akrog commented Nov 23, 2022

You read my mind. :-)
First get something here and then see what things are common and can be moved to the docs repo.

@Akrog
Copy link
Contributor Author

Akrog commented Nov 25, 2022

Do not merge, I want to update it to use workspaces once we merge #79

@Akrog
Copy link
Contributor Author

Akrog commented Nov 25, 2022

/hold

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 1, 2022

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Akrog

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved label Dec 1, 2022
This patch adds a series of files to the `hack` directory to facilitate
the development.

These files include:

- Helper functions
- Script to deploy a local toy Ceph cluster
- Script to create the LVM loopback device inside the OpenShift VM
- OpenStack and Cinder client installation and configuration files
- Manifest for OpenStack with Cinder and Glance using local Ceph cluster
This patch adds some scripts to facilitate the testing of PRs with
dependencies.

Four scripts are introduced:

- hack/cleandeps.sh: Cleans up contents of go.work

- hack/showdeps.py: Show the dependencies of a PR based on its commit
  messages contents (Depends-On:)

- hack/setdeps.py: Replaces modules in the go workspace with local
  directories, PRs, remote branches, etc.

- hack/checkout_pr.sh: Leverages the other scripts to do the checkout of
  a PR and replace the dependencies as needed.
This patch updates the README.md file to be a bit more detailed in how
we can get a working deployment with Ceph as a backend for Cinder and
Glance.
This patch adds some documentations to help new contributors get
started.

It is not complete, since it doesn't explain how to work with merged and
unmerged dependencies with other operators and lib-common, but it should
serve as a good start.
This patch introduces a couple of guides on how to do dependencies in
the cinder-operator to explain simple and circular references for both
running the operator locally and building the operator.
This patch introduces a simple debug guide to help new developers.
- *If possible don't run things in your own machine to avoid the risk of
affecting the development of your other projects.*

Here we'll explain how to get a functiona OpenShift deployment running inside a
Copy link

Choose a reason for hiding this comment

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

nit: functional

### OpenShift cluster

There are many ways get an OpenShift cluster, and our recommendation for the
time being is to use [OpenShift Local](https://access.redhat.com/documentation/en-us/red_hat_openshift_local/2.5/html/getting_started_guide/index)
Copy link

Choose a reason for hiding this comment

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

the last version of OpenShift Local is 2.11

Alternatively we can use the `hack/setdeps.py` to do all that for us:

```
hack/setdeps.py lib-common=88
Copy link

Choose a reason for hiding this comment

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

looking at he next like it seems 88 is the pull request ID, could it be explicitly mention?

This patch makes changes to the getting started scripts and manifest to
adapt to the new extraVol changes.
### How it works
This project aims to follow the Kubernetes [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/)
```sh
source ~/cinder-operator/hack/dev/osp-clients-cfg.sh
Copy link

@fultonj fultonj Dec 19, 2022

Choose a reason for hiding this comment

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

This works but maybe in the future it can be replaced by the client pod.


The cinder-operator project will not squash all pull request commits into a
single commit but will look to preserve all submitted individual commits
instead using a merge strategy instead. This means that we can have both
Copy link

Choose a reason for hiding this comment

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

Please remove one of the 'instead'.

Copy link

@fultonj fultonj left a comment

Choose a reason for hiding this comment

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

This is really helpful. Thank you Gorka. I think these docs help a lot and aside from a few typos it would be nice to see them merged in the project.

only have a cinder-operator pod running, but also the different cinder
services.

Since we have everything running we need to uninstalling both the
Copy link

Choose a reason for hiding this comment

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

s/uninstalling/uninstall


### Final notes

If we need to make changes to the operator we'll need to go through the `make

Choose a reason for hiding this comment

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

install phony only calls manifests, and skips generate. Do we need to call make generate for deep copy magic to get it into the new bundle/image?..

@openshift-merge-robot
Copy link
Contributor

PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Copy link
Contributor

openshift-ci bot commented Nov 7, 2023

@Akrog: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/images 6b414d4 link true /test images
ci/prow/precommit-check 6b414d4 link true /test precommit-check
ci/prow/cinder-operator-build-deploy-kuttl 6b414d4 link true /test cinder-operator-build-deploy-kuttl
ci/prow/unit 6b414d4 link true /test unit
ci/prow/functional 6b414d4 link true /test functional

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

ASBishop pushed a commit to ASBishop/cinder-operator that referenced this pull request Mar 11, 2024
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.

6 participants