Deprecate bundled Prometheus 2.x in favor of Prometheus 3.x
Deprecation Summary
In GitLab %18.6 Omnibus will switch from bundling Prometheus 2.x to Prometheus 3.x. Prometheus 3.x made some potentially breaking changes.
Documentation
- Deprecation notice: Announce Prometheus 3 update with Omnibus GitLa... (gitlab!198523 - merged)
- Migration guidelines: Prometheus 3.0 migration guide
- Implementation work: Update dependency prometheus to v3 (#8811 - closed)
- Cloud Native GitLab equivalent: Plan Prometheus upgrade (gitlab-org/charts/gitlab#5927 - closed)
Product Usage
Prometheus is part of the bundled monitoring stack to scrape metrics from exporters bundled with (Omnibus) GitLab.
Breaking Change?
Prometheus 3 change is potentially breaking changes like the log format, but functionality wise this is non breaking.
Affected Customers
Who is affected by this deprecation: GitLab.com users, Self-managed users, or Dedicated users? (choose all that apply)
-
GitLab.com -
Self-managed -
Dedicated
What pricing tiers are impacted?
-
GitLab Free -
GitLab Premium -
GitLab Ultimate
[ ] Internal note outlining details of customer impact has been created
Deprecation Milestone
This deprecation will be announced in milestone: 18.3
If this deprecation has already been announced, include information about when the initial announcement went out and what follow-up announcements are scheduled.
Planned Removal Milestone
The feature / functionality will be removed in milestone: 18.6
Links
Checklists
Timeline
Rollout Plan
Communication Plan
- DRI Product Manager: @mbruemmer
An internal slack post and a release post are not sufficient notification for our customers or internal stakeholders. Plan to communicate proactively and directly with affected customers and the internal stakeholders supporting them.
Internal Communication Plan
-
Create an internal note in the comment thread of this issue with a comprehensive narrative of customer impacts, with the intended audience of internal stakeholders who directly interact with customers. - Consider: what will the CSM / AE / SA teams need to tell their customers? What will they want to know about customer sentiment and impact?
- If customers must take an action, include in this internal note the following information: what action is needed, the steps they can take to complete it, the due date for that action, and the consequences of not completing the action in time.
-
Internal announcement plan (timeline for notifications, audience, channels, etc) -
Support and enablement plan - Support readiness: Document how the support team should handle tickets related to this deprecation / breaking change.
- Customer Success readiness: Ensure the CS team knows how to bring questions or concerns from clients to the right internal team members.
External Communication Plan
-
Customer announcement plan (timeline for notifications, audience, channels, etc) -
Ensure you have approvals from legal and corp comms for any communication being sent directly to customers. -
As soon as possible, but no later than the third milestone preceding the major release, ensure that the following are complete (for example, given the following release schedule: 17.8, 17.9, 17.10, 17.11, 18.0–17.9is the third milestone preceding the major release).-
A deprecation announcement entry has been created so the deprecation will appear in release posts and on the general deprecation page. Add link to the relevant merge request. -
Documentation has been updated to mark the feature as deprecated. Add link to the relevant merge request.
-
-
On the major milestone: -
The deprecated item has been removed. Add link to the relevant merge request. -
If the removal of the deprecated item is a breaking change, the merge request is labeled breaking change. -
Document the migration plan for users, clearly outlining the actions they need to take to mitigate the impact of the breaking change.
-
Development
-
DRI Engineers: @clemensbeck @balasankarc
-
Measure usage of the impacted product feature -
Evaluate metrics across GitLab.com, Self-Managed, Dedicated -
add issue link -
list any metrics and/or dashboards
-
-
Create tooling for customers to manually migrate their data or workflows -
add issue link
-
-
Build mechanism for users to manually enable the breaking change ahead of time -
add issue link
-
-
Automate the migration for those who do not take any manual steps (ensure the automation can be reverted) -
add issue link
-
-
Develop rollout plan of breaking change on GitLab.com -
add feature flag rollout issue
-
-
Dogfood the changes on GitLab.com or a Self-Managed test instance -
add issue link
-
-
(Optional) Create UI controls for instance admins to disable the breaking change, providing flexibility to Self-Managed / Dedicated customers. Optional as this depends on the breaking change. -
add issue link
-
Approvals
-
Product Manager @PM -
Engineering Manager @EM -
Senior Engineering Manager / Director @senior-eng-leader -
Group / Director of Product Management @senior-product-leader -
Product / Eng Leaders in the CPOorCTOorganizations, as applicable (optional - depends on scope of change)
Keep in mind that approval check boxes and deprecations notices alone are not sufficient communication about breaking changes. Despite having approvals documented here, the PM/EM will still need to take active steps to partner with internal stakeholders and customers to ensure a positive user experience.
Stakeholder Mentions
-
Product Designer @ProductDesigner -
Tech Writer @TW -
Software Engineering in Test @SET -
Any other stable counterparts based on the product categories: -
Add Sales/CS counterpart or mention @timtams -
Add Support counterpart or mention @gitlab-com/support/managers -
Add Marketing counterpart or mention @martin_klaus -
Add Corp comms if direct customer comms are needed @jmalleo -
Add Product Security counterpart, if relevant to your deprecation -
Mention (in internal note) Customer Success Managers / Acount Managers / Solutions Architects for impacted customers
-
Labels
-
This issue is labeled deprecation, and with the relevant ~devops::,~group::, and~Category:labels. -
This issue is labeled breaking change if the removal of the deprecated item will be a breaking change.