Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
		
							parent
							
								
									e44a58a090
								
							
						
					
					
						commit
						eaae0d5634
					
				|  | @ -19,10 +19,6 @@ export default { | |||
|       type: Array, | ||||
|       required: true, | ||||
|     }, | ||||
|     iconName: { | ||||
|       type: String, | ||||
|       required: true, | ||||
|     }, | ||||
|     stagedList: { | ||||
|       type: Boolean, | ||||
|       required: false, | ||||
|  | @ -73,7 +69,6 @@ export default { | |||
|   <div class="ide-commit-list-container"> | ||||
|     <header class="multi-file-commit-panel-header d-flex mb-0"> | ||||
|       <div class="d-flex align-items-center flex-fill"> | ||||
|         <gl-icon v-once :name="iconName" :size="18" class="gl-mr-3" /> | ||||
|         <strong> {{ titleText }} </strong> | ||||
|         <div class="d-flex ml-auto"> | ||||
|           <button | ||||
|  |  | |||
|  | @ -68,7 +68,6 @@ export default { | |||
|         :active-file-key="activeFileKey" | ||||
|         :empty-state-text="__('There are no changes')" | ||||
|         class="is-first" | ||||
|         icon-name="unstaged" | ||||
|       /> | ||||
|     </template> | ||||
|     <empty-state v-else /> | ||||
|  |  | |||
|  | @ -0,0 +1,5 @@ | |||
| --- | ||||
| title: Removes the hamburger icon in the Changes tab in Web IDE | ||||
| merge_request: 45717 | ||||
| author: | ||||
| type: fixed | ||||
|  | @ -1,5 +0,0 @@ | |||
| --- | ||||
| title: Replace-GlDeprecatedDropdown-with-GlDropdown-in-ee/app/assets/javascripts/geo_node_form-and-ee/app/assets/javascripts/geo_replicable | ||||
| merge_request: 41438 | ||||
| author: nuwe1 | ||||
| type: other | ||||
|  | @ -474,6 +474,81 @@ high-availability configuration with a cluster of nodes supporting a Geo | |||
| **primary** node and another cluster of nodes supporting a Geo **secondary** node. For more | ||||
| information, see [High Availability with Omnibus GitLab](../../postgresql/replication_and_failover.md). | ||||
| 
 | ||||
| ## Patroni support | ||||
| 
 | ||||
| Support for Patroni is intended to replace `repmgr` as a | ||||
| [highly availabile PostgreSQL solution](../../postgresql/replication_and_failover.md)  | ||||
| on the primary node, but it can also be used for PostgreSQL HA on a secondary | ||||
| node. | ||||
| 
 | ||||
| Starting with GitLab 13.5, Patroni is available for _experimental_ use with Geo | ||||
| primary and secondary nodes. Due to its experimental nature, Patroni support is | ||||
| subject to change without notice. | ||||
| 
 | ||||
| This experimental implementation has the following limitations: | ||||
| 
 | ||||
| - Whenever a new Leader is elected, the PgBouncer instance must be reconfigured | ||||
|   to point to the new Leader. | ||||
| - Whenever a new Leader is elected on the primary node, the Standby Leader on | ||||
|   the secondary needs to be reconfigured to point to the new Leader. | ||||
| - Whenever `gitlab-ctl reconfigure` runs on a Patroni Leader instance, there's a | ||||
|   chance the node will be demoted due to the required short-time restart. To | ||||
|   avoid this, you can pause auto-failover by running `gitlab-ctl patroni pause`. | ||||
|   After a reconfigure, it unpauses on its own. | ||||
| 
 | ||||
| For instructions about how to set up Patroni on the primary node, see the  | ||||
| [PostgreSQL replication and failover with Omnibus GitLab](../../postgresql/replication_and_failover.md#patroni) page. | ||||
| 
 | ||||
| A production-ready and secure setup requires at least three Patroni instances on | ||||
| the primary, and a similar configuration on the secondary nodes. Be sure to use | ||||
| password credentials and other database best practices. | ||||
| 
 | ||||
| Similar to `repmgr`, using Patroni on a secondary node is optional.  | ||||
| 
 | ||||
| To set up database replication with Patroni on a secondary node, configure a | ||||
| _permanent replication slot_ on the primary node's Patroni cluster, and ensure | ||||
| password authentication is used. | ||||
| 
 | ||||
| On Patroni instances for the primary node, add the following to the | ||||
| `/etc/gitlab/gitlab.rb` file: | ||||
| 
 | ||||
| ```ruby | ||||
| # You need one entry for each secondary, with a unique name following PostgreSQL slot_name constraints: | ||||
| # | ||||
| # Configuration syntax will be: 'unique_slotname' => { 'type' => 'physical' }, | ||||
| # We don't support setting a permanent replication slot for logical replication type  | ||||
| patroni['replication_slots'] = { | ||||
|     'geo_secondary' => { 'type' => 'physical' } | ||||
| } | ||||
| 
 | ||||
| postgresql['md5_auth_cidr_addresses'] = [ | ||||
|   'PATRONI_PRIMARY1_IP/32', 'PATRONI_PRIMARY2_IP/32', 'PATRONI_PRIMARY3_IP/32', 'PATRONI_PRIMARY_PGBOUNCER/32', | ||||
|   'PATRONI_SECONDARY1_IP/32', 'PATRONI_SECONDARY2_IP/32', 'PATRONI_SECONDARY3_IP/32' # we list all secondary instances as they can all become a Standby Leader | ||||
|   # any other instance that needs access to the database as per documentation  | ||||
| ] | ||||
| 
 | ||||
| postgresql['pgbouncer_user_password'] = 'PGBOUNCER_PASSWORD_HASH' | ||||
| postgresql['sql_replication_password'] = 'POSTGRESQL_REPLICATION_PASSWORD_HASH' | ||||
| postgresql['sql_user_password'] = 'POSTGRESQL_PASSWORD_HASH' | ||||
| ``` | ||||
| 
 | ||||
| On Patroni instances for the secondary node, add the following to the | ||||
| `/etc/gitlab/gitlab.rb` file: | ||||
| 
 | ||||
| ```ruby | ||||
| postgresql['md5_auth_cidr_addresses'] = [ | ||||
|   'PATRONI_SECONDARY1_IP/32', 'PATRONI_SECONDARY2_IP/32', 'PATRONI_SECONDARY3_IP/32', 'PATRONI_SECONDARY_PGBOUNCER/32', | ||||
|   # any other instance that needs access to the database as per documentation  | ||||
| ] | ||||
| 
 | ||||
| patroni['enable'] = true | ||||
| patroni['standby_cluster']['enable'] = true | ||||
| patroni['standby_cluster']['host'] = 'PATRONI_PRIMARY_LEADER_IP' # this needs to be changed anytime the primary Leader changes | ||||
| patroni['standby_cluster']['port'] = 5432 | ||||
| patroni['standby_cluster']['primary_slot_name'] = 'geo_secondary' # or the unique replication slot name you setup before | ||||
| patroni['replication_password'] = 'PLAIN_TEXT_POSTGRESQL_REPLICATION_PASSWORD' | ||||
| ``` | ||||
| 
 | ||||
| ## Troubleshooting | ||||
| 
 | ||||
| Read the [troubleshooting document](../replication/troubleshooting.md). | ||||
|  |  | |||
|  | @ -264,26 +264,23 @@ sentry_dsn = "X" | |||
| 
 | ||||
| ### Windows shared runners (beta) | ||||
| 
 | ||||
| The Windows shared runners are currently in | ||||
| [beta](https://about.gitlab.com/handbook/product/#beta) and should not be used | ||||
| for production workloads. | ||||
| The Windows shared runners are in [beta](https://about.gitlab.com/handbook/product/gitlab-the-product/#beta) | ||||
| and shouldn't be used for production workloads. | ||||
| 
 | ||||
| During the beta period, the | ||||
| [shared runner pipeline quota](../admin_area/settings/continuous_integration.md#shared-runners-pipeline-minutes-quota) | ||||
| will apply for groups and projects in the same way as Linux runners. | ||||
| This may change when the beta period ends, as discussed in this | ||||
| [related issue](https://gitlab.com/gitlab-org/gitlab/-/issues/30834). | ||||
| During this beta period, the [shared runner pipeline quota](../admin_area/settings/continuous_integration.md#shared-runners-pipeline-minutes-quota) | ||||
| applies for groups and projects in the same manner as Linux runners. This may | ||||
| change when the beta period ends, as discussed in this [related issue](https://gitlab.com/gitlab-org/gitlab/-/issues/30834). | ||||
| 
 | ||||
| Windows shared runners on GitLab.com automatically autoscale by | ||||
| launching virtual machines on the Google Cloud Platform. This solution uses | ||||
| a new [autoscaling driver](https://gitlab.com/gitlab-org/ci-cd/custom-executor-drivers/autoscaler/tree/master/docs/readme.md) | ||||
| Windows shared runners on GitLab.com autoscale by launching virtual machines on | ||||
| the Google Cloud Platform. This solution uses an | ||||
| [autoscaling driver](https://gitlab.com/gitlab-org/ci-cd/custom-executor-drivers/autoscaler/tree/master/docs/readme.md) | ||||
| developed by GitLab for the [custom executor](https://docs.gitlab.com/runner/executors/custom.html). | ||||
| Windows shared runners execute your CI/CD jobs on `n1-standard-2` instances with 2 | ||||
| vCPUs and 7.5GB RAM. You can find a full list of available Windows packages in the | ||||
| [package documentation](https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/gcp/windows-containers/blob/master/cookbooks/preinstalled-software/README.md). | ||||
| Windows shared runners execute your CI/CD jobs on `n1-standard-2` instances with | ||||
| 2 vCPUs and 7.5 GB RAM. You can find a full list of available Windows packages in | ||||
| the [package documentation](https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/gcp/windows-containers/blob/master/cookbooks/preinstalled-software/README.md). | ||||
| 
 | ||||
| We want to keep iterating to get Windows shared runners in a stable state and | ||||
| [generally available](https://about.gitlab.com/handbook/product/#generally-available-ga). | ||||
| [generally available](https://about.gitlab.com/handbook/product/gitlab-the-product/#generally-available-ga). | ||||
| You can follow our work towards this goal in the | ||||
| [related epic](https://gitlab.com/groups/gitlab-org/-/epics/2162). | ||||
| 
 | ||||
|  | @ -292,7 +289,7 @@ You can follow our work towards this goal in the | |||
| The full contents of our `config.toml` are: | ||||
| 
 | ||||
| NOTE: **Note:** | ||||
| Settings that are not public are shown as `X`. | ||||
| Settings that aren't public are shown as `X`. | ||||
| 
 | ||||
| ```toml | ||||
| concurrent = X | ||||
|  |  | |||
|  | @ -25,6 +25,18 @@ module QA | |||
|           push.file_content = "Target branch test target branch #{SecureRandom.hex(8)}" | ||||
|         end | ||||
| 
 | ||||
|         # Confirm the target branch can be checked out to avoid a race condition | ||||
|         # where the subsequent push option attempts to create an MR before the target branch is ready. | ||||
|         Support::Retrier.retry_on_exception(sleep_interval: 5) do | ||||
|           Git::Repository.perform do |repository| | ||||
|             repository.uri = project.repository_http_location.uri | ||||
|             repository.use_default_credentials | ||||
|             repository.clone | ||||
|             repository.configure_identity('GitLab QA', 'root@gitlab.com') | ||||
|             repository.checkout(target_branch) | ||||
|           end | ||||
|         end | ||||
| 
 | ||||
|         Resource::Repository::ProjectPush.fabricate! do |push| | ||||
|           push.project = project | ||||
|           push.branch_name = "push-options-test-#{SecureRandom.hex(8)}" | ||||
|  |  | |||
|  | @ -16,7 +16,6 @@ describe('Multi-file editor commit sidebar list', () => { | |||
|     vm = createComponentWithStore(Component, store, { | ||||
|       title: 'Staged', | ||||
|       fileList: [], | ||||
|       iconName: 'staged', | ||||
|       action: 'stageAllChanges', | ||||
|       actionBtnText: 'stage all', | ||||
|       actionBtnIcon: 'history', | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue