Skip to content

Update existing public projects in private groups to private projects

Overview

As noted in #22406 (comment 215157441), the changes made to visibility only applied to newly created groups; existing groups weren't migrated, causing intermittent errors.

Proposal

Migrate all existing public projects in private groups to be private projects.

Error in Sentry

https://sentry.gitlap.com/gitlab/gitlabcom/issues/198603/

ActiveRecord::RecordInvalid: Validation failed: Visibility level private is not allowed since this group contains projects with higher visibility.
  active_record/validations.rb:79:in `raise_record_invalid'
    raise(RecordInvalid.new(self))
  active_record/validations.rb:43:in `save!'
    perform_validations(options) ? super : raise_record_invalid
  active_record/attribute_methods/dirty.rb:29:in `save!'
    super.tap do
  active_record/transactions.rb:291:in `block in save!'
    with_transaction_returning_status { super }
  active_record/transactions.rb:351:in `block in with_transaction_returning_status'
    status = yield
...
(219 additional frame(s) were not displayed)

ActionView::Template::Error: Validation failed: Visibility level private is not allowed since this group contains projects with higher visibility.

ActionView::Template::Error: Validation failed: Visibility level private is not allowed since this group contains projects with higher visibility.
Edited by Jeremy Watson (ex-GitLab)