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
- Add Sales/CS counterpart or mention
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.