This change clarifies the description of the test environment in the
contributing guide with respect to the installation of helm.
Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
The development guide mentioned that `tests/scripts/helm.sh up` would
install and set up the charts built under `_output/charts`.
This is not correct as the script only downloads helm to a temporary
directry.
This change improves the dev guide by removing these incorrect
statements.
Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
tests/scripts/helm.sh clean is not implemented.
So remove frpom the script's help text
and from the development guilde
Signed-off-by: Michael Adam <obnox@samba.org>
The development guide mentioned that commit messages
should be lengthy which has a negative connotation
of meaning long-winded.
This change rewords the corresponding part to sound more positive.
Signed-off-by: Michael Adam <obnox@samba.org>
This change expands the section about regression testing in the
developer guide by adding information about how to run linters
locally.
Signed-off-by: Michael Adam <obnox@samba.org>
This reworks the docs-check ci workflow in several ways:
* It renames the make target 'check-docs' to the more systematic 'check.docs'.
* It adds a 'docs'mode to the files validation script, and uses the script in `make check.docs`.
Overall, the workflow and local make targets are more systematic and
consistent with this change.
Signed-off-by: Michael Adam <obnox@samba.org>
For the specification see:
<https://github.com/rook/rook/blob/master/design/ceph/object/swift-and-keystone-integration.md>
* extend the API object specs for swift and keystone integration
* adapt rgw to the new go-ceph version
- The parameter lists of the API call have changes, as parameters
ignored by the RGW Admin Ops API are no longer serialized, therefore
the mock has to be adapted.
- There is now validation for the user keys that are passed to the
User get API, therefore things failed when we had empty keys in our
User proxy object.
* expand the reconcile loop for the swift and keystone integration
* fix minor mistakes in design document
* add env var to pass extra args to minikube
Minikube decides CPU cores and memory automatically based on the
available resources on the machine which may be insufficient to
run rook. This commit adds an environment variable to add arbitrary
arguments to the minikube command, so both can be specified if
desired.
* integration tests for swift and keystone
The new integration of swift or s3 and keystone support by rook
does not have any integration tests yet.
This commit introduces integration tests for swift and keystone. The
tests are done against a minimal keystone setup (keystone container
image from Yaook-project (https://yaook.cloud), sqlite as database
backend, cert-manager and trust-manager for test certificate setup).
To prevent hardcoded credentials, passwords are generated
by the tests. The integration tests use the openstack client
(keystone- and swift-functionality) (https://docs.openstack.org/
python-openstackclient/ latest/). This was a concious design decision
to use client tooling as close as possible to the end user instead of
using other go-libraries (such as gophercloud).
* add documentation on swift and keystone
Currently there is no documentation on the use of Swift to access
an object store as well as the use of OpenStack keystone for
authentication.
This commit adds documentation on the use of Swift and OpenStack
keystone, as well as CRD-related documentation and an example setup.
* add integration tests for S3 via keystone
This commit introduces integration tests for s3 and keystone. The
tests are run against the same minimal keystone setup that the tests
for swift and keystone use.
The integration tests use the aws s3 client to use client tooling as
close as possible to the end user instead of using other go-libraries.
Co-authored-by: Jan Klippel <jan.klippel@uhurutec.com>
Co-authored-by: Silvio Ankermann <silvio.ankermann@cloudandheat.com>
Signed-off-by: Sebastian Riese <sebastian.riese@cloudandheat.com>
Signed-off-by: Jan Klippel <jan.klippel@uhurutec.com>
Signed-off-by: Silvio Ankermann <silvio.ankermann@cloudandheat.com>
mkdocs uses a markdown renderer that is hardcoded to 4 spaces per tab
for detecting indentation levels, including ordered- and
unordered-lists. Since we cannot easily change the renderer, begin using
a markdown linter in CI that will fail if official docs do not adhere to
the spacing rules.
As a starting point, the markdownlint config does not begin with the
default set of checks, which might overwhelm attempts to fix them.
Instead, focus on list-tab-spacing rules and a few other highly useful
checks.
markdownlint also has some gaps in its abilities that allow common Rook
doc issues to pass acceptance. However, it allows creating custom
linting plugins. Create 2 such linting plugins to check 2 things:
- all doc lines (except code blocks) must be aligned to a 4-space
boundary, without exception. This ensures that markdown will render
correctly with mkdocs. This unfortunately makes it possible to create
lists that are internally aligned strangely.
- admonitions must all follow the same format of
```
!!! header
body
```
For the strange lists, this is allowed and renders correctly, but it
looks strange:
```md
- first bullet
- second bullet
still second bullet
- third bullet
has a paragraph
of text inside
- last bullet
Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
This change introduce a new argument -p to specify the minikube
profile for the new cluster. This way we can have multiple rook
clusters running on the same machine.
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
Update some old typos that say "synk" instead of "snyk".
out of sync. This should fix the top-level README.md to use the latest
snyk security scan badge -- as opposed to only referring to the last one
that used the misspelled file from about a month ago.
Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
we don't want to wait for extra 10min once the ci passed,
so we'll add a check if `debug-ci` label is added or debug runner
is triggered from UI then only start tmate. Also, updaing the
development doc and rook test doc.
Signed-off-by: subhamkrai <srai@redhat.com>
rename and move tests/README.md to
Documentation/Contributing/rook-test-framework.md in order to make it
part of the contributing section
Signed-off-by: Javier <sjavierlopez@gmail.com>
Apple silicon does not support hyperkit, and virtualbox does not support
Apple silicon (yet). Suggest the QEMU driver for development on MacOS
with Apple silicon.
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
The unit tests are not necessary if a PR is being opened for
documentation or other non-code changes, so we clarify the
instructions.
Signed-off-by: travisn <tnielsen@redhat.com>
The dev guide had some outdated info that is now updated,
as well as some rewording for consistency and improved
writing.
Signed-off-by: travisn <tnielsen@redhat.com>
Adding instructions to fetch the tags as they are used during
the build process. The current instructions only require the
user to clone the project which results in build errors later
on.
Closes: https://github.com/rook/rook/issues/11619
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
Rook has for quite some time only been focused on the Ceph
operator. Maintainers have only been focused on Ceph, and
the community has likewise been focused on Ceph. Now the docs
are updated to clarify that Ceph storage is the focus and
there are no plans for the project to support other storage
providers.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The Note label is updated in several places in the docs for improved rendering.
Multiple markdown files have been updated.
Closes: #10458
Signed-off-by: Yashasvi Chaurasia <yashasvi12977@gmail.com>
In linux environment, when go is installed using
`dnf/yum/apt` or other pacakge installer. In this case we
get error when we do `make build` because of GOPROXY.
So, we need to update the GOPROXY with `export GOPROXY=https://proxy.golang.org,direct`
in `.bashrc` file
Signed-off-by: subhamkrai <srai@redhat.com>
This adds vscode json files to recommend extensions and set some
settings which are used to make the development easier.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>