summaryrefslogtreecommitdiff
path: root/lib/gitlab/database_importers
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-07 12:07:55 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-07 12:07:55 +0000
commit05f1d5d9813332bdd456cb358517e56168a24224 (patch)
treef9ed7a2692a537b5e1e541318f39d7464fdd8098 /lib/gitlab/database_importers
parente440c86979e9c02a09fb6558f59a1fbe29433b51 (diff)
downloadgitlab-ce-05f1d5d9813332bdd456cb358517e56168a24224.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/database_importers')
-rw-r--r--lib/gitlab/database_importers/self_monitoring/helpers.rb25
-rw-r--r--lib/gitlab/database_importers/self_monitoring/project/create_service.rb43
2 files changed, 36 insertions, 32 deletions
diff --git a/lib/gitlab/database_importers/self_monitoring/helpers.rb b/lib/gitlab/database_importers/self_monitoring/helpers.rb
new file mode 100644
index 00000000000..d7e90967e89
--- /dev/null
+++ b/lib/gitlab/database_importers/self_monitoring/helpers.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module DatabaseImporters
+ module SelfMonitoring
+ module Helpers
+ def application_settings
+ @application_settings ||= ApplicationSetting.current_without_cache
+ end
+
+ def project_created?
+ self_monitoring_project.present?
+ end
+
+ def self_monitoring_project
+ application_settings.instance_administration_project
+ end
+
+ def self_monitoring_project_id
+ application_settings.instance_administration_project_id
+ end
+ end
+ end
+ end
+end
diff --git a/lib/gitlab/database_importers/self_monitoring/project/create_service.rb b/lib/gitlab/database_importers/self_monitoring/project/create_service.rb
index fbf252b7ec3..92a2e504a11 100644
--- a/lib/gitlab/database_importers/self_monitoring/project/create_service.rb
+++ b/lib/gitlab/database_importers/self_monitoring/project/create_service.rb
@@ -6,38 +6,26 @@ module Gitlab
module Project
class CreateService < ::BaseService
include Stepable
-
- STEPS_ALLOWED_TO_FAIL = [
- :validate_application_settings, :validate_project_created, :validate_admins
- ].freeze
+ include SelfMonitoring::Helpers
VISIBILITY_LEVEL = Gitlab::VisibilityLevel::INTERNAL
PROJECT_NAME = 'GitLab Instance Administration'
steps :validate_application_settings,
- :validate_project_created,
:validate_admins,
:create_group,
:create_project,
:save_project_id,
:add_group_members,
- :add_prometheus_manual_configuration
+ :add_prometheus_manual_configuration,
+ :track_event
def initialize
super(nil)
end
- def execute!
- result = execute_steps
- if result[:status] == :success
- ::Gitlab::Tracking.event("self_monitoring", "project_created")
- result
- elsif STEPS_ALLOWED_TO_FAIL.include?(result[:last_step])
- ::Gitlab::Tracking.event("self_monitoring", "project_created")
- success
- else
- raise StandardError, result[:message]
- end
+ def execute
+ execute_steps
end
private
@@ -49,13 +37,6 @@ module Gitlab
error(_('No application_settings found'))
end
- def validate_project_created(result)
- return success(result) unless project_created?
-
- log_error('Project already created')
- error(_('Project already created'))
- end
-
def validate_admins(result)
unless instance_admins.any?
log_error('No active admin user found')
@@ -68,7 +49,7 @@ module Gitlab
def create_group(result)
if project_created?
log_info(_('Instance administrators group already exists'))
- result[:group] = application_settings.instance_administration_project.owner
+ result[:group] = self_monitoring_project.owner
return success(result)
end
@@ -84,7 +65,7 @@ module Gitlab
def create_project(result)
if project_created?
log_info('Instance administration project already exists')
- result[:project] = application_settings.instance_administration_project
+ result[:project] = self_monitoring_project
return success(result)
end
@@ -99,7 +80,7 @@ module Gitlab
end
def save_project_id(result)
- return success if project_created?
+ return success(result) if project_created?
response = application_settings.update(
instance_administration_project_id: result[:project].id
@@ -140,12 +121,10 @@ module Gitlab
success(result)
end
- def application_settings
- @application_settings ||= ApplicationSetting.current_without_cache
- end
+ def track_event(result)
+ ::Gitlab::Tracking.event("self_monitoring", "project_created")
- def project_created?
- application_settings.instance_administration_project.present?
+ success(result)
end
def parse_url(uri_string)