summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-09-16 12:06:26 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-09-16 12:06:26 +0000
commitd2798d607e11e0ebae83ae909404834388733428 (patch)
tree096b7f4d4bdb315d28cdcd4d6db4e80911112e9c /doc
parentd8211a0ed119eada7d292e974a8fc7b0cd982d3c (diff)
downloadgitlab-ce-d2798d607e11e0ebae83ae909404834388733428.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r--doc/api/settings.md1
-rw-r--r--doc/development/elasticsearch.md2
-rw-r--r--doc/development/testing_guide/img/k9s.pngbin0 -> 364038 bytes
-rw-r--r--doc/development/testing_guide/review_apps.md46
-rw-r--r--doc/install/installation.md19
-rw-r--r--doc/user/application_security/dependency_scanning/index.md2
-rw-r--r--doc/workflow/time-tracking/time-tracking-example.pngbin14564 -> 0 bytes
-rw-r--r--doc/workflow/time_tracking.md20
-rw-r--r--doc/workflow/time_tracking/img/time_tracking_example_v12_2.pngbin0 -> 16362 bytes
-rw-r--r--doc/workflow/time_tracking/img/time_tracking_sidebar_v8_16.png (renamed from doc/workflow/time-tracking/time-tracking-sidebar.png)bin9068 -> 9068 bytes
10 files changed, 72 insertions, 18 deletions
diff --git a/doc/api/settings.md b/doc/api/settings.md
index 4ad4ebdacb6..39fc848b272 100644
--- a/doc/api/settings.md
+++ b/doc/api/settings.md
@@ -220,7 +220,6 @@ are listed in the descriptions of the relevant settings.
| `elasticsearch_aws` | boolean | no | **(PREMIUM)** Enable the use of AWS hosted Elasticsearch |
| `elasticsearch_aws_region` | string | no | **(PREMIUM)** The AWS region the elasticsearch domain is configured |
| `elasticsearch_aws_secret_access_key` | string | no | **(PREMIUM)** AWS IAM secret access key |
-| `elasticsearch_experimental_indexer` | boolean | no | **(PREMIUM)** Use the experimental elasticsearch indexer. More info: <https://gitlab.com/gitlab-org/gitlab-elasticsearch-indexer> |
| `elasticsearch_indexing` | boolean | no | **(PREMIUM)** Enable Elasticsearch indexing |
| `elasticsearch_limit_indexing` | boolean | no | **(PREMIUM)** Limit Elasticsearch to index certain namespaces and projects |
| `elasticsearch_namespace_ids` | array of integers | no | **(PREMIUM)** The namespaces to index via Elasticsearch if `elasticsearch_limit_indexing` is enabled. |
diff --git a/doc/development/elasticsearch.md b/doc/development/elasticsearch.md
index f2412c249c1..f3ea55d3d5d 100644
--- a/doc/development/elasticsearch.md
+++ b/doc/development/elasticsearch.md
@@ -59,7 +59,7 @@ Additionally, if you need large repos or multiple forks for testing, please cons
## How does it work?
-The Elasticsearch integration depends on an external indexer. We ship a [ruby indexer](https://gitlab.com/gitlab-org/gitlab-ee/blob/master/bin/elastic_repo_indexer) by default but are also working on an [indexer written in Go](https://gitlab.com/gitlab-org/gitlab-elasticsearch-indexer). The user must trigger the initial indexing via a rake task, but after this is done GitLab itself will trigger reindexing when required via `after_` callbacks on create, update, and destroy that are inherited from [/ee/app/models/concerns/elastic/application_search.rb](https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/app/models/concerns/elastic/application_search.rb).
+The Elasticsearch integration depends on an external indexer. We ship an [indexer written in Go](https://gitlab.com/gitlab-org/gitlab-elasticsearch-indexer). The user must trigger the initial indexing via a rake task but, after this is done, GitLab itself will trigger reindexing when required via `after_` callbacks on create, update, and destroy that are inherited from [/ee/app/models/concerns/elastic/application_search.rb](https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/app/models/concerns/elastic/application_search.rb).
All indexing after the initial one is done via `ElasticIndexerWorker` (sidekiq jobs).
diff --git a/doc/development/testing_guide/img/k9s.png b/doc/development/testing_guide/img/k9s.png
new file mode 100644
index 00000000000..c4b222f0b64
--- /dev/null
+++ b/doc/development/testing_guide/img/k9s.png
Binary files differ
diff --git a/doc/development/testing_guide/review_apps.md b/doc/development/testing_guide/review_apps.md
index 13772cbe015..8698a1e4c2d 100644
--- a/doc/development/testing_guide/review_apps.md
+++ b/doc/development/testing_guide/review_apps.md
@@ -10,24 +10,30 @@ Review Apps are automatically deployed by each pipeline, both in
```mermaid
graph TD
- build-qa-image -.->|once the `prepare` stage is done| gitlab:assets:compile
- review-build-cng -->|triggers a CNG-mirror pipeline and wait for it to be done| CNG-mirror
- review-build-cng -.->|once the `test` stage is done| review-deploy
- review-deploy -.->|once the `review` stage is done| review-qa-smoke
+ build-qa-image -->|once the `prepare` stage is done| gitlab:assets:compile
+ gitlab:assets:compile -->|once the `gitlab:assets:compile` job is done| review-build-cng
+ review-build-cng -.->|triggers a CNG-mirror pipeline and wait for it to be done| CNG-mirror
+ CNG-mirror -.->|polls until completed| review-build-cng
+ review-build-cng -->|once the `review-build-cng` job is done| review-deploy
+ review-deploy -->|once the `review-deploy` job is done| review-qa-smoke
subgraph "1. gitlab-ce/ee `prepare` stage"
build-qa-image
end
subgraph "2. gitlab-ce/ee `test` stage"
- gitlab:assets:compile -->|plays dependent job once done| review-build-cng
+ gitlab:assets:compile
end
-subgraph "3. gitlab-ce/ee `review` stage"
+subgraph "3. gitlab-ce/ee `review-prepare` stage"
+ review-build-cng
+ end
+
+subgraph "4. gitlab-ce/ee `review` stage"
review-deploy["review-deploy<br><br>Helm deploys the Review App using the Cloud<br/>Native images built by the CNG-mirror pipeline.<br><br>Cloud Native images are deployed to the `review-apps-ce` or `review-apps-ee`<br>Kubernetes (GKE) cluster, in the GCP `gitlab-review-apps` project."]
end
-subgraph "4. gitlab-ce/ee `qa` stage"
+subgraph "5. gitlab-ce/ee `qa` stage"
review-qa-smoke[review-qa-smoke<br><br>gitlab-qa runs the smoke suite against the Review App.]
end
@@ -177,6 +183,25 @@ secure note named **gitlab-{ce,ee} Review App's root password**.
`review-qa-raise-e-12chm0-migrations.1-nqwtx`.
1. Click on the `Container logs` link.
+### Diagnosing unhealthy review-app releases
+
+If [Review App Stability](https://gitlab.com/gitlab-org/quality/team-tasks/issues/93) dips this may be a signal
+that the `review-apps-ce/ee` cluster is unhealthy. Leading indicators may be healthcheck failures leading to restarts or majority failure for Review App deployments.
+
+The following items may help diagnose this:
+
+- [Instance group CPU Utilization in GCP](https://console.cloud.google.com/compute/instanceGroups/details/us-central1-a/gke-review-apps-ce-preemp-n1-standard-a4c9571c-grp?project=gitlab-review-apps&tab=monitoring&graph=GCE_CPU&duration=PT12H) - helpful to identify if nodes are problematic or the entire cluster is trending towards unhealthy
+- [Instance Group size in GCP](https://console.cloud.google.com/compute/instanceGroups/details/us-central1-a/gke-review-apps-ce-preemp-n1-standard-a4c9571c-grp?project=gitlab-review-apps&tab=monitoring&graph=GCE_SIZE&duration=PT12H) - aids in identifying load spikes on the cluster. Kubernetes will add nodes up to 220 based on total resource requests.
+- `kubectl top nodes --sort-by=cpu` - can identify if node spikes are common or load on specific nodes which may get rebalanced by the Kubernetes scheduler.
+- `kubectl top pods --sort-by=cpu` -
+- [K9s] - K9s is a powerful command line dashboard which allows you to filter by labels. This can help identify trends with apps exceeding the [review-app resource requests](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/scripts/review_apps/base-config.yaml). Kubernetes will schedule pods to nodes based on resource requests and allow for CPU usage up to the limits.
+ - In K9s you can sort or add filters by typing the `/` character
+ - `-lrelease=<review-app-slug>` - filters down to all pods for a release. This aids in determining what is having issues in a single deployment
+ - `-lapp=<app>` - filters down to all pods for a specific app. This aids in determining resource usage by app.
+ - You can scroll to a Kubernetes resource and hit `d`(describe), `s`(shell), `l`(logs) for a deeper inspection
+
+![K9s](img/k9s.png)
+
### Troubleshoot a pending `dns-gitlab-review-app-external-dns` Deployment
#### Finding the problem
@@ -266,6 +291,12 @@ find a way to limit it to only us.**
## Other resources
- [Review Apps integration for CE/EE (presentation)](https://docs.google.com/presentation/d/1QPLr6FO4LduROU8pQIPkX1yfGvD13GEJIBOenqoKxR8/edit?usp=sharing)
+- [Stability issues](https://gitlab.com/gitlab-org/quality/team-tasks/issues/212)
+
+### Helpful command line tools
+
+- [K9s] - enables CLI dashboard across pods and enabling filtering by labels
+- [Stern](https://github.com/wercker/stern) - enables cross pod log tailing based on label/field selectors
[charts-1068]: https://gitlab.com/gitlab-org/charts/gitlab/issues/1068
[gitlab-pipeline]: https://gitlab.com/gitlab-org/gitlab-ce/pipelines/44362587
@@ -285,6 +316,7 @@ find a way to limit it to only us.**
[gitlab-ci-yml]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/.gitlab-ci.yml
[gitlab-k8s-integration]: ../../user/project/clusters/index.md
[password-bug]: https://gitlab.com/gitlab-org/gitlab-ce/issues/53621
+[K9s]: https://github.com/derailed/k9s
---
diff --git a/doc/install/installation.md b/doc/install/installation.md
index 6039ddc45ae..cf084ca74a9 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -585,6 +585,25 @@ You can specify a different Git repository by providing it as an extra parameter
sudo -u git -H bundle exec rake "gitlab:workhorse:install[/home/git/gitlab-workhorse,https://example.com/gitlab-workhorse.git]" RAILS_ENV=production
```
+### Install gitlab-elasticsearch-indexer
+
+GitLab-Elasticsearch-Indexer uses [GNU Make](https://www.gnu.org/software/make/). The
+following command-line will install GitLab-Elasticsearch-Indexer in `/home/git/gitlab-elasticsearch-indexer`
+which is the recommended location.
+
+```sh
+sudo -u git -H bundle exec rake "gitlab:indexer:install[/home/git/gitlab-elasticsearch-indexer]" RAILS_ENV=production
+```
+
+You can specify a different Git repository by providing it as an extra parameter:
+
+```sh
+sudo -u git -H bundle exec rake "gitlab:indexer:install[/home/git/gitlab-elasticsearch-indexer,https://example.com/gitlab-elasticsearch-indexer.git]" RAILS_ENV=production
+```
+
+The source code will first be fetched to the path specified by the first parameter. Then a binary will be built under its `bin` directory.
+You will then need to update `gitlab.yml`'s `production -> elasticsearch -> indexer_path` setting to point to that binary.
+
### Install GitLab Pages
GitLab Pages uses [GNU Make](https://www.gnu.org/software/make/). This step is optional and only needed if you wish to host static sites from within GitLab. The following commands will install GitLab Pages in `/home/git/gitlab-pages`. For additional setup steps, consult the [administration guide](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/administration/pages/source.md) for your version of GitLab as the GitLab Pages daemon can be run several different ways.
diff --git a/doc/user/application_security/dependency_scanning/index.md b/doc/user/application_security/dependency_scanning/index.md
index 166a71b6fbe..5baaa92d3d8 100644
--- a/doc/user/application_security/dependency_scanning/index.md
+++ b/doc/user/application_security/dependency_scanning/index.md
@@ -58,7 +58,7 @@ The following languages and dependency managers are supported.
| JavaScript ([npm](https://www.npmjs.com/), [yarn](https://yarnpkg.com/en/)) | yes | [gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium), [Retire.js](https://retirejs.github.io/retire.js) |
| Go ([Golang](https://golang.org/)) | not currently ([issue](https://gitlab.com/gitlab-org/gitlab-ee/issues/7132 "Dependency Scanning for Go")) | not available |
| PHP ([Composer](https://getcomposer.org/)) | yes | [gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) |
-| Python ([pip](https://pip.pypa.io/en/stable/)) (only `requirements.txt` supported) | yes | [gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) |
+| Python ([pip](https://pip.pypa.io/en/stable/)) | yes | [gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) |
| Python ([Pipfile](https://docs.pipenv.org/en/latest/basics/)) | not currently ([issue](https://gitlab.com/gitlab-org/gitlab-ee/issues/11756 "Pipfile.lock support for Dependency Scanning"))| not available |
| Python ([poetry](https://poetry.eustace.io/)) | not currently ([issue](https://gitlab.com/gitlab-org/gitlab-ee/issues/7006 "Support Poetry in Dependency Scanning")) | not available |
| Ruby ([gem](https://rubygems.org/)) | yes | [gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium), [bundler-audit](https://github.com/rubysec/bundler-audit) |
diff --git a/doc/workflow/time-tracking/time-tracking-example.png b/doc/workflow/time-tracking/time-tracking-example.png
deleted file mode 100644
index a96e4da7f74..00000000000
--- a/doc/workflow/time-tracking/time-tracking-example.png
+++ /dev/null
Binary files differ
diff --git a/doc/workflow/time_tracking.md b/doc/workflow/time_tracking.md
index 3d9f015b1fe..7404d9be210 100644
--- a/doc/workflow/time_tracking.md
+++ b/doc/workflow/time_tracking.md
@@ -1,3 +1,7 @@
+---
+type: reference
+---
+
# Time Tracking
> Introduced in GitLab 8.14.
@@ -7,7 +11,7 @@ requests within GitLab.
## Overview
-Time Tracking lets you:
+Time Tracking allows you:
- Record the time spent working on an issue or a merge request.
- Add an estimate of the amount of time needed to complete an issue or a merge
@@ -18,7 +22,7 @@ You don't have to indicate an estimate to enter the time spent, and vice versa.
Data about time tracking is shown on the issue/merge request sidebar, as shown
below.
-![Time tracking in the sidebar](time-tracking/time-tracking-sidebar.png)
+![Time tracking in the sidebar](time_tracking/img/time_tracking_sidebar_v8_16.png)
## How to enter data
@@ -30,7 +34,7 @@ in a comment in both an issue or a merge request.
Below is an example of how you can use those new quick actions inside a comment.
-![Time tracking example in a comment](time-tracking/time-tracking-example.png)
+![Time tracking example in a comment](time_tracking/img/time_tracking_example_v12_2.png)
Adding time entries (time spent or estimates) is limited to project members.
@@ -65,11 +69,11 @@ To remove all the time spent at once, use `/remove_time_spent`.
The following time units are available:
-- months (mo)
-- weeks (w)
-- days (d)
-- hours (h)
-- minutes (m)
+- Months (mo)
+- Weeks (w)
+- Days (d)
+- Hours (h)
+- Minutes (m)
Default conversion rates are 1mo = 4w, 1w = 5d and 1d = 8h.
diff --git a/doc/workflow/time_tracking/img/time_tracking_example_v12_2.png b/doc/workflow/time_tracking/img/time_tracking_example_v12_2.png
new file mode 100644
index 00000000000..31d8c490ed1
--- /dev/null
+++ b/doc/workflow/time_tracking/img/time_tracking_example_v12_2.png
Binary files differ
diff --git a/doc/workflow/time-tracking/time-tracking-sidebar.png b/doc/workflow/time_tracking/img/time_tracking_sidebar_v8_16.png
index 22124afed6f..22124afed6f 100644
--- a/doc/workflow/time-tracking/time-tracking-sidebar.png
+++ b/doc/workflow/time_tracking/img/time_tracking_sidebar_v8_16.png
Binary files differ