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)