diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-11-07 13:53:35 +0100 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-11-07 13:53:35 +0100 |
commit | a906752d7f585c3122f47404e3f80f098e5bf223 (patch) | |
tree | 05f2ad02b8b4c55cb6d660d54476feacfcfd41d0 /app/models/clusters | |
parent | fd9be1dd1f077a33e5ab15e8273fb726cbbc6fcc (diff) | |
parent | 67e12219bf6257568f91c1a9c883e4821337c80d (diff) | |
download | gitlab-ce-a906752d7f585c3122f47404e3f80f098e5bf223.tar.gz |
Merge branch '38464-k8s-apps' into add-ingress-to-cluster-applications
Diffstat (limited to 'app/models/clusters')
-rw-r--r-- | app/models/clusters/applications/helm.rb | 10 | ||||
-rw-r--r-- | app/models/clusters/concerns/application_status.rb | 16 |
2 files changed, 14 insertions, 12 deletions
diff --git a/app/models/clusters/applications/helm.rb b/app/models/clusters/applications/helm.rb index c203beb4915..d60bb7dcd02 100644 --- a/app/models/clusters/applications/helm.rb +++ b/app/models/clusters/applications/helm.rb @@ -11,14 +11,16 @@ module Clusters validates :cluster, presence: true - after_initialize :set_initial_status - def self.application_name self.to_s.demodulize.underscore end - def set_initial_status - self.status = 0 unless cluster&.platform_kubernetes_active? + def initial_status + if cluster&.platform_kubernetes_active? + :installable + else + :not_installable + end end def name diff --git a/app/models/clusters/concerns/application_status.rb b/app/models/clusters/concerns/application_status.rb index 40140cb71cb..3e15da7fc32 100644 --- a/app/models/clusters/concerns/application_status.rb +++ b/app/models/clusters/concerns/application_status.rb @@ -4,7 +4,7 @@ module Clusters extend ActiveSupport::Concern included do - state_machine :status, initial: :installable do + state_machine :status, initial: ->(application) { application.initial_status } do state :not_installable, value: -2 state :errored, value: -1 state :installable, value: 0 @@ -12,20 +12,20 @@ module Clusters state :installing, value: 2 state :installed, value: 3 + event :make_scheduled do + transition %i(installable errored) => :scheduled + end + event :make_installing do - transition any - [:installing] => :installing + transition %i(scheduled) => :installing end event :make_installed do - transition any - [:installed] => :installed + transition %i(installing) => :installed end event :make_errored do - transition any - [:errored] => :errored - end - - event :make_scheduled do - transition %i(installable errored) => :scheduled + transition any => :errored end before_transition any => [:scheduled] do |app_status, _| |