Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
f52802a139
commit
5f025b490f
|
@ -53,7 +53,7 @@ docs-lint markdown:
|
||||||
docs-lint links:
|
docs-lint links:
|
||||||
extends:
|
extends:
|
||||||
- .docs:rules:docs-lint
|
- .docs:rules:docs-lint
|
||||||
image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.14-ruby-2.7.4-0fae0f62
|
image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.14-ruby-2.7.5-08847baa
|
||||||
stage: lint
|
stage: lint
|
||||||
needs: []
|
needs: []
|
||||||
script:
|
script:
|
||||||
|
|
|
@ -295,18 +295,28 @@ sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.t
|
||||||
|
|
||||||
### Manually remove repositories
|
### Manually remove repositories
|
||||||
|
|
||||||
> [Introduced](https://gitlab.com/gitlab-org/gitaly/-/merge_requests/3767) in GitLab 14.3.
|
> - [Introduced](https://gitlab.com/gitlab-org/gitaly/-/merge_requests/3767) in GitLab 14.3.
|
||||||
|
> - [Introduced](https://gitlab.com/gitlab-org/gitaly/-/merge_requests/4054) in GitLab 14.6, support for dry-run mode.
|
||||||
|
|
||||||
The `remove-repository` Praefect sub-command removes repositories from a Gitaly Cluster. It removes
|
The `remove-repository` Praefect sub-command removes a repository from a Gitaly Cluster, and all state associated with a given repository including:
|
||||||
all state associated with a given repository including:
|
|
||||||
|
|
||||||
- On-disk repositories on all relevant Gitaly nodes.
|
- On-disk repositories on all relevant Gitaly nodes.
|
||||||
- Any database state tracked by Praefect.
|
- Any database state tracked by Praefect.
|
||||||
|
|
||||||
|
In GitLab 14.6 and later, by default, the command operates in dry-run mode. In earlier versions, the command didn't support dry-run mode. For example:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml remove-repository -virtual-storage <virtual-storage> -repository <repository>
|
sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml remove-repository -virtual-storage <virtual-storage> -repository <repository>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- Replace `<virtual-storage>` with the name of the virtual storage containing the repository.
|
||||||
|
- Replace `<repository>` with the relative path of the repository to remove.
|
||||||
|
- In GitLab 14.6 and later, add `-apply` to run the command outside of dry-run mode and remove the repository. For example:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml remove-repository -virtual-storage <virtual-storage> -repository <repository> -apply
|
||||||
|
```
|
||||||
|
|
||||||
- `-virtual-storage` is the virtual storage the repository is located in. Virtual storages are configured in `/etc/gitlab/gitlab.rb` under `praefect['virtual_storages]` and looks like the following:
|
- `-virtual-storage` is the virtual storage the repository is located in. Virtual storages are configured in `/etc/gitlab/gitlab.rb` under `praefect['virtual_storages]` and looks like the following:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
|
|
|
@ -353,6 +353,69 @@ that do not exist in a repository.
|
||||||
|
|
||||||
The following sections provide possible solutions to Gitaly Cluster errors.
|
The following sections provide possible solutions to Gitaly Cluster errors.
|
||||||
|
|
||||||
|
### Check cluster health
|
||||||
|
|
||||||
|
> [Introduced](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/) in GitLab 14.6.
|
||||||
|
|
||||||
|
The `check` Praefect sub-command runs a series of checks to determine the health of the Gitaly Cluster.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
gitlab-ctl praefect check
|
||||||
|
```
|
||||||
|
|
||||||
|
The following sections describe the checks that are run.
|
||||||
|
|
||||||
|
#### Praefect migrations
|
||||||
|
|
||||||
|
Because Database migrations must be up to date for Praefect to work correctly, checks if Praefect migrations are up to date.
|
||||||
|
|
||||||
|
If this check fails:
|
||||||
|
|
||||||
|
1. See the `schema_migrations` table in the database to see which migrations have run.
|
||||||
|
1. Run `praefect sql-migrate` to bring the migrations up to date.
|
||||||
|
|
||||||
|
#### Node connectivity and disk access
|
||||||
|
|
||||||
|
Checks if Praefect can reach all of its Gitaly nodes, and if each Gitaly node has read and write access to all of its storages.
|
||||||
|
|
||||||
|
If this check fails:
|
||||||
|
|
||||||
|
1. Confirm the network addresses and tokens are set up correctly:
|
||||||
|
- In the Praefect configuration.
|
||||||
|
- In each Gitaly node's configuration.
|
||||||
|
1. On the Gitaly nodes, check that the `gitaly` process being run as `git`. There might be a permissions issue that is preventing Gitaly from
|
||||||
|
accessing its storage directories.
|
||||||
|
1. Confirm that there are no issues with the network that connects Praefect to Gitaly nodes.
|
||||||
|
|
||||||
|
#### Database read and write access
|
||||||
|
|
||||||
|
Checks if Praefect can read from and write to the database.
|
||||||
|
|
||||||
|
If this check fails:
|
||||||
|
|
||||||
|
1. See if the Praefect database is in recovery mode. In recovery mode, tables may be read only. To check, run:
|
||||||
|
|
||||||
|
```sql
|
||||||
|
select pg_is_in_recovery()
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Confirm that the user that Praefect uses to connect to PostgreSQL has read and write access to the database.
|
||||||
|
1. See if the database has been placed into read-only mode. To check, run:
|
||||||
|
|
||||||
|
```sql
|
||||||
|
show default_transaction_read_only
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Inaccessible repositories
|
||||||
|
|
||||||
|
Checks how many repositories are inaccessible because they are missing a primary assignment, or their primary is unavailable.
|
||||||
|
|
||||||
|
If this check fails:
|
||||||
|
|
||||||
|
1. See if any Gitaly nodes are down. Run `praefect ping-nodes` to check.
|
||||||
|
1. Check if there is a high load on the Praefect database. If the Praefect database is slow to respond, it can lead health checks failing to persist
|
||||||
|
to the database, leading Praefect to think nodes are unhealthy.
|
||||||
|
|
||||||
### Praefect errors in logs
|
### Praefect errors in logs
|
||||||
|
|
||||||
If you receive an error, check `/var/log/gitlab/gitlab-rails/production.log`.
|
If you receive an error, check `/var/log/gitlab/gitlab-rails/production.log`.
|
||||||
|
|
|
@ -154,37 +154,7 @@ _The artifacts are stored by default in
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Save the file and [reconfigure GitLab](restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
|
1. Save the file and [reconfigure GitLab](restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
|
||||||
1. Migrate any existing local artifacts to the object storage:
|
1. [Migrate any existing local artifacts to the object storage](#migrating-to-object-storage).
|
||||||
|
|
||||||
```shell
|
|
||||||
gitlab-rake gitlab:artifacts:migrate
|
|
||||||
```
|
|
||||||
|
|
||||||
1. Optional. Verify all files migrated properly.
|
|
||||||
From [PostgreSQL console](https://docs.gitlab.com/omnibus/settings/database.html#connecting-to-the-bundled-postgresql-database)
|
|
||||||
(`sudo gitlab-psql -d gitlabhq_production`) verify `objectstg` below (where `file_store=2`) has count of all artifacts:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
gitlabhq_production=# SELECT count(*) AS total, sum(case when file_store = '1' then 1 else 0 end) AS filesystem, sum(case when file_store = '2' then 1 else 0 end) AS objectstg FROM ci_job_artifacts;
|
|
||||||
|
|
||||||
total | filesystem | objectstg
|
|
||||||
------+------------+-----------
|
|
||||||
2409 | 0 | 2409
|
|
||||||
```
|
|
||||||
|
|
||||||
Verify no files on disk in `artifacts` folder:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
sudo find /var/opt/gitlab/gitlab-rails/shared/artifacts -type f | grep -v tmp/cache | wc -l
|
|
||||||
```
|
|
||||||
|
|
||||||
In some cases, you may need to run the [orphan artifact file cleanup Rake task](../raketasks/cleanup.md#remove-orphan-artifact-files)
|
|
||||||
to clean up orphaned artifacts.
|
|
||||||
|
|
||||||
WARNING:
|
|
||||||
JUnit test report artifact (`junit.xml.gz`) migration
|
|
||||||
[was not supported until GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/27698#note_317190991)
|
|
||||||
by the `gitlab:artifacts:migrate` script.
|
|
||||||
|
|
||||||
**In installations from source:**
|
**In installations from source:**
|
||||||
|
|
||||||
|
@ -208,36 +178,7 @@ _The artifacts are stored by default in
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Save the file and [restart GitLab](restart_gitlab.md#installations-from-source) for the changes to take effect.
|
1. Save the file and [restart GitLab](restart_gitlab.md#installations-from-source) for the changes to take effect.
|
||||||
1. Migrate any existing local artifacts to the object storage:
|
1. [Migrate any existing local artifacts to the object storage](#migrating-to-object-storage).
|
||||||
|
|
||||||
```shell
|
|
||||||
sudo -u git -H bundle exec rake gitlab:artifacts:migrate RAILS_ENV=production
|
|
||||||
```
|
|
||||||
|
|
||||||
1. Optional: Verify all files migrated properly.
|
|
||||||
From PostgreSQL console (`sudo -u git -H psql -d gitlabhq_production`) verify `objectstg` below (where `file_store=2`) has count of all artifacts:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
gitlabhq_production=# SELECT count(*) AS total, sum(case when file_store = '1' then 1 else 0 end) AS filesystem, sum(case when file_store = '2' then 1 else 0 end) AS objectstg FROM ci_job_artifacts;
|
|
||||||
|
|
||||||
total | filesystem | objectstg
|
|
||||||
------+------------+-----------
|
|
||||||
2409 | 0 | 2409
|
|
||||||
```
|
|
||||||
|
|
||||||
Verify no files on disk in `artifacts` folder:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
sudo find /var/opt/gitlab/gitlab-rails/shared/artifacts -type f | grep -v tmp/cache | wc -l
|
|
||||||
```
|
|
||||||
|
|
||||||
In some cases, you may need to run the [orphan artifact file cleanup Rake task](../raketasks/cleanup.md#remove-orphan-artifact-files)
|
|
||||||
to clean up orphaned artifacts.
|
|
||||||
|
|
||||||
WARNING:
|
|
||||||
JUnit test report artifact (`junit.xml.gz`) migration
|
|
||||||
[was not supported until GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/27698#note_317190991)
|
|
||||||
by the `gitlab:artifacts:migrate` script.
|
|
||||||
|
|
||||||
### OpenStack example
|
### OpenStack example
|
||||||
|
|
||||||
|
@ -267,11 +208,7 @@ _The uploads are stored by default in
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Save the file and [reconfigure GitLab](restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
|
1. Save the file and [reconfigure GitLab](restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
|
||||||
1. Migrate any existing local artifacts to the object storage:
|
1. [Migrate any existing local artifacts to the object storage](#migrating-to-object-storage).
|
||||||
|
|
||||||
```shell
|
|
||||||
gitlab-rake gitlab:artifacts:migrate
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -302,11 +239,55 @@ _The uploads are stored by default in
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Save the file and [restart GitLab](restart_gitlab.md#installations-from-source) for the changes to take effect.
|
1. Save the file and [restart GitLab](restart_gitlab.md#installations-from-source) for the changes to take effect.
|
||||||
1. Migrate any existing local artifacts to the object storage:
|
1. [Migrate any existing local artifacts to the object storage](#migrating-to-object-storage).
|
||||||
|
|
||||||
```shell
|
### Migrating to object storage
|
||||||
sudo -u git -H bundle exec rake gitlab:artifacts:migrate RAILS_ENV=production
|
|
||||||
```
|
After [configuring the object storage](#using-object-storage), use the following task to
|
||||||
|
migrate existing job artifacts from the local storage to the remote storage.
|
||||||
|
The processing is done in a background worker and requires **no downtime**.
|
||||||
|
|
||||||
|
**In Omnibus installations:**
|
||||||
|
|
||||||
|
```shell
|
||||||
|
gitlab-rake gitlab:artifacts:migrate
|
||||||
|
```
|
||||||
|
|
||||||
|
**In installations from source:**
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo -u git -H bundle exec rake gitlab:artifacts:migrate RAILS_ENV=production
|
||||||
|
```
|
||||||
|
|
||||||
|
You can optionally track progress and verify that all job artifacts migrated successfully using the
|
||||||
|
[PostgreSQL console](https://docs.gitlab.com/omnibus/settings/database.html#connecting-to-the-bundled-postgresql-database):
|
||||||
|
|
||||||
|
- `sudo gitlab-rails dbconsole` for Omnibus GitLab instances.
|
||||||
|
- `sudo -u git -H psql -d gitlabhq_production` for source-installed instances.
|
||||||
|
|
||||||
|
Verify `objectstg` below (where `store=2`) has count of all job artifacts:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
gitlabhq_production=# SELECT count(*) AS total, sum(case when file_store = '1' then 1 else 0 end) AS filesystem, sum(case when file_store = '2' then 1 else 0 end) AS objectstg FROM ci_job_artifacts;
|
||||||
|
|
||||||
|
total | filesystem | objectstg
|
||||||
|
------+------------+-----------
|
||||||
|
19 | 0 | 19
|
||||||
|
```
|
||||||
|
|
||||||
|
Verify that there are no files on disk in the `artifacts` folder:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo find /var/opt/gitlab/gitlab-rails/shared/artifacts -type f | grep -v tmp | wc -l
|
||||||
|
```
|
||||||
|
|
||||||
|
In some cases, you need to run the [orphan artifact file cleanup Rake task](../raketasks/cleanup.md#remove-orphan-artifact-files)
|
||||||
|
to clean up orphaned artifacts.
|
||||||
|
|
||||||
|
WARNING:
|
||||||
|
JUnit test report artifact (`junit.xml.gz`) migration
|
||||||
|
[was not supported until GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/27698#note_317190991)
|
||||||
|
by the `gitlab:artifacts:migrate` Rake task.
|
||||||
|
|
||||||
### Migrating from object storage to local storage
|
### Migrating from object storage to local storage
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ group: Editor
|
||||||
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments"
|
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments"
|
||||||
---
|
---
|
||||||
|
|
||||||
# Gitpod Integration **(FREE)**
|
# Gitpod integration **(FREE)**
|
||||||
|
|
||||||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/228893) in GitLab 13.4.
|
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/228893) in GitLab 13.4.
|
||||||
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/258206) in GitLab 13.8
|
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/258206) in GitLab 13.8
|
||||||
|
@ -38,7 +38,7 @@ With the Gitpod integration enabled for your GitLab instance, to enable it for y
|
||||||
1. In the top-right corner, select your avatar.
|
1. In the top-right corner, select your avatar.
|
||||||
1. Select **Preferences**.
|
1. Select **Preferences**.
|
||||||
1. Under **Preferences**, locate the **Integrations** section.
|
1. Under **Preferences**, locate the **Integrations** section.
|
||||||
1. Check the **Enable Gitpod integration** checkbox and select the **Save changes** button.
|
1. Select the **Enable Gitpod integration** checkbox and select **Save changes**.
|
||||||
|
|
||||||
## Configure a self-managed instance **(FREE SELF)**
|
## Configure a self-managed instance **(FREE SELF)**
|
||||||
|
|
||||||
|
@ -50,9 +50,9 @@ For GitLab self-managed instances, a GitLab administrator needs to:
|
||||||
1. On the top bar, select **Menu > Admin**.
|
1. On the top bar, select **Menu > Admin**.
|
||||||
1. On the left sidebar, select **Settings > General**.
|
1. On the left sidebar, select **Settings > General**.
|
||||||
1. Expand the **Gitpod** configuration section.
|
1. Expand the **Gitpod** configuration section.
|
||||||
1. Check the **Enable Gitpod integration** checkbox.
|
1. Select the **Enable Gitpod integration** checkbox.
|
||||||
1. Add your Gitpod instance URL (for example, `https://gitpod.example.com`).
|
1. Add your Gitpod instance URL (for example, `https://gitpod.example.com`).
|
||||||
1. Select the **Save changes** button.
|
1. Select **Save changes**.
|
||||||
|
|
||||||
Your users can then [enable it for themselves](#enable-gitpod-in-your-user-settings).
|
Your users can then [enable it for themselves](#enable-gitpod-in-your-user-settings).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue