diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-24 03:07:51 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-24 03:07:51 +0300 |
commit | 8212423bb8e15f763092671a66b12fa52fde7d08 (patch) | |
tree | 4deba9829f52f5152658e94d095ac3a45415746c | |
parent | 66e3f84f5200d00e3ce3137dad80592096ef3401 (diff) |
Add latest changes from gitlab-org/gitlab@master
80 files changed, 225 insertions, 558 deletions
diff --git a/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml b/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml new file mode 100644 index 00000000000..2b747a2fead --- /dev/null +++ b/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml @@ -0,0 +1,22 @@ +- title: "KAS Metrics Port in GitLab Helm Chart" # (required) The name of the feature to be deprecated + announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. + announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. + removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed + removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. + breaking_change: true # (required) If this deprecation is a breaking change, set this value to true + reporter: timofurrer # (required) GitLab username of the person reporting the deprecation + stage: Configure # (required) String value of the stage that the feature was created in. e.g., Growth + issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383039 # (required) Link to the deprecation issue in GitLab + body: | # (required) Do not modify this line, instead modify the lines below. + The `gitlab.kas.metrics.port` has been deprecated in favor of the new `gitlab.kas.observability.port` configuration field for the [GitLab Helm Chart](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/2839). + This port is used for much more than just metrics, which warranted this change to avoid confusion in configuration. + end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. + end_of_support_date: "2023-05-22" # (optional) The date of the milestone release when support for this feature will end. + + + # OTHER OPTIONAL FIELDS + # + tiers: [Core, Premium, Ultimate] # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate] + documentation_url: https://docs.gitlab.com/charts/charts/gitlab/kas/index.html # (optional) This is a link to the current documentation page + image_url: # (optional) This is a link to a thumbnail image depicting the feature + video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg diff --git a/doc/administration/auth/ldap/index.md b/doc/administration/auth/ldap/index.md index 6243f3da2d2..2fa683ffbe1 100644 --- a/doc/administration/auth/ldap/index.md +++ b/doc/administration/auth/ldap/index.md @@ -507,6 +507,18 @@ If initially your LDAP configuration looked like: 1. [Restart GitLab](../../restart_gitlab.md#installations-from-source) for the changes to take effect. +## Updating LDAP DN and email + +When an LDAP user is created in GitLab, their LDAP distinguished name (DN) is linked to their GitLab account as an identifier. + +When a user tries to sign in with LDAP, GitLab tries to find the user using the DN saved on that user's account. + +- If GitLab finds the user by the DN, and the user's email matches the GitLab account's email, GitLab does not take any further action. +- If GitLab finds the user by the DN and the user's email has changed, GitLab updates its record of the user's email to match the one in LDAP. +- If GitLab cannot find a user by their DN, it tries to find the user by their email. If GitLab finds the user by their email, GitLab updates the DN stored in the user's GitLab account. Both values now match the information stored in LDAP. + +If both the DN **and** the email address have changed, see the [user DN and email have changed](ldap-troubleshooting.md#user-dn-and-email-have-changed) section of our documentation. + ## Disable anonymous LDAP authentication GitLab doesn't support TLS client authentication. Complete these steps on your LDAP server. @@ -543,7 +555,7 @@ Updating user email addresses must be done on the LDAP server that manages the u The updated user's previous email address becomes the secondary email address to preserve that user's commit history. -You can find more details on the expected behavior of user updates in our [LDAP troubleshooting section](ldap-troubleshooting.md#user-dn-orand-email-have-changed). +You can find more details on the expected behavior of user updates in our [LDAP troubleshooting section](ldap-troubleshooting.md#user-dn-and-email-have-changed). ## Google Secure LDAP diff --git a/doc/administration/auth/ldap/ldap-troubleshooting.md b/doc/administration/auth/ldap/ldap-troubleshooting.md index 15ce3c595c5..3b7ca2f635d 100644 --- a/doc/administration/auth/ldap/ldap-troubleshooting.md +++ b/doc/administration/auth/ldap/ldap-troubleshooting.md @@ -541,7 +541,7 @@ Usually this is not a cause for concern. If you think a particular user should already exist in GitLab, but you're seeing this entry, it could be due to a mismatched DN stored in GitLab. See -[User DN and/or email have changed](#user-dn-orand-email-have-changed) to update the user's LDAP identity. +[User DN and email have changed](#user-dn-and-email-have-changed) to update the user's LDAP identity. ```shell User with DN `uid=john0,ou=people,dc=example,dc=com` should have access @@ -624,23 +624,13 @@ does not do this: 1. Wait until LDAP group synchronization has finished running. 1. Remove the user from the LDAP group. -### User DN or/and email have changed +### User DN and email have changed -When an LDAP user is created in GitLab, their LDAP DN is stored for later reference. - -If GitLab cannot find a user by their DN, it falls back -to finding the user by their email. If the lookup is successful, GitLab -updates the stored DN to the new value so both values now match what's in -LDAP. - -If the email has changed and the DN has not, GitLab finds the user with -the DN and updates its own record of the user's email to match the one in LDAP. - -However, if the primary email _and_ the DN change in LDAP, then GitLab -has no way of identifying the correct LDAP record of the user and, as a -result, the user is blocked. To rectify this, the user's existing -profile must be updated with at least one of the new values (primary -email or DN) so the LDAP record can be found. +If both the primary email **and** the DN change in LDAP, GitLab has +no way of identifying the correct LDAP record of a user and, as a +result, blocks that user. To fix this, update the user's existing +GitLab profile with at least one of the new primary email or DN values +so GitLab can find the LDAP record. The following script updates the emails for all provided users so they aren't blocked or unable to access their accounts. diff --git a/doc/administration/index.md b/doc/administration/index.md index 0900255fa63..9c1a95e9419 100644 --- a/doc/administration/index.md +++ b/doc/administration/index.md @@ -209,7 +209,7 @@ Learn how to install, configure, update, and maintain your GitLab instance. ## Troubleshooting - [Log system](logs/index.md): Where to look for logs. -- [Sidekiq Troubleshooting](troubleshooting/sidekiq.md): Debug when Sidekiq appears hung and is not processing jobs. +- [Sidekiq Troubleshooting](sidekiq/sidekiq_troubleshooting.md): Debug when Sidekiq appears hung and is not processing jobs. - [Navigating GitLab via Rails console](operations/rails_console.md) - [GitLab application limits](instance_limits.md) - [Responding to security incidents](../security/responding_to_security_incidents.md) diff --git a/doc/administration/integration/terminal.md b/doc/administration/integration/terminal.md index 14da70f6efb..65a077cb652 100644 --- a/doc/administration/integration/terminal.md +++ b/doc/administration/integration/terminal.md @@ -41,7 +41,7 @@ In brief: - The WebSocket is handled in [Workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse), rather than the Rails application server. - Workhorse queries Rails for connection details and user permissions. Rails - queries Kubernetes for them in the background using [Sidekiq](../troubleshooting/sidekiq.md). + queries Kubernetes for them in the background using [Sidekiq](../sidekiq/sidekiq_troubleshooting.md). - Workhorse acts as a proxy server between the user's browser and the Kubernetes API, passing WebSocket frames between the two. - Workhorse regularly polls Rails, terminating the WebSocket connection if the diff --git a/doc/administration/operations/extra_sidekiq_processes.md b/doc/administration/operations/extra_sidekiq_processes.md deleted file mode 100644 index 58858c54843..00000000000 --- a/doc/administration/operations/extra_sidekiq_processes.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../sidekiq/extra_sidekiq_processes.md' -remove_date: '2022-11-11' ---- - -This document was moved to [another location](../sidekiq/extra_sidekiq_processes.md). - -<!-- This redirect file can be deleted after <2022-11-11>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/administration/operations/extra_sidekiq_routing.md b/doc/administration/operations/extra_sidekiq_routing.md deleted file mode 100644 index 072b6f63537..00000000000 --- a/doc/administration/operations/extra_sidekiq_routing.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../sidekiq/extra_sidekiq_routing.md' -remove_date: '2022-11-11' ---- - -This document was moved to [another location](../sidekiq/extra_sidekiq_routing.md). - -<!-- This redirect file can be deleted after <2022-11-11>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/administration/operations/index.md b/doc/administration/operations/index.md index 7b495a5dd58..527a72c5933 100644 --- a/doc/administration/operations/index.md +++ b/doc/administration/operations/index.md @@ -13,9 +13,9 @@ Keep your GitLab instance up and running smoothly. and more. - [Moving repositories](moving_repositories.md): Moving all repositories managed by GitLab to another file system or another server. -- [Sidekiq MemoryKiller](sidekiq_memory_killer.md): Configure Sidekiq MemoryKiller +- [Sidekiq MemoryKiller](../sidekiq/sidekiq_memory_killer.md): Configure Sidekiq MemoryKiller to restart Sidekiq. -- [Multiple Sidekiq processes](extra_sidekiq_processes.md): Configure multiple Sidekiq processes to ensure certain queues always have dedicated workers, no matter the number of jobs that must be processed. **(FREE SELF)** +- [Multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md): Configure multiple Sidekiq processes to ensure certain queues always have dedicated workers, no matter the number of jobs that must be processed. **(FREE SELF)** - [Puma](puma.md): Understand Puma and puma-worker-killer. - Speed up SSH operations by [Authorizing SSH users via a fast, indexed lookup to the GitLab database](fast_ssh_key_lookup.md), and/or diff --git a/doc/administration/operations/sidekiq_memory_killer.md b/doc/administration/operations/sidekiq_memory_killer.md deleted file mode 100644 index b1977589fae..00000000000 --- a/doc/administration/operations/sidekiq_memory_killer.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../sidekiq/sidekiq_memory_killer.md' -remove_date: '2022-11-11' ---- - -This document was moved to [another location](../sidekiq/sidekiq_memory_killer.md). - -<!-- This redirect file can be deleted after <2022-11-11>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index d0277d9936d..1138ead46da 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -882,7 +882,7 @@ WARNING: If you're using a distributed architecture and Sidekiq is running on a different node, the cleanup policies don't work. To fix this, you must configure the `gitlab.rb` file on the Sidekiq nodes to point to the correct registry URL and copy the `registry.key` file to each Sidekiq node. For more -information, see the [Sidekiq configuration](../sidekiq.md) +information, see the [Sidekiq configuration](../sidekiq/index.md) page. To reduce the amount of [Container Registry disk space used by a given project](#registry-disk-space-usage-by-project), diff --git a/doc/administration/reference_architectures/10k_users.md b/doc/administration/reference_architectures/10k_users.md index a2463c6ff88..2020f7c0c42 100644 --- a/doc/administration/reference_architectures/10k_users.md +++ b/doc/administration/reference_architectures/10k_users.md @@ -1918,7 +1918,7 @@ Updates to example must be made at: NOTE: If you find that the environment's Sidekiq job processing is slow with long queues, more nodes can be added as required. You can also tune your Sidekiq nodes to -run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md). +run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md). <div align="right"> <a type="button" class="btn btn-default" href="#setup-components"> diff --git a/doc/administration/reference_architectures/25k_users.md b/doc/administration/reference_architectures/25k_users.md index f90e9443aa1..79772ad720c 100644 --- a/doc/administration/reference_architectures/25k_users.md +++ b/doc/administration/reference_architectures/25k_users.md @@ -1936,7 +1936,7 @@ Updates to example must be made at: NOTE: If you find that the environment's Sidekiq job processing is slow with long queues, more nodes can be added as required. You can also tune your Sidekiq nodes to -run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md). +run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md). <div align="right"> <a type="button" class="btn btn-default" href="#setup-components"> diff --git a/doc/administration/reference_architectures/3k_users.md b/doc/administration/reference_architectures/3k_users.md index 4fc6af3f72e..3c63fef8ea2 100644 --- a/doc/administration/reference_architectures/3k_users.md +++ b/doc/administration/reference_architectures/3k_users.md @@ -1869,7 +1869,7 @@ Updates to example must be made at: NOTE: If you find that the environment's Sidekiq job processing is slow with long queues, more nodes can be added as required. You can also tune your Sidekiq nodes to -run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md). +run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md). <div align="right"> <a type="button" class="btn btn-default" href="#setup-components"> diff --git a/doc/administration/reference_architectures/50k_users.md b/doc/administration/reference_architectures/50k_users.md index ca159d62f1f..854113eebc3 100644 --- a/doc/administration/reference_architectures/50k_users.md +++ b/doc/administration/reference_architectures/50k_users.md @@ -1931,7 +1931,7 @@ Updates to example must be made at: NOTE: If you find that the environment's Sidekiq job processing is slow with long queues, more nodes can be added as required. You can also tune your Sidekiq nodes to -run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md). +run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md). <div align="right"> <a type="button" class="btn btn-default" href="#setup-components"> diff --git a/doc/administration/reference_architectures/5k_users.md b/doc/administration/reference_architectures/5k_users.md index a2b92f9c300..3b66e9130bd 100644 --- a/doc/administration/reference_architectures/5k_users.md +++ b/doc/administration/reference_architectures/5k_users.md @@ -1865,7 +1865,7 @@ Updates to example must be made at: NOTE: If you find that the environment's Sidekiq job processing is slow with long queues, more nodes can be added as required. You can also tune your Sidekiq nodes to -run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md). +run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md). <div align="right"> <a type="button" class="btn btn-default" href="#setup-components"> diff --git a/doc/administration/sidekiq.md b/doc/administration/sidekiq.md deleted file mode 100644 index 01f83f98607..00000000000 --- a/doc/administration/sidekiq.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'sidekiq/index.md' -remove_date: '2022-11-11' ---- - -This document was moved to [another location](sidekiq/index.md). - -<!-- This redirect file can be deleted after <2022-11-11>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/administration/sidekiq_health_check.md b/doc/administration/sidekiq_health_check.md deleted file mode 100644 index 3294eb663f2..00000000000 --- a/doc/administration/sidekiq_health_check.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'sidekiq/sidekiq_health_check.md' -remove_date: '2022-11-11' ---- - -This document was moved to [another location](sidekiq/sidekiq_health_check.md). - -<!-- This redirect file can be deleted after <2022-11-11>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/administration/troubleshooting/elasticsearch.md b/doc/administration/troubleshooting/elasticsearch.md deleted file mode 100644 index 7390f4bc816..00000000000 --- a/doc/administration/troubleshooting/elasticsearch.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../integration/advanced_search/elasticsearch_troubleshooting.md' -remove_date: '2022-11-02' ---- - -This document was moved to [another location](../../integration/advanced_search/elasticsearch_troubleshooting.md). - -<!-- This redirect file can be deleted after <2022-11-02>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/administration/troubleshooting/sidekiq.md b/doc/administration/troubleshooting/sidekiq.md deleted file mode 100644 index e49e0ed4f1c..00000000000 --- a/doc/administration/troubleshooting/sidekiq.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../sidekiq/sidekiq_troubleshooting.md' -remove_date: '2022-11-11' ---- - -This document was moved to [another location](../sidekiq/sidekiq_troubleshooting.md). - -<!-- This redirect file can be deleted after <2022-11-11>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/administration/troubleshooting/tracing_correlation_id.md b/doc/administration/troubleshooting/tracing_correlation_id.md deleted file mode 100644 index 917e27bab70..00000000000 --- a/doc/administration/troubleshooting/tracing_correlation_id.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../logs/tracing_correlation_id.md' -remove_date: '2022-11-12' ---- - -This document was moved to [another location](../logs/tracing_correlation_id.md). - -<!-- This redirect file can be deleted after 2022-11-12. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
\ No newline at end of file diff --git a/doc/development/adding_database_indexes.md b/doc/development/adding_database_indexes.md deleted file mode 100644 index 7ab846cce3e..00000000000 --- a/doc/development/adding_database_indexes.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/adding_database_indexes.md' -remove_date: '2022-11-05' ---- - -This document was moved to [another location](database/adding_database_indexes.md). - -<!-- This redirect file can be deleted after <2022-11-05>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/api_graphql_styleguide.md b/doc/development/api_graphql_styleguide.md index c19341a1404..75020e25b57 100644 --- a/doc/development/api_graphql_styleguide.md +++ b/doc/development/api_graphql_styleguide.md @@ -2115,7 +2115,7 @@ end Authenticating a user with the `current_user:` argument for `post_graphql` generates more queries on the first request than on subsequent requests on that same user. If you are testing for N+1 queries using - [QueryRecorder](query_recorder.md), use a **different** user for each request. + [QueryRecorder](database/query_recorder.md), use a **different** user for each request. The below example shows how a test for avoiding N+1 queries should look: diff --git a/doc/development/api_styleguide.md b/doc/development/api_styleguide.md index f74ed8db50f..2fcf006e333 100644 --- a/doc/development/api_styleguide.md +++ b/doc/development/api_styleguide.md @@ -271,7 +271,7 @@ which introduced the scope. When an API endpoint returns collections, always add a test to verify that the API endpoint does not have an N+1 problem, now and in the future. -We can do this using [`ActiveRecord::QueryRecorder`](query_recorder.md). +We can do this using [`ActiveRecord::QueryRecorder`](database/query_recorder.md). Example: diff --git a/doc/development/architecture.md b/doc/development/architecture.md index a731e661a80..a641bf7d208 100644 --- a/doc/development/architecture.md +++ b/doc/development/architecture.md @@ -592,8 +592,6 @@ Grafana is an open source, feature rich metrics dashboard and graph editor for G Jaeger, inspired by Dapper and OpenZipkin, is a distributed tracing system. It can be used for monitoring microservices-based distributed systems. -For monitoring deployed apps, see [Jaeger tracing documentation](../operations/tracing.md) - #### Logrotate - [Project page](https://github.com/logrotate/logrotate/blob/master/README.md) diff --git a/doc/development/creating_enums.md b/doc/development/creating_enums.md deleted file mode 100644 index d3892c4c44e..00000000000 --- a/doc/development/creating_enums.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/creating_enums.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/creating_enums.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/database/batched_background_migrations.md b/doc/development/database/batched_background_migrations.md index ca11e9c8dd3..adc3bf6f825 100644 --- a/doc/development/database/batched_background_migrations.md +++ b/doc/development/database/batched_background_migrations.md @@ -308,7 +308,7 @@ In the second (filtered) example, we know exactly 100 will be updated with each NOTE: When applying additional filters, it is important to ensure they are properly covered by an index to optimize `EachBatch` performance. -In the example above we need an index on `(type, id)` to support the filters. See [the `EachBatch` docs for more information](../iterating_tables_in_batches.md). +In the example above we need an index on `(type, id)` to support the filters. See [the `EachBatch` docs for more information](iterating_tables_in_batches.md). ## Example diff --git a/doc/development/database_debugging.md b/doc/development/database_debugging.md deleted file mode 100644 index f18830ee7ca..00000000000 --- a/doc/development/database_debugging.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/database_debugging.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/database_debugging.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/database_query_comments.md b/doc/development/database_query_comments.md deleted file mode 100644 index 7f9def7e567..00000000000 --- a/doc/development/database_query_comments.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/database_query_comments.md' -remove_date: '2022-11-05' ---- - -This document was moved to [another location](database/database_query_comments.md). - -<!-- This redirect file can be deleted after <2022-11-05>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/db_dump.md b/doc/development/db_dump.md deleted file mode 100644 index c632302329a..00000000000 --- a/doc/development/db_dump.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/db_dump.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/db_dump.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/documentation/index.md b/doc/development/documentation/index.md index 327bd6044d2..a9f2726ea93 100644 --- a/doc/development/documentation/index.md +++ b/doc/development/documentation/index.md @@ -12,7 +12,7 @@ The GitLab documentation is [intended as the single source of truth (SSOT)](http In addition to this page, the following resources can help you craft and contribute to documentation: - [Style Guide](styleguide/index.md) - What belongs in the docs, language guidelines, Markdown standards to follow, links, and more. -- [Topic type template](structure.md) - Learn about the different types of topics. +- [Topic types](topic_types/index.md) - Learn about the different types of topics. - [Documentation process](workflow.md). - [Markdown Guide](../../user/markdown.md) - A reference for all Markdown syntax supported by GitLab. - [Site architecture](site_architecture/index.md) - How <https://docs.gitlab.com> is built. diff --git a/doc/development/documentation/structure.md b/doc/development/documentation/structure.md deleted file mode 100644 index 35a93f08f66..00000000000 --- a/doc/development/documentation/structure.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'topic_types/index.md' -remove_date: '2022-11-16' ---- - -This document was moved to [another location](topic_types/index.md). - -<!-- This redirect file can be deleted after <2022-11-16>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
\ No newline at end of file diff --git a/doc/development/documentation/styleguide/index.md b/doc/development/documentation/styleguide/index.md index 10c139c0a1b..93b2e33e11c 100644 --- a/doc/development/documentation/styleguide/index.md +++ b/doc/development/documentation/styleguide/index.md @@ -97,7 +97,7 @@ move in this direction, so we can address these issues: information into a format that is geared toward helping others, rather than documenting how a feature was implemented. -GitLab uses these [topic types](../structure.md). +GitLab uses these [topic types](../topic_types/index.md). ### Link instead of repeating text diff --git a/doc/development/feature_development.md b/doc/development/feature_development.md index 76447124177..2f6a5e25107 100644 --- a/doc/development/feature_development.md +++ b/doc/development/feature_development.md @@ -54,7 +54,7 @@ Consult these topics for information on contributing to specific GitLab features ### Debugging - [Pry debugging](pry_debugging.md) -- [Sidekiq debugging](../administration/troubleshooting/sidekiq.md) +- [Sidekiq debugging](../administration/sidekiq/sidekiq_troubleshooting.md) ### Git specifics diff --git a/doc/development/filtering_by_label.md b/doc/development/filtering_by_label.md deleted file mode 100644 index 675fe004c22..00000000000 --- a/doc/development/filtering_by_label.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/filtering_by_label.md' -remove_date: '2022-11-05' ---- - -This document was moved to [another location](database/filtering_by_label.md). - -<!-- This redirect file can be deleted after <2022-11-05>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/foreign_keys.md b/doc/development/foreign_keys.md deleted file mode 100644 index cdf655bf0bf..00000000000 --- a/doc/development/foreign_keys.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/foreign_keys.md' -remove_date: '2022-11-05' ---- - -This document was moved to [another location](database/foreign_keys.md). - -<!-- This redirect file can be deleted after <2022-11-05>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/graphql_guide/batchloader.md b/doc/development/graphql_guide/batchloader.md index ef0b97f4f62..6a716de61b8 100644 --- a/doc/development/graphql_guide/batchloader.md +++ b/doc/development/graphql_guide/batchloader.md @@ -180,7 +180,7 @@ def resolve(args = {}, context = { current_user: current_user }) end ``` -We can also use [QueryRecorder](../query_recorder.md) to make sure we are performing only **one SQL query** per call. +We can also use [QueryRecorder](../database/query_recorder.md) to make sure we are performing only **one SQL query** per call. ```ruby it 'executes only 1 SQL query' do diff --git a/doc/development/hash_indexes.md b/doc/development/hash_indexes.md deleted file mode 100644 index 2a9f7e5a25d..00000000000 --- a/doc/development/hash_indexes.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/hash_indexes.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/hash_indexes.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/insert_into_tables_in_batches.md b/doc/development/insert_into_tables_in_batches.md deleted file mode 100644 index ced5332e880..00000000000 --- a/doc/development/insert_into_tables_in_batches.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/insert_into_tables_in_batches.md' -remove_date: '2022-11-05' ---- - -This document was moved to [another location](database/insert_into_tables_in_batches.md). - -<!-- This redirect file can be deleted after <2022-11-05>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/iterating_tables_in_batches.md b/doc/development/iterating_tables_in_batches.md deleted file mode 100644 index 589e38a5cb0..00000000000 --- a/doc/development/iterating_tables_in_batches.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/iterating_tables_in_batches.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/iterating_tables_in_batches.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/merge_request_performance_guidelines.md b/doc/development/merge_request_performance_guidelines.md index 9d1489836fb..3b814ee3292 100644 --- a/doc/development/merge_request_performance_guidelines.md +++ b/doc/development/merge_request_performance_guidelines.md @@ -145,7 +145,7 @@ end This means running one query for every object to update. This code can easily overload a database given enough rows to update or many instances of this code running in parallel. This particular problem is known as the -["N+1 query problem"](https://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations). You can write a test with [QueryRecorder](query_recorder.md) to detect this and prevent regressions. +["N+1 query problem"](https://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations). You can write a test with [QueryRecorder](database/query_recorder.md) to detect this and prevent regressions. In this particular case the workaround is fairly easy: @@ -224,7 +224,7 @@ The total number of the queries (including cached ones) executed by the code mod should not increase unless absolutely necessary. The number of executed queries (including cached queries) should not depend on collection size. -You can write a test by passing the `skip_cached` variable to [QueryRecorder](query_recorder.md) to detect this and prevent regressions. +You can write a test by passing the `skip_cached` variable to [QueryRecorder](database/query_recorder.md) to detect this and prevent regressions. As an example, say you have a CI pipeline. All pipeline builds belong to the same pipeline, thus they also belong to the same project (`pipeline.project`): @@ -351,7 +351,7 @@ Post.all.includes(:author).each do |post| end ``` -Also consider using [QueryRecoder tests](query_recorder.md) to prevent a regression when eager loading. +Also consider using [QueryRecoder tests](database/query_recorder.md) to prevent a regression when eager loading. ## Memory Usage diff --git a/doc/development/namespaces_storage_statistics.md b/doc/development/namespaces_storage_statistics.md deleted file mode 100644 index 75e79d1f693..00000000000 --- a/doc/development/namespaces_storage_statistics.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/namespaces_storage_statistics.md' -remove_date: '2022-11-05' ---- - -This document was moved to [another location](database/namespaces_storage_statistics.md). - -<!-- This redirect file can be deleted after <2022-11-05>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/new_fe_guide/development/accessibility.md b/doc/development/new_fe_guide/development/accessibility.md deleted file mode 100644 index 9575acd20c7..00000000000 --- a/doc/development/new_fe_guide/development/accessibility.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../fe_guide/accessibility.md' -remove_date: '2022-11-15' ---- - -This document was moved to [another location](../../fe_guide/accessibility.md). - -<!-- This redirect file can be deleted after <2022-11-15>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/new_fe_guide/development/components.md b/doc/development/new_fe_guide/development/components.md deleted file mode 100644 index 9ad742272d1..00000000000 --- a/doc/development/new_fe_guide/development/components.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../fe_guide/index.md' -remove_date: '2022-11-15' ---- - -This document was moved to [another location](../../fe_guide/index.md). - -<!-- This redirect file can be deleted after <2022-11-15>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/new_fe_guide/development/index.md b/doc/development/new_fe_guide/development/index.md deleted file mode 100644 index 9ad742272d1..00000000000 --- a/doc/development/new_fe_guide/development/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../fe_guide/index.md' -remove_date: '2022-11-15' ---- - -This document was moved to [another location](../../fe_guide/index.md). - -<!-- This redirect file can be deleted after <2022-11-15>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/new_fe_guide/development/performance.md b/doc/development/new_fe_guide/development/performance.md deleted file mode 100644 index c72f3ded896..00000000000 --- a/doc/development/new_fe_guide/development/performance.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../fe_guide/performance.md' -remove_date: '2022-11-15' ---- - -This document was moved to [another location](../../fe_guide/performance.md). - -<!-- This redirect file can be deleted after <2022-11-15>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/new_fe_guide/index.md b/doc/development/new_fe_guide/index.md deleted file mode 100644 index 83c1db696b4..00000000000 --- a/doc/development/new_fe_guide/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../fe_guide/index.md' -remove_date: '2022-11-15' ---- - -This document was moved to [another location](../fe_guide/index.md). - -<!-- This redirect file can be deleted after <2022-11-15>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/new_fe_guide/modules/dirty_submit.md b/doc/development/new_fe_guide/modules/dirty_submit.md deleted file mode 100644 index 9ad742272d1..00000000000 --- a/doc/development/new_fe_guide/modules/dirty_submit.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../fe_guide/index.md' -remove_date: '2022-11-15' ---- - -This document was moved to [another location](../../fe_guide/index.md). - -<!-- This redirect file can be deleted after <2022-11-15>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/new_fe_guide/modules/index.md b/doc/development/new_fe_guide/modules/index.md deleted file mode 100644 index 9ad742272d1..00000000000 --- a/doc/development/new_fe_guide/modules/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../fe_guide/index.md' -remove_date: '2022-11-15' ---- - -This document was moved to [another location](../../fe_guide/index.md). - -<!-- This redirect file can be deleted after <2022-11-15>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/new_fe_guide/modules/widget_extensions.md b/doc/development/new_fe_guide/modules/widget_extensions.md deleted file mode 100644 index 3741ee8c38a..00000000000 --- a/doc/development/new_fe_guide/modules/widget_extensions.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../fe_guide/merge_request_widget_extensions.md' -remove_date: '2022-11-15' ---- - -This document was moved to [another location](../../fe_guide/merge_request_widget_extensions.md). - -<!-- This redirect file can be deleted after <2022-11-15>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/new_fe_guide/tips.md b/doc/development/new_fe_guide/tips.md deleted file mode 100644 index 83c1db696b4..00000000000 --- a/doc/development/new_fe_guide/tips.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../fe_guide/index.md' -remove_date: '2022-11-15' ---- - -This document was moved to [another location](../fe_guide/index.md). - -<!-- This redirect file can be deleted after <2022-11-15>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/ordering_table_columns.md b/doc/development/ordering_table_columns.md deleted file mode 100644 index b665cb0d4c7..00000000000 --- a/doc/development/ordering_table_columns.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/ordering_table_columns.md' -remove_date: '2022-11-04' ---- - -This document was moved to [another location](database/ordering_table_columns.md). - -<!-- This redirect file can be deleted after <2022-11-04>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/performance.md b/doc/development/performance.md index 3881fad0528..0d8f31424c3 100644 --- a/doc/development/performance.md +++ b/doc/development/performance.md @@ -37,7 +37,7 @@ consistent performance of GitLab. Refer to the [Index](#performance-documentatio - [Service measurement](../development/service_measurement.md) - Self-managed administration and customer-focused: - [File system performance benchmarking](../administration/operations/filesystem_benchmarking.md) - - [Sidekiq performance troubleshooting](../administration/troubleshooting/sidekiq.md) + - [Sidekiq performance troubleshooting](../administration/sidekiq/sidekiq_troubleshooting.md) ## Workflow @@ -74,7 +74,7 @@ GitLab provides built-in tools to help improve performance and availability: - [Profiling](profiling.md). - [Distributed Tracing](distributed_tracing.md) - [GitLab Performance Monitoring](../administration/monitoring/performance/index.md). -- [QueryRecoder](query_recorder.md) for preventing `N+1` regressions. +- [QueryRecoder](database/query_recorder.md) for preventing `N+1` regressions. - [Chaos endpoints](chaos_endpoints.md) for testing failure scenarios. Intended mainly for testing availability. - [Service measurement](service_measurement.md) for measuring and logging service execution. diff --git a/doc/development/polymorphic_associations.md b/doc/development/polymorphic_associations.md deleted file mode 100644 index 6b9158b8408..00000000000 --- a/doc/development/polymorphic_associations.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/polymorphic_associations.md' -remove_date: '2022-11-04' ---- - -This document was moved to [another location](database/polymorphic_associations.md). - -<!-- This redirect file can be deleted after <2022-11-04>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/profiling.md b/doc/development/profiling.md index 3eb2c7c9144..d2baf720b30 100644 --- a/doc/development/profiling.md +++ b/doc/development/profiling.md @@ -149,7 +149,7 @@ ENABLE_BULLET=true bundle exec rails s Bullet logs query problems to both the Rails log as well as the browser console. -As a follow up to finding `N+1` queries with Bullet, consider writing a [QueryRecoder test](query_recorder.md) to prevent a regression. +As a follow up to finding `N+1` queries with Bullet, consider writing a [QueryRecoder test](database/query_recorder.md) to prevent a regression. ## System stats diff --git a/doc/development/query_count_limits.md b/doc/development/query_count_limits.md deleted file mode 100644 index f16c8cfc6cd..00000000000 --- a/doc/development/query_count_limits.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/query_count_limits.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/query_count_limits.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/query_performance.md b/doc/development/query_performance.md deleted file mode 100644 index 618d007f766..00000000000 --- a/doc/development/query_performance.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/query_performance.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/query_performance.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/query_recorder.md b/doc/development/query_recorder.md deleted file mode 100644 index cb05bc604af..00000000000 --- a/doc/development/query_recorder.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/query_recorder.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/query_recorder.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/scalability.md b/doc/development/scalability.md index 671086f33b2..de9c57c2f2a 100644 --- a/doc/development/scalability.md +++ b/doc/development/scalability.md @@ -267,7 +267,7 @@ However, there are a number of strategies to ensure queues get drained in a timely manner: - Add more processing capacity. This can be done by spinning up more - instances of Sidekiq or [Sidekiq Cluster](../administration/operations/extra_sidekiq_processes.md). + instances of Sidekiq or [Sidekiq Cluster](../administration/sidekiq/extra_sidekiq_processes.md). - Split jobs into smaller units of work. For example, `PostReceive` used to process each commit message in the push, but now it farms out this to `ProcessCommitWorker`. diff --git a/doc/development/serializing_data.md b/doc/development/serializing_data.md deleted file mode 100644 index aa8b20eded7..00000000000 --- a/doc/development/serializing_data.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/serializing_data.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/serializing_data.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/sha1_as_binary.md b/doc/development/sha1_as_binary.md deleted file mode 100644 index 7f928d09470..00000000000 --- a/doc/development/sha1_as_binary.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/sha1_as_binary.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/sha1_as_binary.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/single_table_inheritance.md b/doc/development/single_table_inheritance.md deleted file mode 100644 index da8d48f2a42..00000000000 --- a/doc/development/single_table_inheritance.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/single_table_inheritance.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/single_table_inheritance.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/swapping_tables.md b/doc/development/swapping_tables.md deleted file mode 100644 index eaa6568dc36..00000000000 --- a/doc/development/swapping_tables.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/swapping_tables.md' -remove_date: '2022-11-04' ---- - -This document was moved to [another location](database/swapping_tables.md). - -<!-- This redirect file can be deleted after <2022-11-04>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/testing_guide/best_practices.md b/doc/development/testing_guide/best_practices.md index 05751b94313..80a4604c341 100644 --- a/doc/development/testing_guide/best_practices.md +++ b/doc/development/testing_guide/best_practices.md @@ -1341,7 +1341,7 @@ Testing query performance allows us to: `QueryRecorder` allows profiling and testing of the number of database queries performed in a given block of code. -See the [`QueryRecorder`](../query_recorder.md) section for more details. +See the [`QueryRecorder`](../database/query_recorder.md) section for more details. #### GitalyClient diff --git a/doc/development/understanding_explain_plans.md b/doc/development/understanding_explain_plans.md deleted file mode 100644 index 72c3df11a96..00000000000 --- a/doc/development/understanding_explain_plans.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/understanding_explain_plans.md' -remove_date: '2022-11-04' ---- - -This document was moved to [another location](database/understanding_explain_plans.md). - -<!-- This redirect file can be deleted after <2022-11-04>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/development/verifying_database_capabilities.md b/doc/development/verifying_database_capabilities.md deleted file mode 100644 index 0217eb96e5a..00000000000 --- a/doc/development/verifying_database_capabilities.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/verifying_database_capabilities.md' -remove_date: '2022-11-06' ---- - -This document was moved to [another location](database/verifying_database_capabilities.md). - -<!-- This redirect file can be deleted after <2022-11-06>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/install/installation.md b/doc/install/installation.md index c00a959e037..8e8dd4bc7a3 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -32,7 +32,7 @@ Because an installation from source is a lot of work and error prone we strongly One reason the Omnibus package is more reliable is its use of runit to restart any of the GitLab processes in case one crashes. On heavily used GitLab instances the memory usage of the Sidekiq background worker grows over time. -Omnibus packages solve this by [letting the Sidekiq terminate gracefully](../administration/operations/sidekiq_memory_killer.md) if it uses too much memory. +Omnibus packages solve this by [letting the Sidekiq terminate gracefully](../administration/sidekiq/sidekiq_memory_killer.md) if it uses too much memory. After this termination runit detects Sidekiq is not running and starts it. Because installations from source don't use runit for process supervision, Sidekiq can't be terminated and its memory usage grows over time. diff --git a/doc/operations/tracing.md b/doc/operations/tracing.md deleted file mode 100644 index b3c0763bbbc..00000000000 --- a/doc/operations/tracing.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -stage: Monitor -group: Respond -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments -remove_date: '2022-11-01' -redirect_to: 'index.md' ---- - -# Tracing (removed) **(FREE SELF)** - -This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346540) in GitLab 14.7 -and [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/346540) in GitLab 15.2. -We are working on an alternative to replace tracing. -To learn more, visit the [Observability direction page](https://about.gitlab.com/direction/monitor/observability/). diff --git a/doc/raketasks/index.md b/doc/raketasks/index.md index 4a157688a41..6d1a8d32adc 100644 --- a/doc/raketasks/index.md +++ b/doc/raketasks/index.md @@ -39,7 +39,7 @@ The following Rake tasks are available for use with GitLab: | [Praefect Rake tasks](../administration/raketasks/praefect.md) | [Praefect](../administration/gitaly/praefect.md)-related tasks. | | [Project import/export](../administration/raketasks/project_import_export.md) | Prepare for [project exports and imports](../user/project/settings/import_export.md). | | [Sample Prometheus data](generate_sample_prometheus_data.md) | Generate sample Prometheus data. | -| [Sidekiq job migration](sidekiq_job_migration.md) | Migrate Sidekiq jobs scheduled for future dates to a new queue. | +| [Sidekiq job migration](../administration/sidekiq/sidekiq_job_migration.md) | Migrate Sidekiq jobs scheduled for future dates to a new queue. | | [SMTP maintenance](../administration/raketasks/smtp.md) | SMTP-related tasks. | | [SPDX license list import](spdx.md) | Import a local copy of the [SPDX license list](https://spdx.org/licenses/) for matching [License Compliance policies](../user/compliance/license_compliance/index.md). | | [Repository storage](../administration/raketasks/storage.md) | List and migrate existing projects and attachments from legacy storage to hashed storage. | diff --git a/doc/raketasks/sidekiq_job_migration.md b/doc/raketasks/sidekiq_job_migration.md deleted file mode 100644 index 45a0cbaa267..00000000000 --- a/doc/raketasks/sidekiq_job_migration.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../administration/sidekiq/sidekiq_job_migration.md' -remove_date: '2022-11-11' ---- - -This document was moved to [another location](../administration/sidekiq/sidekiq_job_migration.md). - -<!-- This redirect file can be deleted after <2022-11-11>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/update/deprecations.md b/doc/update/deprecations.md index 8d690e2c17c..8748f992767 100644 --- a/doc/update/deprecations.md +++ b/doc/update/deprecations.md @@ -48,6 +48,27 @@ sole discretion of GitLab Inc. <div class="announcement-milestone"> +## Announced in 15.7 + +<div class="deprecation removal-160 breaking-change"> + +### KAS Metrics Port in GitLab Helm Chart + +End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> +Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) + +WARNING: +This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). +Review the details carefully before upgrading. + +The `gitlab.kas.metrics.port` has been deprecated in favor of the new `gitlab.kas.observability.port` configuration field for the [GitLab Helm Chart](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/2839). +This port is used for much more than just metrics, which warranted this change to avoid confusion in configuration. + +</div> +</div> + +<div class="announcement-milestone"> + ## Announced in 15.6 <div class="deprecation removal-160 breaking-change"> diff --git a/doc/user/admin_area/monitoring/health_check.md b/doc/user/admin_area/monitoring/health_check.md index 2939a8b0418..668d34af024 100644 --- a/doc/user/admin_area/monitoring/health_check.md +++ b/doc/user/admin_area/monitoring/health_check.md @@ -133,7 +133,7 @@ This check is being exempt from Rack Attack. ## Sidekiq -Learn how to configure the [Sidekiq health checks](../../../administration/sidekiq_health_check.md). +Learn how to configure the [Sidekiq health checks](../../../administration/sidekiq/sidekiq_health_check.md). <!-- ## Troubleshooting diff --git a/doc/user/admin_area/settings/sidekiq_job_limits.md b/doc/user/admin_area/settings/sidekiq_job_limits.md index 7a437d877ca..a25bc0e85e4 100644 --- a/doc/user/admin_area/settings/sidekiq_job_limits.md +++ b/doc/user/admin_area/settings/sidekiq_job_limits.md @@ -9,7 +9,7 @@ type: reference > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68982) in GitLab 14.3. -[Sidekiq](../../../administration/sidekiq.md) jobs get stored in +[Sidekiq](../../../administration/sidekiq/index.md) jobs get stored in Redis. To avoid excessive memory for Redis, we: - Compress job arguments before storing them in Redis. diff --git a/doc/user/clusters/management_project_template.md b/doc/user/clusters/management_project_template.md index cbe577b9b74..a8d874ed608 100644 --- a/doc/user/clusters/management_project_template.md +++ b/doc/user/clusters/management_project_template.md @@ -102,7 +102,7 @@ The [built-in supported applications](https://gitlab.com/gitlab-org/project-temp - [Cert-manager](../infrastructure/clusters/manage/management_project_applications/certmanager.md) - [GitLab Runner](../infrastructure/clusters/manage/management_project_applications/runner.md) - [Ingress](../infrastructure/clusters/manage/management_project_applications/ingress.md) -- [Prometheus](../infrastructure/clusters/manage/management_project_applications/prometheus.md) +- [Prometheus](../../operations/metrics/index.md) - [Vault](../infrastructure/clusters/manage/management_project_applications/vault.md) Each application has an `applications/{app}/values.yaml` file. diff --git a/doc/user/group/import/index.md b/doc/user/group/import/index.md index 6dcc01242c2..3ede5ebf4bb 100644 --- a/doc/user/group/import/index.md +++ b/doc/user/group/import/index.md @@ -9,14 +9,14 @@ info: To determine the technical writer assigned to the Stage/Group associated w > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/249160) in GitLab 13.7 for group resources [with a flag](../../feature_flags.md) named `bulk_import`. Disabled by default. > - Group items [enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/338985) in GitLab 14.3. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/267945) in GitLab 14.4 for project resources [with a flag](../../feature_flags.md) named `bulk_import_projects`. Disabled by default. +> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/339941) in GitLab 15.6. FLAG: On self-managed GitLab, by default [migrating group items](#migrated-group-items) is available. To hide the feature, ask an administrator to [disable the feature flag](../../../administration/feature_flags.md) named `bulk_import`. On self-managed GitLab, by default [migrating project items](#migrated-project-items) is not available. To show this feature, ask an administrator to [enable the feature flag](../../../administration/feature_flags.md) named -`bulk_import_projects`. On GitLab.com, migrating group resources is available but migrating project resources is not -available. +`bulk_import_projects`. On GitLab.com, migration of both groups and projects is available. Users with the Owner role on a top-level group can use GitLab Migration to migrate the group to: @@ -116,10 +116,11 @@ Any other items are **not** migrated. ## Migrated project items -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/267945) in GitLab 14.4 [with a flag](../../feature_flags.md) named `bulk_import_projects`. Disabled by default. +> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/267945) in GitLab 14.4 [with a flag](../../feature_flags.md) named `bulk_import_projects`. Disabled by default. +> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/339941) in GitLab 15.6. FLAG: -On self-managed GitLab, migrating project resources are not available by default. To make them available, ask an administrator to [enable the feature flag](../../../administration/feature_flags.md) named `bulk_import_projects`. On GitLab.com, migrating project resources are not available. +On self-managed GitLab, migrating project resources are not available by default. To make them available, ask an administrator to [enable the feature flag](../../../administration/feature_flags.md) named `bulk_import_projects`. On GitLab.com, migration of project resources is available. The [`import_export.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/import_export/project/import_export.yml) file for projects lists many of the items migrated when migrating projects using group migration. View this file in the branch @@ -131,6 +132,7 @@ Migrating projects with file exports uses the same export and import mechanisms - Projects ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/267945) in GitLab 14.4) - Auto DevOps ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339410) in GitLab 14.6) + - Badges ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75029) in GitLab 14.6) - Branches (including protected branches) ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339414) in GitLab 14.7) - CI Pipelines ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339407) in GitLab 14.6) - Designs ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339421) in GitLab 15.1) @@ -140,6 +142,8 @@ Migrating projects with file exports uses the same export and import mechanisms - Issue resource milestone events ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/291983) in GitLab 15.4) - Issue resource iteration events ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/291983) in GitLab 15.4) - Merge request URL references ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/267947) in GitLab 15.6) + - Time Tracking ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/267946) in GitLab 14.4) + - Issue boards ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71661) in GitLab 14.4) - Labels ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339419) in GitLab 14.4) - LFS Objects ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339405) in GitLab 14.8) - Members ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/341886) in GitLab 14.8) @@ -150,17 +154,29 @@ Migrating projects with file exports uses the same export and import mechanisms - Merge request resource state events ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/291983) in GitLab 15.4) - Merge request resource milestone events ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/291983) in GitLab 15.4) - Issue URL references ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/267947) in GitLab 15.6) - - Migrate Push Rules ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339403) in GitLab 14.6) - - Pull Requests (including external pull requests) ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339409) in GitLab 14.5) + - Time Tracking ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339403) in GitLab 14.5) + - Push Rules ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339403) in GitLab 14.6) + - Milestones ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339417) in GitLab 14.5) + - External Pull Requests ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339409) in GitLab 14.5) - Pipeline History ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339412) in GitLab 14.6) - Pipeline Schedules ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339408) in GitLab 14.8) + - Project Features ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74722) in GitLab 14.6) - Releases ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339422) in GitLab 15.1) - Release Evidences ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/360567) in GitLab 15.1) - Repositories ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/267945) in GitLab 14.4) - Snippets ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/343438) in GitLab 14.6) + - Settings ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339416) in GitLab 14.6) + - Avatar ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75249) in GitLab 14.6) + - Container Expiration Policy ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75653) in GitLab 14.6) + - Project Properties ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75898) in GitLab 14.6) + - Service Desk ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75653) in GitLab 14.6) - Uploads ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/339401) in GitLab 14.5) - Wikis ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/345923) in GitLab 14.6) +Items excluded from migration, because they contain sensitive information: + +- Pipeline Triggers + ## Troubleshooting Group Migration In a [rails console session](../../../administration/operations/rails_console.md#starting-a-rails-console-session), diff --git a/doc/user/infrastructure/clusters/manage/management_project_applications/prometheus.md b/doc/user/infrastructure/clusters/manage/management_project_applications/prometheus.md deleted file mode 100644 index 64d325dedc6..00000000000 --- a/doc/user/infrastructure/clusters/manage/management_project_applications/prometheus.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../../../../operations/metrics/index.md' -remove_date: '2022-11-03' ---- - -This document was moved to [another location](../../../../../operations/metrics/index.md). - -<!-- This redirect file can be deleted after <2022-11-03>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/user/infrastructure/clusters/manage/management_project_applications/sentry.md b/doc/user/infrastructure/clusters/manage/management_project_applications/sentry.md deleted file mode 100644 index f42e9c83120..00000000000 --- a/doc/user/infrastructure/clusters/manage/management_project_applications/sentry.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../../../../operations/error_tracking.md' -remove_date: '2022-11-03' ---- - -This document was moved to [another location](../../../../../operations/error_tracking.md). - -<!-- This redirect file can be deleted after <2022-11-03>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/doc/user/project/merge_requests/merge_request_dependencies.md b/doc/user/project/merge_requests/merge_request_dependencies.md deleted file mode 100644 index 6242a77e931..00000000000 --- a/doc/user/project/merge_requests/merge_request_dependencies.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'dependencies.md' -remove_date: '2022-11-22' ---- - -This document was moved to [another location](dependencies.md). - -<!-- This redirect file can be deleted after <2022-11-22>. --> -<!-- Redirects that point to other docs in the same project expire in three months. --> -<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. --> -<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html --> diff --git a/qa/Gemfile b/qa/Gemfile index c6dab3457c8..2eb3bf7e4f5 100644 --- a/qa/Gemfile +++ b/qa/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' -gem 'gitlab-qa', '~> 8', '>= 8.12.0', require: 'gitlab/qa' +gem 'gitlab-qa', '~> 8', '>= 8.13.1', require: 'gitlab/qa' gem 'activesupport', '~> 6.1.4.7' # This should stay in sync with the root's Gemfile gem 'allure-rspec', '~> 2.19.0' gem 'capybara', '~> 3.38.0' diff --git a/qa/Gemfile.lock b/qa/Gemfile.lock index 9dd3dde7e27..e7578c2c080 100644 --- a/qa/Gemfile.lock +++ b/qa/Gemfile.lock @@ -100,7 +100,7 @@ GEM gitlab (4.18.0) httparty (~> 0.18) terminal-table (>= 1.5.1) - gitlab-qa (8.12.0) + gitlab-qa (8.13.1) activesupport (~> 6.1) gitlab (~> 4.18.0) http (~> 5.0) @@ -311,7 +311,7 @@ DEPENDENCIES faraday-retry (~> 2.0) fog-core (= 2.1.0) fog-google (~> 1.19) - gitlab-qa (~> 8, >= 8.12.0) + gitlab-qa (~> 8, >= 8.13.1) influxdb-client (~> 2.8) knapsack (~> 4.0) nokogiri (~> 1.13, >= 1.13.9) @@ -336,4 +336,4 @@ DEPENDENCIES zeitwerk (~> 2.4) BUNDLED WITH - 2.3.25 + 2.3.26 diff --git a/qa/qa/page/component/dropdown.rb b/qa/qa/page/component/dropdown.rb new file mode 100644 index 00000000000..2d05bea50a9 --- /dev/null +++ b/qa/qa/page/component/dropdown.rb @@ -0,0 +1,106 @@ +# frozen_string_literal: true + +module QA + module Page + module Component + module Dropdown + include Select2 + + def select_item(item_text) + return super if use_select2? + + find('li.gl-new-dropdown-item', text: item_text, match: :prefer_exact).click + end + + def has_item?(item_text) + return super if use_select2? + + has_css?('li.gl-new-dropdown-item', text: item_text, match: :prefer_exact) + end + + def current_selection + return super if use_select2? + + expand_select_list unless dropdown_open? + find('span.gl-new-dropdown-button-text').text + end + + def clear_current_selection_if_present + return super if use_select2? + + expand_select_list unless dropdown_open? + + if has_css?('button[data-testid="listbox-reset-button"]') + find('button[data-testid="listbox-reset-button"]').click + elsif dropdown_open? + expand_select_list + end + end + + def search_item(item_text) + return super if use_select2? + + find('div.gl-search-box-by-type input[type="Search"]').set(item_text) + wait_for_search_to_complete + end + + def search_and_select(item_text) + return super if use_select2? + + QA::Runtime::Logger.info "Searching and selecting: #{item_text}" + + search_item(item_text) + + unless has_item?(item_text) + raise QA::Page::Base::ElementNotFound, %(Couldn't find option named "#{item_text}") + end + + select_item(item_text) + end + + def search_and_select_exact(item_text) + return super if use_select2? + + QA::Runtime::Logger.info "Searching and selecting: #{item_text}" + + search_item(item_text) + + unless has_item?(item_text) + raise QA::Page::Base::ElementNotFound, %(Couldn't find option named "#{item_text}") + end + + find('li.gl-new-dropdown-item span:nth-child(2)', text: item_text, exact_text: true).click + end + + def expand_select_list + return super if use_select2? + + find('svg.dropdown-chevron').click + end + + def wait_for_search_to_complete + return super if use_select2? + + Support::WaitForRequests.wait_for_requests + + has_css?('div[data-testid="listbox-search-loader"]', wait: 1) + has_no_css?('div[data-testid="listbox-search-loader"]') + end + + def dropdown_open? + return super if use_select2? + + has_css?('ul.gl-new-dropdown-contents', wait: 1) + end + + private + + # rubocop:disable Gitlab/PredicateMemoization + def use_select2? + @use_select2 ||= has_css?('.select2-container', wait: 1) + end + # rubocop:enable Gitlab/PredicateMemoization + end + end + end +end |