Spring Cloud Gateway (SCG) upgrade errand fails after upgrading from SCG v1.0.3 to v1.0.7
search cancel

Spring Cloud Gateway (SCG) upgrade errand fails after upgrading from SCG v1.0.3 to v1.0.7

book

Article ID: 297128

calendar_today

Updated On:

Products

Support Only for Spring

Issue/Introduction

When trying to upgrade Spring Cloud Gateway (SCG) to v1.0.7 and the upgrade-all-instances errand is turned on, Apply Changes fails at upgrade-all-instances. This is a known issue in SCG 1.0.7. Despite this error, it is possible that the instances will still be upgraded successfully. This article shows you how to check if the SCG instances are actually upgraded.

When the Apply Changes fails, the error message looks similar to the following:

2020-05-26 20:40:58.662 DEBUG 7 --- [ry-client-nio-1] cloudfoundry-client.request              : PUT    /v2/service_instances/<Service GUID>  
2020-05-26 20:40:58.693 DEBUG 7 --- [ry-client-nio-1] cloudfoundry-client.response             : 409    /v2/service_instances/<Service GUID>   (30 ms)  
2020-05-26 20:40:58.705 ERROR 7 --- [           main] i.p.s.c.s.errand.BrokerErrandCli         : Errand failed  

org.cloudfoundry.client.v2.ClientV2Exception: CF-AsyncServiceInstanceOperationInProgress(60016): An operation for service instance <Service Instance Name> is in progress.  
at org.cloudfoundry.reactor.util.ErrorPayloadMappers.lambda$null$0(ErrorPayloadMappers.java:47) ~[cloudfoundry-client-reactor-4.5.0.RELEASE.jar!/:na]  
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:   
           Assembly trace from producer [reactor.core.publisher.MonoFlatMap] :  
               reactor.core.publisher.Mono.checkpoint(Mono.java:1865)  
 

This error message can also be found in upgrade-all-instances.stdout.log:

2020-05-26 20:31:59.467  INFO 7 --- [ry-client-nio-4] i.p.s.c.s.errand.CloudFoundryService     : Current state is in progress
2020-05-26 20:31:59.472 ERROR 7 --- [           main] i.p.s.c.s.errand.BrokerErrandCli         : Errand failedorg.cloudfoundry.util.DelayTimeoutException: null
	at org.cloudfoundry.util.DelayUtils.lambda$getDelay$8(DelayUtils.java:103) ~[cloudfoundry-util-4.5.0.RELEASE.jar!/:na]
	at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:378) ~[reactor-core-3.3.4.RELEASE.jar!/:3.3.4.RELEASE]
	at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) ~[reactor-core-3.3.4.RELEASE.jar!/:3.3.4.RELEASE]
	at reactor.core.publisher.Fl


The issue is caused by a timeout which has been fixed in SCG 1.0.8.


Resolution

This issue has been fixed in Spring Cloud Gateway v1.0.8. Please upgrade to SCG 1.0.8.


You may confirm that the upgrade was successful by the following steps:

1. Please log into cf CLI and make sure that the credential has the space developer permission. 

cf t -o <myorg> -s <my space>
cf service <Gateway Service> 


Note: Grab the dashboard URL.

2. Paste the URL to the browser and log into with your credential that has space developer permission.

Once logged in, you should be able to see the current version of the instance. You should be able to see the version is now v1.0.8. If it is v1.0.8, then the upgrade was successful. Here is a sample screenshot showing the version: