Skip to content

Commit

Permalink
Merge pull request #3529 from alphagov/BC-app-autoscaler-base-manifes…
Browse files Browse the repository at this point in the history
…t-switch

[#184549339] App autoscaler upgrade
  • Loading branch information
dark5un committed Jan 8, 2024
2 parents 4dfea7c + 510e138 commit 96c387b
Show file tree
Hide file tree
Showing 26 changed files with 521 additions and 107 deletions.
6 changes: 3 additions & 3 deletions concourse/pipelines/create-cloudfoundry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3545,7 +3545,7 @@ jobs:
echo 'Getting variables'
APP_AUTOSCALER_NS="/${DEPLOY_ENV}/app-autoscaler"
APP_AUTOSCALER_SERVICE_BROKER_PASSWORD="$(credhub get -q -n "${APP_AUTOSCALER_NS}/autoscaler_service_broker_password")"
APP_AUTOSCALER_SERVICE_BROKER_PASSWORD="$(credhub get -q -n "${APP_AUTOSCALER_NS}/service_broker_password")"
echo 'Setting secrets'
TEAM_NS="/concourse/main"
Expand All @@ -3567,9 +3567,9 @@ jobs:
CF_ADMIN: ((cf_admin))
CF_PASS: ((cf_pass))
DEPLOY_ENV: ((deploy_env))
APP_AUTOSCALER_SERVICE_BROKER_USERNAME: autoscaler_service_broker_user
APP_AUTOSCALER_SERVICE_BROKER_USERNAME: autoscaler-broker-user
APP_AUTOSCALER_SERVICE_BROKER_PASSWORD: ((autoscaler_service_broker_password))
APP_AUTOSCALER_SERVICE_BROKER_URL: https://autoscalerservicebroker.((system_dns_zone_name))
APP_AUTOSCALER_SERVICE_BROKER_URL: https://app-autoscalerservicebroker.((system_dns_zone_name))
run:
path: bash
args:
Expand Down
12 changes: 11 additions & 1 deletion concourse/tasks/app-autoscaler-acceptance-tests-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ run:
"admin_user": "$(cat admin-creds/username)",
"admin_password": "$(cat admin-creds/password)",
"eventgenerator_health_endpoint": "app-autoscaler-eventgenerator.$SYSTEM_DOMAIN/health",
"scalingengine_health_endpoint": "app-autoscaler-scalingengine.$SYSTEM_DOMAIN/health",
"operator_health_endpoint": "app-autoscaler-operator.$SYSTEM_DOMAIN/health",
"metricsforwarder_health_endpoint": "app-autoscaler-metricsforwarder.$SYSTEM_DOMAIN/health",
"scheduler_health_endpoint": "app-autoscaler-scheduler.$SYSTEM_DOMAIN/health",
"enable_service_access": false
}
EOF
Expand All @@ -58,7 +64,11 @@ run:
echo "Running tests"
cd paas-cf/manifests/app-autoscaler/upstream
git apply ../diffs/patch_dynamic_policy_test.patch
PATH=$(go env GOPATH)/bin:${PATH}
export PATH
cd src/acceptance
cd src/acceptance/assets/app/go_app
echo "Building tests"
make build
cd ../../..
./bin/test_default -procs 4 --compilers 4 --poll-progress-after=120s --poll-progress-interval=30s
13 changes: 13 additions & 0 deletions manifests/app-autoscaler/diffs/patch_dynamic_policy_test.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/src/acceptance/app/dynamic_policy_test.go b/src/acceptance/app/dynamic_policy_test.go
index 1339ff514..ff0a2fe47 100644
--- a/src/acceptance/app/dynamic_policy_test.go
+++ b/src/acceptance/app/dynamic_policy_test.go
@@ -50,7 +50,7 @@ var _ = Describe("AutoScaler dynamic policy", func() {

It("should scale out and then back in.", Label(acceptance.LabelSmokeTests), func() {
By(fmt.Sprintf("Use heap %d mb of heap on app", heapToUse))
- CurlAppInstance(cfg, appName, 0, fmt.Sprintf("/memory/%d/5", heapToUse))
+ CurlAppInstance(cfg, appName, 0, fmt.Sprintf("/memory/%d/5", heapToUse+20))

By("wait for scale to 2")
WaitForNInstancesRunning(appGUID, 2, 5*time.Minute)
16 changes: 12 additions & 4 deletions manifests/app-autoscaler/operations.d/001-release.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
---

# UPGRADE WARNING!
# The 11.4.2 release of app-autscaler-release has been patched to fix the acceptance tests.
# See this issue: https://github.com/cloudfoundry/app-autoscaler-release/issues/2434
# The patch file can be found here:
# paas-cf/manifests/app-autoscaler/diffs/patch_dynamic_policy_test.patch
# This patch is applied as part of the concourse task. See:
# concourse/tasks/app-autoscaler-acceptance-tests-run.yml

- type: replace
path: /releases/name=app-autoscaler?
value:
name: app-autoscaler
version: "10.0.0"
url: "https://bosh.io/d/github.com/cloudfoundry-incubator/app-autoscaler-release?v=10.0.0"
sha1: "f691986b6f14e5bc1974e8c0b02996e9e2497a61"
name: "app-autoscaler"
version: "11.4.2"
url: "https://bosh.io/d/github.com/cloudfoundry-incubator/app-autoscaler-release?v=11.4.2"
sha1: "e3e3c292122acd8f14b825f24051ad4b7330ffd5"
32 changes: 26 additions & 6 deletions manifests/app-autoscaler/operations.d/002-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=reverse-log-proxy.service.cf.internal/targets/instance_group=log-api/deployment
value: ((deploy_env))

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=log-cache.service.cf.internal/targets/instance_group=log-cache/deployment
value: ((deploy_env))

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=logcache/targets/instance_group=log-cache/deployment
value: ((deploy_env))

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=nats.service.cf.internal/targets/instance_group=nats/deployment
value: ((deploy_env))
Expand All @@ -13,22 +21,34 @@
value: ((deploy_env))

- type: replace
path: /instance_groups/name=asapi/jobs/name=route_registrar/consumes/nats/deployment
path: /instance_groups/name=apiserver/jobs/name=route_registrar/consumes/nats/deployment
value: ((deploy_env))

- type: replace
path: /instance_groups/name=metricsforwarder/jobs/name=loggregator_agent/consumes/doppler/deployment
value: ((deploy_env))

- type: replace
path: /instance_groups/name=scalingengine/jobs/name=route_registrar/consumes/nats/deployment
value: ((deploy_env))

- type: replace
path: /instance_groups/name=operator/jobs/name=route_registrar/consumes/nats/deployment
value: ((deploy_env))

- type: replace
path: /instance_groups/name=asapi/jobs/name=loggregator_agent/consumes/doppler/deployment
path: /instance_groups/name=scheduler/jobs/name=route_registrar/consumes/nats/deployment
value: ((deploy_env))

- type: replace
path: /instance_groups/name=asactors/jobs/name=route_registrar/consumes/nats/deployment
path: /instance_groups/name=metricsserver/jobs/name=route_registrar/consumes/nats/deployment
value: ((deploy_env))

- type: replace
path: /instance_groups/name=asmetrics/jobs/name=route_registrar/consumes/nats/deployment
path: /instance_groups/name=eventgenerator/jobs/name=route_registrar/consumes/nats/deployment
value: ((deploy_env))

- type: replace
path: /instance_groups/name=asnozzle/jobs/name=route_registrar/consumes/nats/deployment
path: /instance_groups/name=metricsgateway/jobs/name=route_registrar/consumes/nats/deployment
value: ((deploy_env))


36 changes: 25 additions & 11 deletions manifests/app-autoscaler/operations.d/031-bosh-dns-aliases.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,45 @@
---
- type: remove
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=autoscalerpostgres.service.cf.internal
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=((deployment_name)).autoscalerpostgres.service.cf.internal

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=apiserver.service.cf.internal/targets/0/network
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=((deployment_name)).apiserver.service.cf.internal/targets/0/network
value: cf

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=autoscalerscheduler.service.cf.internal/targets/0/network
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=((deployment_name)).autoscalerscheduler.service.cf.internal/targets/0/network
value: cf

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=servicebroker.service.cf.internal/targets/0/network
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=((deployment_name)).servicebroker.service.cf.internal/targets/0/network
value: cf

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=eventgenerator.service.cf.internal/targets/0/network
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=((deployment_name)).eventgenerator.service.cf.internal/targets/0/network
value: cf

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=scalingengine.service.cf.internal/targets/0/network
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=((deployment_name)).scalingengine.service.cf.internal/targets/0/network
value: cf

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=reverse-log-proxy.service.cf.internal/targets/0/network
value: cf

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=metricsgateway.service.cf.internal/targets/0/network
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=log-cache.service.cf.internal/targets/0/network
value: cf

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=metricsserver.service.cf.internal/targets/0/network
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=logcache/targets/0/network
value: cf

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=((deployment_name)).metricsgateway.service.cf.internal/targets/0/network
value: cf

- type: replace
path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=((deployment_name)).metricsserver.service.cf.internal/targets/0/network
value: cf

- type: replace
Expand All @@ -43,7 +51,13 @@
value: cf

- type: replace
path: /variables/name=metricsserver_server/options/alternative_names
path: /variables/name=eventgenerator_server_cert/options/alternative_names
value:
- "((deployment_name)).eventgenerator.service.cf.internal"
- "*.eventgenerator.cf.((deployment_name)).bosh"

- type: replace
path: /variables/name=metricsserver_server_cert/options/alternative_names
value:
- "metricsserver.service.cf.internal"
- "*.asmetrics.cf.app-autoscaler.bosh"
- "((deployment_name)).metricsserver.service.cf.internal"
- "*.metricsserver.cf.((deployment_name)).bosh"
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---

# autoscaler.((system_domain)) remains the cf cli autoscaler plugin's
# default presumed endpoint.
- type: replace
path: /instance_groups/name=apiserver/jobs/name=route_registrar/properties/route_registrar/routes/name=api_server/uris
value:
- autoscaler.((system_domain))
Original file line number Diff line number Diff line change
@@ -1,33 +1,24 @@
---
- type: replace
path: /variables/name=scalingengine_server/update_mode?
path: /variables/name=scalingengine_server_cert/update_mode?
value: converge

- type: replace
path: /variables/name=eventgenerator_server/update_mode?
path: /variables/name=eventgenerator_server_cert/update_mode?
value: converge

- type: replace
path: /variables/name=apiserver_server/update_mode?
path: /variables/name=apiserver_server_cert/update_mode?
value: converge

- type: replace
path: /variables/name=apiserver_public_server/update_mode?
path: /variables/name=servicebroker_server_cert/update_mode?
value: converge

- type: replace
path: /variables/name=servicebroker_server/update_mode?
path: /variables/name=scheduler_server_cert/update_mode?
value: converge

- type: replace
path: /variables/name=servicebroker_public_server/update_mode?
path: /variables/name=metricsserver_server_cert/update_mode?
value: converge

- type: replace
path: /variables/name=scheduler_server/update_mode?
value: converge

- type: replace
path: /variables/name=postgres_server/update_mode?
value: converge

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
# https://github.com/cloudfoundry/app-autoscaler-release/pull/1295
- type: replace
path: /variables/name=service_broker_password/options/length?
value: 72

- type: replace
path: /variables/name=service_broker_password/update_mode?
value: converge

- type: replace
path: /variables/name=service_broker_password_blue/options/length?
value: 72

- type: replace
path: /variables/name=service_broker_password_blue/update_mode?
value: converge

Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
---
- type: replace
path: /instance_groups/name=asactors/jobs/name=route_registrar/consumes/nats-tls/deployment?
path: /instance_groups/name=scalingengine/jobs/name=route_registrar/consumes/nats-tls/deployment?
value: ((deploy_env))

- type: replace
path: /instance_groups/name=asapi/jobs/name=route_registrar/consumes/nats-tls/deployment?
path: /instance_groups/name=scheduler/jobs/name=route_registrar/consumes/nats-tls/deployment?
value: ((deploy_env))

- type: replace
path: /instance_groups/name=asnozzle/jobs/name=route_registrar/consumes/nats-tls/deployment?
path: /instance_groups/name=operator/jobs/name=route_registrar/consumes/nats-tls/deployment?
value: ((deploy_env))

- type: replace
path: /instance_groups/name=asmetrics/jobs/name=route_registrar/consumes/nats-tls/deployment?
path: /instance_groups/name=apiserver/jobs/name=route_registrar/consumes/nats-tls/deployment?
value: ((deploy_env))

- type: replace
path: /instance_groups/name=metricsforwarder/jobs/name=route_registrar/consumes/nats-tls/deployment?
value: ((deploy_env))

- type: replace
path: /instance_groups/name=metricsgateway/jobs/name=route_registrar/consumes/nats-tls/deployment?
value: ((deploy_env))

- type: replace
path: /instance_groups/name=eventgenerator/jobs/name=route_registrar/consumes/nats-tls/deployment?
value: ((deploy_env))

- type: replace
path: /instance_groups/name=metricsserver/jobs/name=route_registrar/consumes/nats-tls/deployment?
value: ((deploy_env))
28 changes: 24 additions & 4 deletions manifests/app-autoscaler/operations.d/100-update-networks.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,41 @@
---

- type: replace
path: /instance_groups/name=asactors/networks
path: /instance_groups/name=scalingengine/networks
value:
- name: cf

- type: replace
path: /instance_groups/name=asmetrics/networks
path: /instance_groups/name=scheduler/networks
value:
- name: cf

- type: replace
path: /instance_groups/name=asapi/networks
path: /instance_groups/name=operator/networks
value:
- name: cf

- type: replace
path: /instance_groups/name=asnozzle/networks
path: /instance_groups/name=metricsforwarder/networks
value:
- name: cf

- type: replace
path: /instance_groups/name=metricsserver/networks
value:
- name: cf

- type: replace
path: /instance_groups/name=eventgenerator/networks
value:
- name: cf

- type: replace
path: /instance_groups/name=apiserver/networks
value:
- name: cf

- type: replace
path: /instance_groups/name=metricsgateway/networks
value:
- name: cf
Loading

0 comments on commit 96c387b

Please sign in to comment.