From 0175be7571814296603f43186f5c479e70d03ac3 Mon Sep 17 00:00:00 2001 From: Rutger Wessels Date: Wed, 24 Jul 2024 14:18:58 +0200 Subject: [PATCH 1/3] Enable validation of presence of organization for runner_fleet rake task --- .../seeders/ci/runner/runner_fleet_seeder.rb | 26 ++++++++----------- ...able_namespace_organization_validation.yml | 2 -- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb b/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb index ed96e1cf18e661..888a41f99acd80 100644 --- a/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb +++ b/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb @@ -98,12 +98,12 @@ def create_organization end def create_groups_and_projects - root_group_1 = ensure_group(name: 'top-level group 1', organization: @organization) - root_group_2 = ensure_group(name: 'top-level group 2', organization: @organization) - group_1_1 = ensure_group(name: 'group 1.1', parent_id: root_group_1.id, organization: @organization) - group_1_1_1 = ensure_group(name: 'group 1.1.1', parent_id: group_1_1.id, organization: @organization) - group_1_1_2 = ensure_group(name: 'group 1.1.2', parent_id: group_1_1.id, organization: @organization) - group_2_1 = ensure_group(name: 'group 2.1', parent_id: root_group_2.id, organization: @organization) + root_group_1 = ensure_group(name: 'top-level group 1', organization_id: @organization.id) + root_group_2 = ensure_group(name: 'top-level group 2', organization_id: @organization.id) + group_1_1 = ensure_group(name: 'group 1.1', parent_id: root_group_1.id, organization_id: @organization.id) + group_1_1_1 = ensure_group(name: 'group 1.1.1', parent_id: group_1_1.id, organization_id: @organization.id) + group_1_1_2 = ensure_group(name: 'group 1.1.2', parent_id: group_1_1.id, organization_id: @organization.id) + group_2_1 = ensure_group(name: 'group 2.1', parent_id: root_group_2.id, organization_id: @organization.id) { root_group_1: root_group_1, @@ -112,12 +112,12 @@ def create_groups_and_projects group_1_1_1: group_1_1_1, group_1_1_2: group_1_1_2, project_1_1_1_1: ensure_project( - name: 'project 1.1.1.1', namespace_id: group_1_1_1.id, organization: @organization), + name: 'project 1.1.1.1', namespace_id: group_1_1_1.id, organization_id: @organization.id), project_1_1_2_1: ensure_project( - name: 'project 1.1.2.1', namespace_id: group_1_1_2.id, organization: @organization), + name: 'project 1.1.2.1', namespace_id: group_1_1_2.id, organization_id: @organization.id), group_2_1: group_2_1, project_2_1_1: ensure_project( - name: 'project 2.1.1', namespace_id: group_2_1.id, organization: @organization) + name: 'project 2.1.1', namespace_id: group_2_1.id, organization_id: @organization.id) } end @@ -178,9 +178,7 @@ def generate_name(name) def create_group(**args) logger.info(message: 'Creating group', **args) - Namespace.with_disabled_organization_validation do - ensure_success(::Groups::CreateService.new(@user, **args).execute[:group]) - end + ensure_success(::Groups::CreateService.new(@user, **args).execute[:group]) end def ensure_project(name:, namespace_id:, **args) @@ -196,9 +194,7 @@ def ensure_project(name:, namespace_id:, **args) def create_project(**args) logger.info(message: 'Creating project', **args) - Namespace.with_disabled_organization_validation do - ensure_success(::Projects::CreateService.new(@user, **args).execute) - end + ensure_success(::Projects::CreateService.new(@user, **args).execute) end def register_record(record, records) diff --git a/spec/support/helpers/disable_namespace_organization_validation.yml b/spec/support/helpers/disable_namespace_organization_validation.yml index 63cf1f1ffc95af..2b3003d9c160ea 100644 --- a/spec/support/helpers/disable_namespace_organization_validation.yml +++ b/spec/support/helpers/disable_namespace_organization_validation.yml @@ -57,7 +57,6 @@ - spec/lib/gitlab/auth/saml/user_spec.rb - spec/lib/gitlab/import/placeholder_user_creator_spec.rb - spec/lib/gitlab/import/source_user_mapper_spec.rb -- spec/lib/gitlab/seeders/ci/runner/runner_fleet_seeder_spec.rb - spec/models/hooks/system_hook_spec.rb - spec/requests/api/groups_spec.rb - spec/requests/import/gitlab_groups_controller_spec.rb @@ -66,4 +65,3 @@ - spec/services/groups/create_service_spec.rb - spec/services/groups/nested_create_service_spec.rb - spec/services/resource_access_tokens/create_service_spec.rb -- spec/tasks/gitlab/seed/runner_fleet_rake_spec.rb -- GitLab From af020b847ee05201ffcd6d4b0473b2c0cb331413 Mon Sep 17 00:00:00 2001 From: Rutger Wessels Date: Wed, 24 Jul 2024 14:20:11 +0200 Subject: [PATCH 2/3] Check if organization already exist --- lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb b/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb index 888a41f99acd80..f69f415d6e7701 100644 --- a/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb +++ b/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb @@ -92,6 +92,10 @@ def create_organization path: 'gitlab' } + organization = ::Organizations::Organization.find_by_path(args[:path]) + + return organization if organization + logger.info(message: 'Creating organization', **args) ensure_success(::Organizations::CreateService.new(current_user: @user, params: args).execute[:organization]) -- GitLab From 91ce398ce8eeef50f5ff75e5cee974822e3837fd Mon Sep 17 00:00:00 2001 From: Rutger Wessels Date: Wed, 24 Jul 2024 14:36:11 +0200 Subject: [PATCH 3/3] For sub groups, the parent organization is used --- lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb b/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb index f69f415d6e7701..6d6c27e01cda70 100644 --- a/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb +++ b/lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb @@ -104,10 +104,10 @@ def create_organization def create_groups_and_projects root_group_1 = ensure_group(name: 'top-level group 1', organization_id: @organization.id) root_group_2 = ensure_group(name: 'top-level group 2', organization_id: @organization.id) - group_1_1 = ensure_group(name: 'group 1.1', parent_id: root_group_1.id, organization_id: @organization.id) - group_1_1_1 = ensure_group(name: 'group 1.1.1', parent_id: group_1_1.id, organization_id: @organization.id) - group_1_1_2 = ensure_group(name: 'group 1.1.2', parent_id: group_1_1.id, organization_id: @organization.id) - group_2_1 = ensure_group(name: 'group 2.1', parent_id: root_group_2.id, organization_id: @organization.id) + group_1_1 = ensure_group(name: 'group 1.1', parent_id: root_group_1.id) + group_1_1_1 = ensure_group(name: 'group 1.1.1', parent_id: group_1_1.id) + group_1_1_2 = ensure_group(name: 'group 1.1.2', parent_id: group_1_1.id) + group_2_1 = ensure_group(name: 'group 2.1', parent_id: root_group_2.id) { root_group_1: root_group_1, -- GitLab