diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2019-01-18 09:43:27 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2019-01-18 09:43:27 +0000 |
commit | 35c3cb7c480e812d3c6dcd8f8e2eb6c6a2da83b1 (patch) | |
tree | b5ada2cc3a5bee068e12e044fb668fb9ca421f02 /app/models/clusters | |
parent | 2f3a00405ca7ded9c193d6119517c8a2f9550f34 (diff) | |
parent | d87486e678cd2d957e504109c3665ab84de1a6cc (diff) | |
download | gitlab-ce-35c3cb7c480e812d3c6dcd8f8e2eb6c6a2da83b1.tar.gz |
Merge branch '55544-port-upgrade-command' into 'master'
Port generic Helm upgrade functionality to CE
See merge request gitlab-org/gitlab-ce!23924
Diffstat (limited to 'app/models/clusters')
-rw-r--r-- | app/models/clusters/applications/prometheus.rb | 27 | ||||
-rw-r--r-- | app/models/clusters/concerns/application_status.rb | 4 |
2 files changed, 25 insertions, 6 deletions
diff --git a/app/models/clusters/applications/prometheus.rb b/app/models/clusters/applications/prometheus.rb index e25be522d68..26bf73f4dd8 100644 --- a/app/models/clusters/applications/prometheus.rb +++ b/app/models/clusters/applications/prometheus.rb @@ -5,7 +5,8 @@ module Clusters class Prometheus < ActiveRecord::Base include PrometheusAdapter - VERSION = '6.7.3'.freeze + VERSION = '6.7.3' + READY_STATUS = [:installed, :updating, :updated, :update_errored].freeze self.table_name = 'clusters_applications_prometheus' @@ -24,12 +25,8 @@ module Clusters end end - def ready_status - [:installed] - end - def ready? - ready_status.include?(status_name) + READY_STATUS.include?(status_name) end def chart @@ -55,6 +52,24 @@ module Clusters ) end + def upgrade_command(values) + ::Gitlab::Kubernetes::Helm::UpgradeCommand.new( + name, + version: VERSION, + chart: chart, + rbac: cluster.platform_kubernetes_rbac?, + files: files_with_replaced_values(values) + ) + end + + # Returns a copy of files where the values of 'values.yaml' + # are replaced by the argument. + # + # See #values for the data format required + def files_with_replaced_values(replaced_values) + files.merge('values.yaml': replaced_values) + end + def prometheus_client return unless kube_client diff --git a/app/models/clusters/concerns/application_status.rb b/app/models/clusters/concerns/application_status.rb index 0e74cce29b7..a556dd5ad8b 100644 --- a/app/models/clusters/concerns/application_status.rb +++ b/app/models/clusters/concerns/application_status.rb @@ -77,6 +77,10 @@ module Clusters def available? installed? || updated? end + + def update_in_progress? + updating? + end end end end |