Skip to content

Commit

Permalink
add the endpoint and authentication for alerts
Browse files Browse the repository at this point in the history
  • Loading branch information
yaacov committed Sep 6, 2017
1 parent ac68b9d commit 5196725
Showing 1 changed file with 23 additions and 9 deletions.
32 changes: 23 additions & 9 deletions app/controllers/mixins/ems_common_angular.rb
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ def ems_form_fields
:bearer_token_exists => @ems.authentication_token(:bearer).nil? ? false : true,
:ems_controller => controller_name,
:default_auth_status => default_auth_status,
:metrics_auth_status => metrics_auth_status.nil? ? false : metrics_auth_status,
:metrics_auth_status => metrics_auth_status.nil? ? false : metrics_auth_status,
:prometheus_alerts_api_port => prometheus_alerts_api_port,
:prometheus_alerts_hostname => prometheus_alerts_hostname,
:prometheus_alerts_security_protocol => prometheus_alerts_security_protocol,
Expand Down Expand Up @@ -396,13 +396,18 @@ def set_ems_record_vars(ems, mode = nil)
metrics_security_protocol = params[:metrics_security_protocol].strip if params[:metrics_security_protocol]
metrics_tls_ca_certs = params[:metrics_tls_ca_certs].strip if params[:metrics_tls_ca_certs]
default_tls_ca_certs = params[:default_tls_ca_certs].strip if params[:default_tls_ca_certs]
prometheus_alerts_tls_ca_certs = params[:prometheus_alerts_tls_ca_certs].strip if params[:prometheus_alerts_tls_ca_certs]
prometheus_alerts_hostname = params[:prometheus_alerts_hostname].strip if params[:prometheus_alerts_hostname]
prometheus_alerts_api_port = params[:prometheus_alerts_api_port].strip if params[:prometheus_alerts_api_port]
prometheus_alerts_security_protocol = params[:prometheus_alerts_security_protocol].strip if params[:prometheus_alerts_security_protocol]
default_endpoint = {}
amqp_endpoint = {}
ceilometer_endpoint = {}
ssh_keypair_endpoint = {}
metrics_endpoint = {}
hawkular_endpoint = {}
prometheus_endpoint = {}
prometheus_alerts_endpoint = {}

if ems.kind_of?(ManageIQ::Providers::Openstack::CloudManager) || ems.kind_of?(ManageIQ::Providers::Openstack::InfraManager)
default_endpoint = {:role => :default, :hostname => hostname, :port => port, :security_protocol => ems.security_protocol}
Expand Down Expand Up @@ -475,6 +480,11 @@ def set_ems_record_vars(ems, mode = nil)
prometheus_endpoint = {:role => :prometheus, :hostname => metrics_hostname, :port => metrics_port}
prometheus_endpoint.merge!(endpoint_security_options(metrics_security_protocol, metrics_tls_ca_certs))
end
if params[:alerts_selection] == 'prometheus'
params[:cred_type] = "prometheus_alerts"
prometheus_alerts_endpoint = {:role => :prometheus_alerts, :hostname => prometheus_alerts_hostname, :port => prometheus_alerts_api_port}
prometheus_alerts_endpoint.merge!(endpoint_security_options(prometheus_alerts_security_protocol, prometheus_alerts_tls_ca_certs))
end
end

if ems.kind_of?(ManageIQ::Providers::MiddlewareManager)
Expand All @@ -495,13 +505,14 @@ def set_ems_record_vars(ems, mode = nil)
default_endpoint = {:role => :default, :hostname => hostname, :port => port}
end

endpoints = {:default => default_endpoint,
:ceilometer => ceilometer_endpoint,
:amqp => amqp_endpoint,
:ssh_keypair => ssh_keypair_endpoint,
:metrics => metrics_endpoint,
:hawkular => hawkular_endpoint,
:prometheus => prometheus_endpoint}
endpoints = {:default => default_endpoint,
:ceilometer => ceilometer_endpoint,
:amqp => amqp_endpoint,
:ssh_keypair => ssh_keypair_endpoint,
:metrics => metrics_endpoint,
:hawkular => hawkular_endpoint,
:prometheus => prometheus_endpoint,
:prometheus_alerts => prometheus_alerts_endpoint}

build_connection(ems, endpoints, mode)
end
Expand All @@ -518,7 +529,7 @@ def build_connection(ems, endpoints, mode)
authentications = build_credentials(ems, mode)
configurations = []

[:default, :ceilometer, :amqp, :ssh_keypair, :metrics, :hawkular, :prometheus].each do |role|
[:default, :ceilometer, :amqp, :ssh_keypair, :metrics, :hawkular, :prometheus, :prometheus_alerts].each do |role|
configurations << build_configuration(ems, authentications, endpoints, role)
end

Expand Down Expand Up @@ -575,6 +586,9 @@ def build_credentials(ems, mode)
elsif params[:metrics_selection] == "prometheus"
creds[:prometheus] = {:auth_key => default_key, :save => (mode != :validate)}
end
if params[:alerts_selection] == 'prometheus'
creds[:prometheus_alerts] = {:auth_key => default_key, :save => (mode != :validate)}
end
creds[:bearer] = {:auth_key => default_key, :save => (mode != :validate)}
creds.delete(:default)
end
Expand Down

0 comments on commit 5196725

Please sign in to comment.