Commit 23cb8258 authored by Sofia Vistas's avatar Sofia Vistas
Browse files

Update gitlab-qa docs

parent a8ea4180
......@@ -88,7 +88,6 @@ of tests.
- [How it works](docs/how_it_works.md)
- [Release process](docs/release_process.md)
- [Run QA tests against your GDK setup](docs/run_qa_against_gdk.md)
- [Running specific orchestrated tests](docs/running_specific_orchestrated_tests.md)
- [Trainings](docs/trainings.md)
- [Waits](docs/waits.md)
- [What tests can be run?](docs/what_tests_can_be_run.md)
......
# Running specific orchestrated tests
## Maven artifact spec
The [maven repository spec](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/qa/specs/features/ee/browser_ui/5_package/maven_repository_spec.rb) creates a Maven artifact and links it to a GitLab project. The artifact is created within a [Maven docker image](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/qa/service/docker_run/maven.rb#L8).
Using `gitlab-qa` to run these tests reduces the likelihood of network errors between the maven container and GitLab instance.
To run this with `gitlab-qa` you can use the `Test::Instance::Image` that is needed for your test. For example:
`gitlab-qa Test::Instance::Image registry.gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/gitlab-ee:2cb9a85d2beadd51b926eaddb05005403bee0013 -- --tag orchestrated qa/specs/features/ee/browser_ui/5_package/maven_repository_spec.rb` - runs the test against a specific Omnibus GitLab image that was built through `package-and-qa`.
......@@ -95,6 +95,7 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
| `GITLAB_QA_USER_AGENT` |- | The browser user-agent to use instead of the default Chrome user-agent. | No|
| `GEO_FAILOVER` | `false` | Set to `true` when a Geo secondary site has been promoted to a Geo primary site. | No|
| `GITLAB_INITIAL_ROOT_PASSWORD` | `5iveL!fe` | Initial root password for Omnibus installations | No|
| `COLORIZED_LOGS` | `false` | Colors GitLab QA and test logs to improve readability | No|
## [Supported Remote Grid environment variables](./running_against_remote_grid.md)
......@@ -891,12 +892,39 @@ $ gitlab-qa Test::Instance::Airgapped EE -- --tag smoke
### `Test::Instance::Image CE|EE|<full image address> --omnibus-config object_storage`
This orchestrated scenario runs tests from the test suite against a GitLab instance which has object storage configured instead of using local storage. The omnibus configuration `object_storage` ([configurator](configuring_omnibus.md)), uses Minio and `object_storage_aws` uses an AWS S3 account with credentials configured in the pipeline as CI Variables (available on 1Password). Requires:
This orchestrated scenario runs tests from the test suite against a GitLab instance which has object storage configured instead of using local storage. The omnibus configuration `object_storage` ([configurator](configuring_omnibus.md)), uses Minio and `object_storage_aws` uses an AWS S3 account with credentials configured in the pipeline as CI Variables. To use Google Cloud Storage pass `--omnibus-config object_storage_gcp`. According to the storage selected it requires:
* `AWS_S3_REGION` - Region where the bucket is created. To optimize latency, minimize costs, or address regulatory requirements, choose any AWS Region that is geographically close to you.
* `AWS_S3_KEY_ID` - Key ID for the user accessing the bucket.
* `AWS_S3_ACCESS_KEY` - Access Key for the user accessing the bucket.
* `AWS_S3_BUCKET_NAME` - The name of the bucket where objects are stored. After a bucket is created, the name of that bucket cannot be used by another AWS account in any AWS Region until the bucket is deleted.
| Scenario | Variable | Description |
|-----------------------|---------------------|--------------------------------------|
| AWS S3 Object Storage | AWS_S3_REGION | AWS region where bucket is created |
| AWS S3 Object Storage | AWS_S3_KEY_ID | AWS credentials |
| AWS S3 Object Storage | AWS_S3_ACCESS_KEY | AWS credentials |
| AWS S3 Object Storage | AWS_S3_BUCKET_NAME | Name of the bucket set in AWS |
| GCP Object Storage | GCS_BUCKET_NAME | Name of the bucket set in AWS |
| GCP Object Storage | GOOGLE_JSON_KEY | JSON key credential |
| GCP Object Storage | GOOGLE_CLIENT_EMAIL | Email address of the service account |
| GCP Object Storage | GOOGLE_PROJECT | GCP project name |
These variables are available at 1Password QA Vault.
### `Test::Integration::RegistryTLS EE`
It requires GitLab's TLS certificate found on the [`tls_certificates`](https://gitlab.com/gitlab-org/gitlab-qa/-/blob/master/tls_certificates/gitlab/gitlab.test.crt) folder
```
$ export GITLAB_TLS_CERTIFICATE=$(cat /path/to/certificate.crt)
```
To run a scenario with an insecure registry enabled use `Test::Integration::Registry EE` instead (it does not require the above certificate).
### Test::Integration::RegistryTLS EE --omnibus-config object_storage
This scenario is a composition of two orchestrated scenarios. It tests the container registry (TLS-enabled) integrated with an object storage backend.
An example would be to pass the option `--omnibus-config object_storage_aws` and the registry will be pulling and pushing images using AWS Cloud Storage as a storage backend.
```
GITLAB_TLS_CERTIFICATE=$(cat /path/to/certificate.crt) gitlab-qa Test::Integration::RegistryTLS EE --omnibus-config object_storage_aws
```
### `Test::Instance::Geo EE|<full image address>:nightly|latest|any_tag http://geo-primary.gitlab http://geo-secondary.gitlab`
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment