From f6ef81bc854d021235263ca2553f895d288ee1f6 Mon Sep 17 00:00:00 2001 From: Alan Moran Date: Wed, 15 May 2024 13:20:31 +0200 Subject: [PATCH] fix spec for metricforwarder --- .../templates/metricsforwarder.yml.erb | 10 ++++---- operations/enable-metricsforwarder-syslog.yml | 7 ++++++ spec/fixtures/metricsforwarder.yml | 2 +- .../metricsforwarder/metricsforwarder_spec.rb | 23 +++++++++++++++++++ 4 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 operations/enable-metricsforwarder-syslog.yml diff --git a/jobs/metricsforwarder/templates/metricsforwarder.yml.erb b/jobs/metricsforwarder/templates/metricsforwarder.yml.erb index 2e491e4440..79717d2920 100644 --- a/jobs/metricsforwarder/templates/metricsforwarder.yml.erb +++ b/jobs/metricsforwarder/templates/metricsforwarder.yml.erb @@ -56,15 +56,15 @@ server: logging: level: <%= p("autoscaler.metricsforwarder.logging.level") %> -<% if if_p("autoscaler.metricsforwarder.syslog.server_address") %> + +<% if_p("autoscaler.metricsforwarder.syslog.server_address") do |prop| %> syslog: - metron_address: <%= p("autoscaler.metricsforwarder.syslog.server_address") %> - port: 6067 + server_address: <%= p("autoscaler.metricsforwarder.syslog.server_address") %> tls: key_file: /var/vcap/jobs/loggr-syslog-agent/config/certs/syslog_agent.key cert_file: /var/vcap/jobs/loggr-syslog-agent/config/certs/syslog_agent.crt - ca_file: /home/vcap/app/assets/certs/loggr-syslog-agent/loggregator_ca.crt -<% else %> + ca_file: /var/vcap/jobs/loggr-syslog-agent/config/certs/loggregator_ca.crt +<% end.else do %> loggregator: metron_address: <%= p("autoscaler.metricsforwarder.loggregator.metron_address") %> tls: diff --git a/operations/enable-metricsforwarder-syslog.yml b/operations/enable-metricsforwarder-syslog.yml new file mode 100644 index 0000000000..d5ad2fac84 --- /dev/null +++ b/operations/enable-metricsforwarder-syslog.yml @@ -0,0 +1,7 @@ +- type: remove + path: /instance_groups/name=metricsforwarder/jobs/name=metricsforwarder/properties/autoscaler/metricsforwarder/loggregator + +- type: replace + path: /instance_groups/name=metricsforwarder/jobs/name=metricsforwarder/properties/autoscaler/metricsforwarder/syslog? + value: + server_address: 10.0.1.13 diff --git a/spec/fixtures/metricsforwarder.yml b/spec/fixtures/metricsforwarder.yml index e47d23e453..434d1bbfcb 100644 --- a/spec/fixtures/metricsforwarder.yml +++ b/spec/fixtures/metricsforwarder.yml @@ -20,4 +20,4 @@ autoscaler: client_id: client_id secret: uaa_secret uaa_api: https://login.cf.domain/uaa - grant_type: ALLOW_ALL \ No newline at end of file + grant_type: ALLOW_ALL diff --git a/spec/jobs/metricsforwarder/metricsforwarder_spec.rb b/spec/jobs/metricsforwarder/metricsforwarder_spec.rb index 6d7e24ef69..9377dd11e2 100644 --- a/spec/jobs/metricsforwarder/metricsforwarder_spec.rb +++ b/spec/jobs/metricsforwarder/metricsforwarder_spec.rb @@ -12,6 +12,28 @@ let(:rendered_template) { YAML.safe_load(template.render(properties)) } context "config/metricsforwarder.yml" do + it "supports syslog forwarding" do + properties["autoscaler"]["metricsforwarder"] = { + "syslog" => { + "server_address" => "syslog-server", + } + } + + expect(rendered_template).to include( + { + "syslog" => { + "server_address" => "syslog-server", + "tls" => { + "key_file" => "/var/vcap/jobs/loggr-syslog-agent/config/certs/syslog_agent.key", + "cert_file" => "/var/vcap/jobs/loggr-syslog-agent/config/certs/syslog_agent.crt", + "ca_file" => "/var/vcap/jobs/loggr-syslog-agent/config/certs/loggregator_ca.crt", + } + } + } + ) + end + + it "does not set username nor password if not configured" do properties["autoscaler"]["metricsforwarder"] = { "health" => { @@ -42,6 +64,7 @@ ) end + it "has a cred helper impl by default" do expect(rendered_template).to include( {