Skip to content

Improve consistency and clarity of logs in the reconcile loop

Mitchell Nielsen requested to merge logging-improvements into master

What does this MR do?

Second iteration of !770 (closed).

Various improvements to the logs that the Operator presents.

For a list of changes, see the commits.

Checklist

See Definition of done.

For anything in this list which will not be completed, please provide a reason in the MR discussion.

Required

  • Merge Request Title and Description are up to date, accurate, and descriptive
  • MR targeting the appropriate branch
  • MR has a green pipeline on GitLab.com
  • When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow

Expected (please provide an explanation if not completing)

  • Test plan indicating conditions for success has been posted and passes
  • Documentation created/updated
  • Tests added
  • Integration tests added to GitLab QA
  • Equivalent MR/issue for omnibus-gitlab opened
  • Validate potential values for new configuration settings. Formats such as integer 10, duration 10s, URI scheme://user:passwd@host:port may require quotation or other special handling when rendered in a template and written to a configuration file.

Related issues

Related to #327 (closed).

Test plan

# Build the Operator manifest and install it.
TAG=logging-improvements task build_operator
kubectl apply -f .build/operator.yaml

# Apply your CustomResource using the second or third CHART_VERSION so we can upgrade it later.
kubectl apply -f mygitlab.yaml

# Watch the logs and look for any issues/improvements in the logs.

# Update your CustomResource with the first or second CHART_VERSION so we can upgrade the instance.
kubectl apply -f mygitlab.yaml

# Again, watch the logs and look for any issues/improvements.

stern -n gitlab-system -l control-plane=controller-manager -o ppextjson -c manager:

...
{
  "pod": "gitlab-controller-manager-74774d77d-vcz6v",
  "container": "manager",
  "message": {"level":"info","ts":"2024-03-29T02:21:42Z","logger":"controllers.GitLab","msg":"reconciling GitLab","gitlab":{"name":"gitlab","namespace":"gitlab-system"}}
}
{
  "pod": "gitlab-controller-manager-74774d77d-vcz6v",
  "container": "manager",
  "message": {"level":"info","ts":"2024-03-29T02:21:42Z","logger":"controllers.GitLab","msg":"version information","gitlab":{"name":"gitlab","namespace":"gitlab-system"},"upgrade":false,"current version":"7.10.1","desired version":"7.10.1"}
}
{
  "pod": "gitlab-controller-manager-74774d77d-vcz6v",
  "container": "manager",
  "message": {"level":"info","ts":"2024-03-29T02:21:42Z","logger":"controllers.GitLab","msg":"ensuring all migrations are reconciled","gitlab":{"name":"gitlab","namespace":"gitlab-system"}}
}
{
  "pod": "gitlab-controller-manager-74774d77d-vcz6v",
  "container": "manager",
  "message": {"level":"info","ts":"2024-03-29T02:21:42Z","logger":"controllers.GitLab","msg":"ensuring Webservice and Sidekiq are reconciled if enabled","gitlab":{"name":"gitlab","namespace":"gitlab-system"}}
}
{
  "pod": "gitlab-controller-manager-74774d77d-vcz6v",
  "container": "manager",
  "message": {"level":"info","ts":"2024-03-29T02:21:42Z","logger":"controllers.GitLab","msg":"GitLab is running and available to accept requests","gitlab":{"name":"gitlab","namespace":"gitlab-system"}}
}
Edited by Mitchell Nielsen

Merge request reports