diff options
5 files changed, 19 insertions, 9 deletions
diff --git a/app/models/clusters/applications/prometheus.rb b/app/models/clusters/applications/prometheus.rb index 26bf73f4dd8..e89d20a79ca 100644 --- a/app/models/clusters/applications/prometheus.rb +++ b/app/models/clusters/applications/prometheus.rb @@ -52,13 +52,13 @@ module Clusters ) end - def upgrade_command(values) + def upgrade_command(replaced_values: nil) ::Gitlab::Kubernetes::Helm::UpgradeCommand.new( name, version: VERSION, chart: chart, rbac: cluster.platform_kubernetes_rbac?, - files: files_with_replaced_values(values) + files: replaced_values ? files_with_replaced_values(replaced_values) : files ) end diff --git a/app/services/clusters/applications/base_helm_service.rb b/app/services/clusters/applications/base_helm_service.rb index 8a71730d5ec..c04fb8914f7 100644 --- a/app/services/clusters/applications/base_helm_service.rb +++ b/app/services/clusters/applications/base_helm_service.rb @@ -46,8 +46,8 @@ module Clusters @install_command ||= app.install_command end - def upgrade_command(new_values = "") - app.upgrade_command(new_values) + def upgrade_command(replaced_values: nil) + app.upgrade_command(replaced_values: replaced_values) end end end diff --git a/app/services/clusters/applications/update_service.rb b/app/services/clusters/applications/update_service.rb index 1b0055a3e89..e533bdc24f2 100644 --- a/app/services/clusters/applications/update_service.rb +++ b/app/services/clusters/applications/update_service.rb @@ -15,7 +15,7 @@ module Clusters begin app.make_updating! - helm_api.update(upgrade_command) + helm_api.update(upgrade_command(replaced_values: replaced_values)) ::ClusterWaitForAppUpdateWorker.perform_in(::ClusterWaitForAppUpdateWorker::INTERVAL, app.name, app.id) rescue Kubeclient::HttpError => e diff --git a/spec/models/clusters/applications/prometheus_spec.rb b/spec/models/clusters/applications/prometheus_spec.rb index e6271fb5bbd..33be30ba612 100644 --- a/spec/models/clusters/applications/prometheus_spec.rb +++ b/spec/models/clusters/applications/prometheus_spec.rb @@ -249,20 +249,30 @@ describe Clusters::Applications::Prometheus do describe '#upgrade_command' do let(:prometheus) { build(:clusters_applications_prometheus) } - let(:values) { prometheus.values } + let(:replaced_values) { nil } it 'returns an instance of Gitlab::Kubernetes::Helm::GetCommand' do - expect(prometheus.upgrade_command(values)).to be_an_instance_of(::Gitlab::Kubernetes::Helm::UpgradeCommand) + expect(prometheus.upgrade_command(replaced_values: replaced_values)).to be_an_instance_of(::Gitlab::Kubernetes::Helm::UpgradeCommand) end it 'should be initialized with 3 arguments' do - command = prometheus.upgrade_command(values) + command = prometheus.upgrade_command(replaced_values: replaced_values) expect(command.name).to eq('prometheus') expect(command.chart).to eq('stable/prometheus') expect(command.version).to eq('6.7.3') expect(command.files).to eq(prometheus.files) end + + context 'with replaced_values' do + let(:replaced_values) { {} } + + it 'use the replaced values for values.yaml' do + command = prometheus.upgrade_command(replaced_values: replaced_values) + + expect(command.files).to include('values.yaml': replaced_values) + end + end end describe '#update_in_progress?' do diff --git a/spec/services/clusters/applications/update_service_spec.rb b/spec/services/clusters/applications/update_service_spec.rb index 33df4eebc6a..fa43a034604 100644 --- a/spec/services/clusters/applications/update_service_spec.rb +++ b/spec/services/clusters/applications/update_service_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' describe Clusters::Applications::UpdateService do describe '#execute' do let(:application) { create(:clusters_applications_prometheus, :installed) } - let(:project) { application.cluster.project } + let(:project) { nil } let(:service) { described_class.new(application, project) } let(:helm_client) { instance_double(Gitlab::Kubernetes::Helm::Api) } |