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 36,902
    • Issues 36,902
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 1,482
    • Merge requests 1,482
  • 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
  • #2929

Closed
Open
Created Jul 14, 2017 by Nick Thomas@nick.thomas🌇Maintainer

Licenses with explict plan: "" or plan: nil specifiers are not treated as EES

Summary

In GitLab 9.4, we introduced many new licensed addons. For EES customers with an older license that doesn't specify a plan explicitly, we set the default plan to be EES, to ensure nobody lost access to any of their features. The implementation is in bbb67df4

During the 9.4.0rc2 deploy to GitLab.com, we noticed that many licensed features were missing - https://gitlab.com/gitlab-org/gitlab-ce/issues/35082 https://gitlab.com/gitlab-com/infrastructure/issues/2250

Uploading a new license to GitLab.com fixed the problems there, but we weren't sure why the features we unlicensed, given the "default to EES" logic.

It turns out that if the license specifies plan: "" - and maybe plan: nil - in the serialized data, then the assumption of EES doesn't happen and the customer (GitLab.com in this case!) loses access to those features!

Steps to reproduce

Insert https://license.gitlab.com/licenses/11131 into a GitLab EE instance and check License.current.plan

What is the current bug behavior?

It returns ""

What is the expected correct behavior?

It should return "starter"

Possible fixes

return STARTER_PLAN unless restricted_attr(:plan).present?

Assignee
Assign to
9.4
Milestone
9.4 (Past due)
Assign milestone
Time tracking
None
Due date
None