Commit 636069fb authored by Thong Kuah's avatar Thong Kuah Committed by Heinrich Lee Yu

Allow apps to be installed if local tiller

This means we can disregard whether Helm is installed or not

Move specs regarding set_initial_status to
cluster_application_initial_status.rb as not every application has the
common set_initial_status (elasticstack and jupyterhub)
parent 9936b16a
...@@ -15,7 +15,7 @@ module Clusters ...@@ -15,7 +15,7 @@ module Clusters
def set_initial_status def set_initial_status
return unless not_installable? return unless not_installable?
self.status = status_states[:installable] if cluster&.application_helm_available? self.status = status_states[:installable] if cluster&.application_helm_available? || Feature.enabled?(:managed_apps_local_tiller)
end end
def can_uninstall? def can_uninstall?
......
...@@ -6,8 +6,30 @@ shared_examples 'cluster application initial status specs' do ...@@ -6,8 +6,30 @@ shared_examples 'cluster application initial status specs' do
subject { described_class.new(cluster: cluster) } subject { described_class.new(cluster: cluster) }
context 'local tiller feature flag is disabled' do
before do
stub_feature_flags(managed_apps_local_tiller: false)
end
it 'sets a default status' do
expect(subject.status_name).to be(:not_installable)
end
end
context 'local tiller feature flag is enabled' do
before do
stub_feature_flags(managed_apps_local_tiller: true)
end
it 'sets a default status' do
expect(subject.status_name).to be(:installable)
end
end
context 'when application helm is scheduled' do context 'when application helm is scheduled' do
before do before do
stub_feature_flags(managed_apps_local_tiller: false)
create(:clusters_applications_helm, :scheduled, cluster: cluster) create(:clusters_applications_helm, :scheduled, cluster: cluster)
end end
...@@ -16,7 +38,7 @@ shared_examples 'cluster application initial status specs' do ...@@ -16,7 +38,7 @@ shared_examples 'cluster application initial status specs' do
end end
end end
context 'when application is scheduled' do context 'when application helm is installed' do
before do before do
create(:clusters_applications_helm, :installed, cluster: cluster) create(:clusters_applications_helm, :installed, cluster: cluster)
end end
......
# frozen_string_literal: true # frozen_string_literal: true
shared_examples 'cluster application status specs' do |application_name| shared_examples 'cluster application status specs' do |application_name|
describe '#status' do
let(:cluster) { create(:cluster, :provided_by_gcp) }
subject { described_class.new(cluster: cluster) }
it 'sets a default status' do
expect(subject.status_name).to be(:not_installable)
end
end
describe '#status_states' do describe '#status_states' do
let(:cluster) { create(:cluster, :provided_by_gcp) } let(:cluster) { create(:cluster, :provided_by_gcp) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment