From e1d12ba9b988e61afb9317f3a132d6e2caa93923 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Fri, 13 Oct 2017 19:21:23 +0200 Subject: Refactor Clusters to be consisted from GcpProvider and KubernetesPlatform --- app/controllers/projects/clusters_controller.rb | 28 ++++++++++++++++--------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 03019b0becc..0679d8c69f0 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -31,7 +31,7 @@ class Projects::ClustersController < Projects::ApplicationController end def create - @cluster = Ci::CreateClusterService + @cluster = Ci::CreateService .new(project, current_user, create_params) .execute(token_in_session) @@ -88,19 +88,27 @@ class Projects::ClustersController < Projects::ApplicationController def create_params params.require(:cluster).permit( - :gcp_project_id, - :gcp_cluster_zone, - :gcp_cluster_name, - :gcp_cluster_size, - :gcp_machine_type, - :project_namespace, - :enabled) + :enabled, + :platform_type, + :provider_type, + kubernetes_platform: [ + :namespace + ], + gcp_provider: [ + :project_id, + :cluster_zone, + :cluster_name, + :cluster_size, + :machine_type + ]) end def update_params params.require(:cluster).permit( - :project_namespace, - :enabled) + :enabled, + kubernetes_platform: [ + :namespace + ]) end def authorize_google_api -- cgit v1.2.3 From d0cff7f5855f91b5479f9fdaa39d8d95ec691a9e Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Mon, 23 Oct 2017 11:36:35 +0300 Subject: This works --- app/controllers/projects/clusters_controller.rb | 26 +++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 0679d8c69f0..c07d955f148 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -27,11 +27,17 @@ class Projects::ClustersController < Projects::ApplicationController end def new - @cluster = project.build_cluster + @cluster = Clusters::Cluster.new( + platform_type: :kubernetes, + provider_type: :gcp).tap do |cluster| + cluster.build_provider_gcp + cluster.build_platform_kubernetes + cluster.projects << project + end end def create - @cluster = Ci::CreateService + @cluster = Clusters::CreateService .new(project, current_user, create_params) .execute(token_in_session) @@ -58,7 +64,7 @@ class Projects::ClustersController < Projects::ApplicationController end def update - Ci::UpdateClusterService + Clusters::UpdateService .new(project, current_user, update_params) .execute(cluster) @@ -89,16 +95,16 @@ class Projects::ClustersController < Projects::ApplicationController def create_params params.require(:cluster).permit( :enabled, + :name, :platform_type, :provider_type, - kubernetes_platform: [ + platform_kubernetes_attributes: [ :namespace ], - gcp_provider: [ - :project_id, - :cluster_zone, - :cluster_name, - :cluster_size, + provider_gcp_attributes: [ + :gcp_project_id, + :zone, + :num_nodes, :machine_type ]) end @@ -106,7 +112,7 @@ class Projects::ClustersController < Projects::ApplicationController def update_params params.require(:cluster).permit( :enabled, - kubernetes_platform: [ + platform_kubernetes_attributes: [ :namespace ]) end -- cgit v1.2.3 From 5754908fee556062ab2e42a418bf192a0bf56402 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Fri, 27 Oct 2017 16:48:02 +0100 Subject: Adds buttons to the first page. Moves first page into a new one --- app/controllers/projects/clusters_controller.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 03019b0becc..95e2f6a1257 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -26,10 +26,15 @@ class Projects::ClustersController < Projects::ApplicationController end end - def new + # TODO fix this + def new_kubernetes_form @cluster = project.build_cluster end + def new + # First page! + end + def create @cluster = Ci::CreateClusterService .new(project, current_user, create_params) -- cgit v1.2.3 From 6a65e2f5f94781a69f3f7fb329483ead6bc81fd9 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 31 Oct 2017 17:47:48 +0900 Subject: specs for controller. Improved validation --- app/controllers/projects/clusters_controller.rb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index c07d955f148..b204bd17eec 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -27,13 +27,14 @@ class Projects::ClustersController < Projects::ApplicationController end def new - @cluster = Clusters::Cluster.new( - platform_type: :kubernetes, - provider_type: :gcp).tap do |cluster| - cluster.build_provider_gcp - cluster.build_platform_kubernetes - cluster.projects << project - end + # @cluster = Clusters::Cluster.new( + # platform_type: :kubernetes, + # provider_type: :gcp).tap do |cluster| + # cluster.build_provider_gcp + # cluster.build_platform_kubernetes + # cluster.projects << project + # end + @cluster = Clusters::Cluster.new end def create -- cgit v1.2.3 From 253bf69dda460869741bc6c9d864c789055b8013 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Wed, 1 Nov 2017 03:59:40 +0900 Subject: specs for feature --- app/controllers/projects/clusters_controller.rb | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index b204bd17eec..0f35b4f9c21 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -27,14 +27,10 @@ class Projects::ClustersController < Projects::ApplicationController end def new - # @cluster = Clusters::Cluster.new( - # platform_type: :kubernetes, - # provider_type: :gcp).tap do |cluster| - # cluster.build_provider_gcp - # cluster.build_platform_kubernetes - # cluster.projects << project - # end - @cluster = Clusters::Cluster.new + @cluster = Clusters::Cluster.new.tap do |cluster| + cluster.build_provider_gcp + cluster.build_platform_kubernetes + end end def create -- cgit v1.2.3 From 882cf2e409ce2ea798fce7f3082083fcdf143baf Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Wed, 1 Nov 2017 12:11:47 +0100 Subject: Fix paths to the first page --- app/controllers/projects/clusters_controller.rb | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 95e2f6a1257..23613b98e8c 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -1,8 +1,8 @@ class Projects::ClustersController < Projects::ApplicationController - before_action :cluster, except: [:login, :index, :new, :create] + before_action :cluster, except: [:login, :index, :new, :new_gcp, :create] before_action :authorize_read_cluster! - before_action :authorize_create_cluster!, only: [:new, :create] - before_action :authorize_google_api, only: [:new, :create] + before_action :authorize_create_cluster!, only: [:new, :new_gcp, :create] + before_action :authorize_google_api, only: [:new_gcp, :create] before_action :authorize_update_cluster!, only: [:update] before_action :authorize_admin_cluster!, only: [:destroy] @@ -16,7 +16,7 @@ class Projects::ClustersController < Projects::ApplicationController def login begin - state = generate_session_key_redirect(namespace_project_clusters_url.to_s) + state = generate_session_key_redirect(providers_gcp_new_namespace_project_clusters_url.to_s) @authorize_url = GoogleApi::CloudPlatform::Client.new( nil, callback_google_api_auth_url, @@ -26,13 +26,11 @@ class Projects::ClustersController < Projects::ApplicationController end end - # TODO fix this - def new_kubernetes_form - @cluster = project.build_cluster + def new end - def new - # First page! + def new_gcp + @cluster = project.build_cluster end def create -- cgit v1.2.3 From 1427bdcadf5f4026d141a5c4e93db8b1b00fe40a Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Wed, 1 Nov 2017 13:56:27 +0100 Subject: Revert back FetchKubernetesTokenService --- app/controllers/projects/clusters_controller.rb | 1 - 1 file changed, 1 deletion(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 0f35b4f9c21..7570da3e0b1 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -29,7 +29,6 @@ class Projects::ClustersController < Projects::ApplicationController def new @cluster = Clusters::Cluster.new.tap do |cluster| cluster.build_provider_gcp - cluster.build_platform_kubernetes end end -- cgit v1.2.3 From 5efea3a298258e91bdc8b768be512f317e05ed5e Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Wed, 1 Nov 2017 23:13:22 +0900 Subject: Fix pipeline. Fix routing when validation failed. --- app/controllers/projects/clusters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 23613b98e8c..0fd5635523f 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -41,7 +41,7 @@ class Projects::ClustersController < Projects::ApplicationController if @cluster.persisted? redirect_to project_cluster_path(project, @cluster) else - render :new + render :new_gcp end end -- cgit v1.2.3 From b129f06733c7994fb81cef4d0bae6d6611647a83 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Thu, 2 Nov 2017 23:19:11 +0900 Subject: Fix out of sync with KubernetesService. Remove namespace pramas from controller. Use time_with_zone in schema. Remove Gcp::Clusters from safe_model_attributes.ym --- app/controllers/projects/clusters_controller.rb | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 7570da3e0b1..c0fe8249d8b 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -94,9 +94,6 @@ class Projects::ClustersController < Projects::ApplicationController :name, :platform_type, :provider_type, - platform_kubernetes_attributes: [ - :namespace - ], provider_gcp_attributes: [ :gcp_project_id, :zone, @@ -106,11 +103,7 @@ class Projects::ClustersController < Projects::ApplicationController end def update_params - params.require(:cluster).permit( - :enabled, - platform_kubernetes_attributes: [ - :namespace - ]) + params.require(:cluster).permit(:enabled) end def authorize_google_api -- cgit v1.2.3 From 3602c0b9874c6b93e6cf55e1cb0238951784604d Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Fri, 3 Nov 2017 03:37:32 +0900 Subject: Fix some tests --- app/controllers/projects/clusters_controller.rb | 1 - 1 file changed, 1 deletion(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index c0fe8249d8b..c1692ea2569 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -92,7 +92,6 @@ class Projects::ClustersController < Projects::ApplicationController params.require(:cluster).permit( :enabled, :name, - :platform_type, :provider_type, provider_gcp_attributes: [ :gcp_project_id, -- cgit v1.2.3 From cd88fa8f80710ec977a85ab8701570073c94f017 Mon Sep 17 00:00:00 2001 From: "micael.bergeron" Date: Wed, 1 Nov 2017 10:31:35 -0400 Subject: removed the #ensure_ref_fetched from all controllers also, I refactored the MergeRequest#fetch_ref method to express the side-effect that this method has. MergeRequest#fetch_ref -> MergeRequest#fetch_ref! Repository#fetch_source_branch -> Repository#fetch_source_branch! --- app/controllers/projects/merge_requests/application_controller.rb | 7 ------- app/controllers/projects/merge_requests/creations_controller.rb | 1 - app/controllers/projects/merge_requests_controller.rb | 2 -- 3 files changed, 10 deletions(-) (limited to 'app/controllers/projects') diff --git a/app/controllers/projects/merge_requests/application_controller.rb b/app/controllers/projects/merge_requests/application_controller.rb index 0e71977a58a..1269759fc2b 100644 --- a/app/controllers/projects/merge_requests/application_controller.rb +++ b/app/controllers/projects/merge_requests/application_controller.rb @@ -2,7 +2,6 @@ class Projects::MergeRequests::ApplicationController < Projects::ApplicationCont before_action :check_merge_requests_available! before_action :merge_request before_action :authorize_read_merge_request! - before_action :ensure_ref_fetched private @@ -10,12 +9,6 @@ class Projects::MergeRequests::ApplicationController < Projects::ApplicationCont @issuable = @merge_request ||= @project.merge_requests.find_by!(iid: params[:id]) end - # Make sure merge requests created before 8.0 - # have head file in refs/merge-requests/ - def ensure_ref_fetched - @merge_request.ensure_ref_fetched if Gitlab::Database.read_write? - end - def merge_request_params params.require(:merge_request).permit(merge_request_params_attributes) end diff --git a/app/controllers/projects/merge_requests/creations_controller.rb b/app/controllers/projects/merge_requests/creations_controller.rb index 99dc3dda9e7..129682f64aa 100644 --- a/app/controllers/projects/merge_requests/creations_controller.rb +++ b/app/controllers/projects/merge_requests/creations_controller.rb @@ -4,7 +4,6 @@ class Projects::MergeRequests::CreationsController < Projects::MergeRequests::Ap include RendersCommits skip_before_action :merge_request - skip_before_action :ensure_ref_fetched before_action :authorize_create_merge_request! before_action :apply_diff_view_cookie!, only: [:diffs, :diff_for_path] before_action :build_merge_request, except: [:create] diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 17cac69e588..c86acae8fe4 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -7,7 +7,6 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo include IssuableCollections skip_before_action :merge_request, only: [:index, :bulk_update] - skip_before_action :ensure_ref_fetched, only: [:index, :bulk_update] before_action :authorize_update_issuable!, only: [:close, :edit, :update, :remove_wip, :sort] @@ -52,7 +51,6 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo def show validates_merge_request - ensure_ref_fetched close_merge_request_without_source_project check_if_can_be_merged -- cgit v1.2.3