summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-03-02 03:12:24 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-03-02 03:12:24 +0000
commitd96347b5c2dcec453de2583fd6654e2c34eedfdc (patch)
tree6b40fe6f1b2bd709e9468475e1b26212b2b6079e
parent0a774a7029e6a2b76e7073445b81577a16b4f8b6 (diff)
downloadgitlab-ce-d96347b5c2dcec453de2583fd6654e2c34eedfdc.tar.gz
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--app/finders/concerns/updated_at_filter.rb10
-rw-r--r--app/finders/milestones_finder.rb7
-rw-r--r--app/models/ci/pipeline.rb2
-rw-r--r--app/views/projects/ml/experiments/_incubation_banner.html.haml8
-rw-r--r--doc/api/group_iterations.md4
-rw-r--r--doc/api/iterations.md4
-rw-r--r--doc/update/index.md287
-rw-r--r--locale/gitlab.pot9
8 files changed, 174 insertions, 157 deletions
diff --git a/app/finders/concerns/updated_at_filter.rb b/app/finders/concerns/updated_at_filter.rb
new file mode 100644
index 00000000000..2d6bd7bf9f3
--- /dev/null
+++ b/app/finders/concerns/updated_at_filter.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+module UpdatedAtFilter
+ def by_updated_at(items)
+ items = items.updated_before(params[:updated_before]) if params[:updated_before].present?
+ items = items.updated_after(params[:updated_after]) if params[:updated_after].present?
+
+ items
+ end
+end
diff --git a/app/finders/milestones_finder.rb b/app/finders/milestones_finder.rb
index c266f589dda..9ffd623338f 100644
--- a/app/finders/milestones_finder.rb
+++ b/app/finders/milestones_finder.rb
@@ -15,6 +15,7 @@
class MilestonesFinder
include FinderMethods
include TimeFrameFilter
+ include UpdatedAtFilter
attr_reader :params
@@ -94,12 +95,6 @@ class MilestonesFinder
EXPIRED_LAST_SORTS.include?(sort_by)
end
- def by_updated_at(items)
- items = items.updated_before(params[:updated_before]) if params[:updated_before].present?
- items = items.updated_after(params[:updated_after]) if params[:updated_after].present?
- items
- end
-
def by_iids(items)
return items unless params[:iids].present? && !params[:include_parent_milestones]
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index bd426e02b9c..d09603c7e47 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -1282,7 +1282,7 @@ module Ci
types_to_collect = report_types.empty? ? ::Ci::JobArtifact::SECURITY_REPORT_FILE_TYPES : report_types
::Gitlab::Ci::Reports::Security::Reports.new(self).tap do |security_reports|
- latest_report_builds(reports_scope).each do |build|
+ latest_report_builds_in_self_and_project_descendants(reports_scope).each do |build|
build.collect_security_reports!(security_reports, report_types: types_to_collect)
end
end
diff --git a/app/views/projects/ml/experiments/_incubation_banner.html.haml b/app/views/projects/ml/experiments/_incubation_banner.html.haml
deleted file mode 100644
index e34f3fd2d2f..00000000000
--- a/app/views/projects/ml/experiments/_incubation_banner.html.haml
+++ /dev/null
@@ -1,8 +0,0 @@
-= render Pajamas::AlertComponent.new(variant: :warning,
- title: _('Machine Learning Experiment Tracking is in Incubating Phase'),
- alert_options: { class: 'gl-my-3' }) do |c|
- = c.body do
- = _('GitLab incubates features to explore new use cases. These features are updated regularly, and support is limited')
- = link_to _('Learn more.'), 'https://about.gitlab.com/handbook/engineering/incubation/', target: "_blank"
- = c.actions do
- = link_to _('Feedback and Updates'), 'https://gitlab.com/groups/gitlab-org/-/epics/8560', target: "_blank"
diff --git a/doc/api/group_iterations.md b/doc/api/group_iterations.md
index 3c445ee09dd..b2439861c2f 100644
--- a/doc/api/group_iterations.md
+++ b/doc/api/group_iterations.md
@@ -22,6 +22,8 @@ GET /groups/:id/iterations?state=opened
GET /groups/:id/iterations?state=closed
GET /groups/:id/iterations?search=version
GET /groups/:id/iterations?include_ancestors=false
+GET /groups/:id/iterations?updated_before=2013-10-02T09%3A24%3A18Z
+GET /groups/:id/iterations?updated_after=2013-10-02T09%3A24%3A18Z
```
| Attribute | Type | Required | Description |
@@ -29,6 +31,8 @@ GET /groups/:id/iterations?include_ancestors=false
| `state` | string | no | 'Return `opened`, `upcoming`, `current (previously started)`, `closed`, or `all` iterations. Filtering by `started` state is deprecated starting with 14.1, use `current` instead.' |
| `search` | string | no | Return only iterations with a title matching the provided string. |
| `include_ancestors` | boolean | no | Include iterations from parent group and its ancestors. Defaults to `true`. |
+| `updated_before` | datetime | no | Return only iterations updated before the given datetime. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/378662) in GitLab 15.10. |
+| `updated_after` | datetime | no | Return only iterations updated after the given datetime. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/378662) in GitLab 15.10. |
Example request:
diff --git a/doc/api/iterations.md b/doc/api/iterations.md
index 4997a917a5a..ca280437eaf 100644
--- a/doc/api/iterations.md
+++ b/doc/api/iterations.md
@@ -24,6 +24,8 @@ GET /projects/:id/iterations?state=opened
GET /projects/:id/iterations?state=closed
GET /projects/:id/iterations?search=version
GET /projects/:id/iterations?include_ancestors=false
+GET /projects/:id/iterations?updated_before=2013-10-02T09%3A24%3A18Z
+GET /projects/:id/iterations?updated_after=2013-10-02T09%3A24%3A18Z
```
| Attribute | Type | Required | Description |
@@ -31,6 +33,8 @@ GET /projects/:id/iterations?include_ancestors=false
| `state` | string | no | 'Return `opened`, `upcoming`, `current (previously started)`, `closed`, or `all` iterations. Filtering by `started` state is deprecated starting with 14.1, please use `current` instead.' |
| `search` | string | no | Return only iterations with a title matching the provided string. |
| `include_ancestors` | boolean | no | Include iterations from parent group and its ancestors. Defaults to `true`. |
+| `updated_before` | datetime | no | Return only iterations updated before the given datetime. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/378662) in GitLab 15.10. |
+| `updated_after` | datetime | no | Return only iterations updated after the given datetime. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/378662) in GitLab 15.10. |
Example request:
diff --git a/doc/update/index.md b/doc/update/index.md
index e4f116d420a..b12839ab227 100644
--- a/doc/update/index.md
+++ b/doc/update/index.md
@@ -279,139 +279,9 @@ and [Helm Chart deployments](https://docs.gitlab.com/charts/). They come with ap
unavailable repositories in the metrics and `praefect dataloss` sub-command because of the replica records being removed. If you encounter such repositories, remove
the repository using `praefect remove-repository` to remove the repository's remaining records.
- You can find repositories with invalid metadata records prior in GitLab 15.0 and later by searching for the log records outputted by the verifier. You can find an example log record [here](../administration/gitaly/praefect.md#repository-verification).
-- Praefect configuration structure in Omnibus GitLab [has changed](https://gitlab.com/gitlab-org/gitaly/-/issues/4467) to be consistent with the Praefect configuration structure
- used in source installs. Praefect configuration is now under `praefect['configuration']` as a single hash. There are still other top-level keys in `praefect` used by
- Omnibus GitLab.
-
- Migrate by moving your existing configuration under the new structure. Below is the new structure with the old keys described in a comment above the key. Replace the
- `...` with the value from the old key. Default values are the same. If you haven't configured a value previously, you don't need to configure it. Remove the old keys
- from the configuration once migrated.
-
- ```ruby
- praefect['configuration'] = {
- # praefect['listen_addr']
- listen_addr: ...,
- # praefect['socket_path']
- socket_path: ...,
- # praefect['prometheus_listen_addr']
- prometheus_listen_addr: ...,
- # praefect['tls_listen_addr']
- tls_listen_addr: ...,
- # praefect['separate_database_metrics']
- prometheus_exclude_database_from_default_metrics: ...,
- auth: {
- # praefect['auth_token']
- token: ...,
- # praefect['auth_transitioning']
- transitioning: ...,
- },
- logging: {
- # praefect['logging_format']
- format: ...,
- # praefect['logging_level']
- level: ...,
- },
- failover: {
- # praefect['failover_enabled']
- enabled: ...,
- },
- background_verification: {
- # praefect['background_verification_delete_invalid_records']
- delete_invalid_records: ...
- # praefect['background_verification_verification_interval']
- verification_interval: ...,
- },
- reconciliation: {
- # praefect['reconciliation_scheduling_interval']
- scheduling_interval: ...,
- # praefect['reconciliation_histogram_buckets']. The old value was configured as a string
- # such as '[0, 1, 2]'. The new value must be an array like [0, 1, 2].
- histogram_buckets: ...,
- },
- tls: {
- # praefect['certificate_path']
- certificate_path: ...,
- # praefect['key_path']
- key_path: ...,
- },
- database: {
- # praefect['database_host']
- host: ...,
- # praefect['database_port']
- port: ...,
- # praefect['database_user']
- user: ...,
- # praefect['database_password']
- password: ...,
- # praefect['database_dbname']
- dbname: ...,
- # praefect['database_sslmode']
- sslmode: ...,
- # praefect['database_sslcert']
- sslcert: ...,
- # praefect['database_sslkey']
- sslkey: ...,
- # praefect['database_sslrootcert']
- sslrootcert: ...,
- session_pooled: {
- # praefect['database_direct_host']
- host: ...,
- # praefect['database_direct_port']
- port: ...,
- # praefect['database_direct_user']
- user: ...,
- # praefect['database_direct_password']
- password: ...,
- # praefect['database_direct_dbname']
- dbname: ...,
- # praefect['database_direct_sslmode']
- sslmode: ...,
- # praefect['database_direct_sslcert']
- sslcert: ...,
- # praefect['database_direct_sslkey']
- sslkey: ...,
- # praefect['database_direct_sslrootcert']
- sslrootcert: ...,
- }
- },
- sentry: {
- # praefect['sentry_dsn']
- sentry_dsn: ...,
- # praefect['sentry_environment']
- sentry_environment: ...,
- },
- prometheus: {
- # praefect['prometheus_grpc_latency_buckets']. The old value was configured as a string
- # such as '[0, 1, 2]'. The new value must be an array like [0, 1, 2].
- grpc_latency_buckets: ...,
- },
- # praefect['graceful_stop_timeout']
- graceful_stop_timeout: ...,
-
- # praefect['virtual_storages']. The old value was a hash map but the new value is an array.
- virtual_storage: [
- {
- # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]. The name was previously the key in
- # the 'virtual_storages' hash.
- name: ...,
- # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]['nodes'][NODE_NAME]. The old value was a hash map
- # but the new value is an array.
- node: [
- {
- # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]['nodes'][NODE_NAME]. Use NODE_NAME key as the
- # storage.
- storage: ...,
- # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]['nodes'][NODE_NAME]['address'].
- address: ...,
- # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]['nodes'][NODE_NAME]['token'].
- token: ...
- },
- ],
- }
- ]
- }
- ```
+ You can find repositories with invalid metadata records prior in GitLab 15.0 and later by searching for the log records outputted by the verifier. [Read more about repository verification, and to see an example log entry](../administration/gitaly/praefect.md#repository-verification).
+- Praefect configuration changes significantly in Omnibus GitLab 16.0. You can begin migrating to the new structure in Omnibus GitLab 15.9 while backwards compatibility is
+ maintained in the lead up to Omnibus GitLab 16.0. [Read more about this change](#praefect-omnibus-gitlab-configuration-structure-change).
### 15.8.2
@@ -1632,6 +1502,157 @@ This issue is resolved in GitLab 15.3.3, so customers with the following configu
- LFS objects are being replicated across Geo sites.
- Repositories are being pulled by using a Geo secondary site.
+### Praefect: Omnibus GitLab configuration structure change
+
+Praefect configuration structure in Omnibus GitLab [changes](https://gitlab.com/gitlab-org/gitaly/-/issues/4467) in GitLab 16.0 to be consistent with the Praefect configuration
+structure used in source installs.
+
+As a result of this change, a single hash under `praefect['configuration']` holds most Praefect
+configuration. Some `praefect['..']` configuration options will continue to be used by Omnibus GitLab 16.0 and later:
+
+- `enable`
+- `dir`
+- `log_directory`
+- `env_directory`
+- `env`
+- `wrapper_path`
+- `auto_migrate`
+- `consul_service_name`
+
+Migrate by moving your existing configuration under the new structure. The new structure is supported from Omnibus GitLab 15.9.
+
+The new structure is documented below with the old keys described in a comment above the new keys. When applying the new structure to your configuration:
+
+1. Replace the `...` with the value from the old key.
+1. Skip any keys you haven't configured a value for previously.
+1. Remove the old keys from the configuration once migrated.
+1. Optional but recommended. Include a trailing comma for all hash keys so the hash remains valid when keys are re-ordered or additional keys are added.
+
+```ruby
+praefect['configuration'] = {
+ # praefect['listen_addr']
+ listen_addr: ...,
+ # praefect['socket_path']
+ socket_path: ...,
+ # praefect['prometheus_listen_addr']
+ prometheus_listen_addr: ...,
+ # praefect['tls_listen_addr']
+ tls_listen_addr: ...,
+ # praefect['separate_database_metrics']
+ prometheus_exclude_database_from_default_metrics: ...,
+ auth: {
+ # praefect['auth_token']
+ token: ...,
+ # praefect['auth_transitioning']
+ transitioning: ...,
+ },
+ logging: {
+ # praefect['logging_format']
+ format: ...,
+ # praefect['logging_level']
+ level: ...,
+ },
+ failover: {
+ # praefect['failover_enabled']
+ enabled: ...,
+ },
+ background_verification: {
+ # praefect['background_verification_delete_invalid_records']
+ delete_invalid_records: ...,
+ # praefect['background_verification_verification_interval']
+ verification_interval: ...,
+ },
+ reconciliation: {
+ # praefect['reconciliation_scheduling_interval']
+ scheduling_interval: ...,
+ # praefect['reconciliation_histogram_buckets']. The old value was configured as a string
+ # such as '[0, 1, 2]'. The new value must be an array like [0, 1, 2].
+ histogram_buckets: ...,
+ },
+ tls: {
+ # praefect['certificate_path']
+ certificate_path: ...,
+ # praefect['key_path']
+ key_path: ...,
+ },
+ database: {
+ # praefect['database_host']
+ host: ...,
+ # praefect['database_port']
+ port: ...,
+ # praefect['database_user']
+ user: ...,
+ # praefect['database_password']
+ password: ...,
+ # praefect['database_dbname']
+ dbname: ...,
+ # praefect['database_sslmode']
+ sslmode: ...,
+ # praefect['database_sslcert']
+ sslcert: ...,
+ # praefect['database_sslkey']
+ sslkey: ...,
+ # praefect['database_sslrootcert']
+ sslrootcert: ...,
+ session_pooled: {
+ # praefect['database_direct_host']
+ host: ...,
+ # praefect['database_direct_port']
+ port: ...,
+ # praefect['database_direct_user']
+ user: ...,
+ # praefect['database_direct_password']
+ password: ...,
+ # praefect['database_direct_dbname']
+ dbname: ...,
+ # praefect['database_direct_sslmode']
+ sslmode: ...,
+ # praefect['database_direct_sslcert']
+ sslcert: ...,
+ # praefect['database_direct_sslkey']
+ sslkey: ...,
+ # praefect['database_direct_sslrootcert']
+ sslrootcert: ...,
+ }
+ },
+ sentry: {
+ # praefect['sentry_dsn']
+ sentry_dsn: ...,
+ # praefect['sentry_environment']
+ sentry_environment: ...,
+ },
+ prometheus: {
+ # praefect['prometheus_grpc_latency_buckets']. The old value was configured as a string
+ # such as '[0, 1, 2]'. The new value must be an array like [0, 1, 2].
+ grpc_latency_buckets: ...,
+ },
+ # praefect['graceful_stop_timeout']
+ graceful_stop_timeout: ...,
+
+ # praefect['virtual_storages']. The old value was a hash map but the new value is an array.
+ virtual_storage: [
+ {
+ # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]. The name was previously the key in
+ # the 'virtual_storages' hash.
+ name: ...,
+ # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]['nodes'][NODE_NAME]. The old value was a hash map
+ # but the new value is an array.
+ node: [
+ {
+ # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]['nodes'][NODE_NAME]. Use NODE_NAME key as the
+ # storage.
+ storage: ...,
+ # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]['nodes'][NODE_NAME]['address'].
+ address: ...,
+ # praefect['virtual_storages'][VIRTUAL_STORAGE_NAME]['nodes'][NODE_NAME]['token'].
+ token: ...,
+ },
+ ],
+ }
+ ]
+}
+```
+
## Miscellaneous
- [Managing PostgreSQL extensions](../install/postgresql_extensions.md)
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index d3d4126f782..129d1707e29 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -17699,9 +17699,6 @@ msgstr ""
msgid "February"
msgstr ""
-msgid "Feedback and Updates"
-msgstr ""
-
msgid "Fetch and check out this merge request's feature branch:"
msgstr ""
@@ -19052,9 +19049,6 @@ msgstr ""
msgid "GitLab group: %{source_link}"
msgstr ""
-msgid "GitLab incubates features to explore new use cases. These features are updated regularly, and support is limited"
-msgstr ""
-
msgid "GitLab informs you if a new version is available. %{link_start}What information does GitLab Inc. collect?%{link_end}"
msgstr ""
@@ -25850,9 +25844,6 @@ msgstr ""
msgid "Macbook Touch ID on Edge"
msgstr ""
-msgid "Machine Learning Experiment Tracking is in Incubating Phase"
-msgstr ""
-
msgid "Made this %{type} confidential."
msgstr ""