Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab GitLab
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 38,038
    • Issues 38,038
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 1,345
    • Merge requests 1,345
  • Requirements
    • Requirements
    • List
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • GitLabGitLab
  • Issues
  • #36380

Closed
Open
Created Nov 14, 2019 by Andrew Fontaine@afontaineMaintainer

Feature Flags Flexible Rollout Strategy

Problem to solve

When you use our percent rollout today, the stickiness is determined by the user ID (meaning the user must be logged in). Unleash doesn't commit to stickiness for Anonymous users.

With this new strategy, you can define the stickiness - so it can be based by session ID, user ID or random (no stickiness) so it gives you more control over the rollout.

This will also open the option for supporting stickiness for anonymous users.

Intended users

  • Parker (Product Manager)
  • Delaney (Development Team Lead)
  • Sasha (Software Developer)
  • Devon (DevOps Engineer)

Further details

A flexible rollout strategy which combines all gradual rollout strategies in to a single strategy (and will in time replace them). This strategy have different options for how you want to handle the stickiness, and have sane default mode.

Unleash now supports a flexible rollout strategy that wraps 3 other strategies (one of which that we support) in one.

It may be good for us to support this strategy so that we may cover more possible use cases with less development effort.

UX Proposal

Replace percent rollout strategy to flexible rollout strategy with the following UI mockup.

Flexible_rollout Type should be renamed Rollout Type.

Based on options:

  • Available ID
  • User ID
  • Session ID
  • Random (no stickiness guaranteed)

New Terminology

  • Flexible rollout => Percent
  • Stickiness => Based on
  • Default => All available
  • User ID, Session ID, Random stay the same

default value shall be strategy: Percent rollout with value 100%.

Links / references

https://unleash.github.io/docs/activation_strategy#flexiblerollout

Edited Jun 18, 2020 by Orit Golowinski
Assignee
Assign to
13.5
Milestone
13.5 (Past due)
Assign milestone
Time tracking