From 47f873ea391d1e771a2d9bae777c09df195c2e25 Mon Sep 17 00:00:00 2001 From: Jochen Ehret Date: Mon, 4 Nov 2024 12:29:41 +0100 Subject: [PATCH 1/2] Add temporary_enable_v2 flag to cc-worker config * required for https://github.com/cloudfoundry/cloud_controller_ng/pull/4058 --- jobs/cloud_controller_worker/spec | 4 ++++ .../templates/cloud_controller_ng.yml.erb | 2 ++ .../cloud_controller_worker_spec.rb | 18 ++++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/jobs/cloud_controller_worker/spec b/jobs/cloud_controller_worker/spec index 79a5cc3cd3..42991bdb37 100644 --- a/jobs/cloud_controller_worker/spec +++ b/jobs/cloud_controller_worker/spec @@ -388,6 +388,10 @@ properties: default: false description: "Enable development features for monitoring and insight" + cc.temporary_enable_v2: + description: "Enable V2 endpoints" + default: true + cc.newrelic.license_key: default: ~ description: "The api key for NewRelic" diff --git a/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb b/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb index 62053c7d21..9744846af2 100644 --- a/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb +++ b/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb @@ -128,6 +128,8 @@ db: &db <% system_domain = p("system_domain") %> +temporary_enable_v2: <%= p("cc.temporary_enable_v2") %> + uaa: internal_url: <%= "https://#{p("cc.uaa.internal_url")}:#{p("uaa.ssl.port")}" %> ca_file: /var/vcap/jobs/cloud_controller_worker/config/certs/uaa_ca.crt diff --git a/spec/cloud_controller_worker/cloud_controller_worker_spec.rb b/spec/cloud_controller_worker/cloud_controller_worker_spec.rb index 8570269cb9..b755bfe4bd 100644 --- a/spec/cloud_controller_worker/cloud_controller_worker_spec.rb +++ b/spec/cloud_controller_worker/cloud_controller_worker_spec.rb @@ -258,6 +258,24 @@ module Test end end end + + describe 'enable v2 API' do + it 'is by default true' do + template_hash = YAML.safe_load(template.render(manifest_properties, consumes: links)) + expect(template_hash['temporary_enable_v2']).to be(true) + end + + context 'when explicitly disabled' do + before do + manifest_properties['cc']['temporary_enable_v2'] = false + end + + it 'is false' do + template_hash = YAML.safe_load(template.render(manifest_properties, consumes: links)) + expect(template_hash['temporary_enable_v2']).to be(false) + end + end + end end end end From 73cb8f8b05d0bbae0d72de0377c17e54e054921b Mon Sep 17 00:00:00 2001 From: Jochen Ehret Date: Tue, 5 Nov 2024 13:21:52 +0100 Subject: [PATCH 2/2] Use BOSH links for temp_enable_v2 property * avoids redundant configuration --- jobs/cloud_controller_ng/spec | 1 + jobs/cloud_controller_worker/spec | 4 ---- .../templates/cloud_controller_ng.yml.erb | 2 +- .../cloud_controller_worker_spec.rb | 15 +++------------ 4 files changed, 5 insertions(+), 17 deletions(-) diff --git a/jobs/cloud_controller_ng/spec b/jobs/cloud_controller_ng/spec index fc5988cb2a..4d0d1d7325 100644 --- a/jobs/cloud_controller_ng/spec +++ b/jobs/cloud_controller_ng/spec @@ -211,6 +211,7 @@ provides: - cc.statsd_port - cc.enable_statsd_metrics - cc.system_hostnames + - cc.temporary_enable_v2 - cc.tls_port - cc.uaa.client_timeout - cc.internal_route_vip_range diff --git a/jobs/cloud_controller_worker/spec b/jobs/cloud_controller_worker/spec index 42991bdb37..79a5cc3cd3 100644 --- a/jobs/cloud_controller_worker/spec +++ b/jobs/cloud_controller_worker/spec @@ -388,10 +388,6 @@ properties: default: false description: "Enable development features for monitoring and insight" - cc.temporary_enable_v2: - description: "Enable V2 endpoints" - default: true - cc.newrelic.license_key: default: ~ description: "The api key for NewRelic" diff --git a/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb b/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb index 9744846af2..867dfc169a 100644 --- a/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb +++ b/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb @@ -128,7 +128,7 @@ db: &db <% system_domain = p("system_domain") %> -temporary_enable_v2: <%= p("cc.temporary_enable_v2") %> +temporary_enable_v2: <%= link("cloud_controller_internal").p("cc.temporary_enable_v2") %> uaa: internal_url: <%= "https://#{p("cc.uaa.internal_url")}:#{p("uaa.ssl.port")}" %> diff --git a/spec/cloud_controller_worker/cloud_controller_worker_spec.rb b/spec/cloud_controller_worker/cloud_controller_worker_spec.rb index b755bfe4bd..722a82080f 100644 --- a/spec/cloud_controller_worker/cloud_controller_worker_spec.rb +++ b/spec/cloud_controller_worker/cloud_controller_worker_spec.rb @@ -80,10 +80,12 @@ module Test 'jobs' => { 'enable_dynamic_job_priorities' => false }, - 'app_log_revision' => true + 'app_log_revision' => true, + 'temporary_enable_v2' => true } } end + let(:cloud_controller_internal_link) do Link.new(name: 'cloud_controller_internal', properties:, instances: [LinkInstance.new(address: 'default_app_ssh_access')]) end @@ -264,17 +266,6 @@ module Test template_hash = YAML.safe_load(template.render(manifest_properties, consumes: links)) expect(template_hash['temporary_enable_v2']).to be(true) end - - context 'when explicitly disabled' do - before do - manifest_properties['cc']['temporary_enable_v2'] = false - end - - it 'is false' do - template_hash = YAML.safe_load(template.render(manifest_properties, consumes: links)) - expect(template_hash['temporary_enable_v2']).to be(false) - end - end end end end