Spinnaker Release 1.38.0

Changelog

echo

Version 1.31.0 of Spinnaker introduced a feature to filter pipelines from front50 , that was disabled by default. Version 1.35.0 enabled it by default , but we’ve had enough trouble with it, that https://github.com/spinnaker/echo/pull/1503 disables it by default again.

retrofit2 upgrade

All retrofit clients are upgraded to retrofit2 and any references to retrofit1 dependencies are removed in the following services.

Clouddriver 5.95.0

Fixes

  • clouddriver-google: Fix logic when Instance Types are available only in selected Zones/Regions ( 6a65adfd )
  • core/test: add a Retrofit2EncodeCorrectionInterceptor bean ( 70b14c1a )
  • docker: resolve the issue of Unrecognized field "child" ( 7c4514af )
  • docker: resolve the issue of Failed to parse ResponseBody : Unrecognized field "child" when google cloud artifact registry responds with additional fields upon invoking tags list api ( 7c4514af )
  • docker: resolve the issue of double encoding while making the next call to ECR’s tags list ( 06c98c00 )
  • docker: resolve the issue of double encoding contained in the ECR’s next link header causing the Retrofit2 client to fail due to error code 405 and Message: Method Not Allowed. ( 06c98c00 )
  • docker: fix retrofit2 docker client which is replacing ? with %3F causing api failure ( 02101899 )
  • docker: fix the issue of retrofit2 replacing ? with %3F causing api failure with 400 ( 02101899 )
  • docker: address review comments on the fix to the issue of retrofit2 replacing ? with %3F causing api failure with 400 ( 02101899 )
  • docker/test: add a Retrofit2EncodeCorrectionInterceptor bean ( 70b14c1a )

Other

  • cats-sql: actually execute groovy tests ( 23155e5b )
  • dependencies: Autobump fiatVersion ( 5e0ce2ab )
  • dependencies: Autobump korkVersion ( 4d80be21 )
  • dependencies: Autobump fiatVersion ( 06fbc3d5 )
  • dependencies: Autobump korkVersion ( 3a2356f0 )
  • dependencies: Autobump fiatVersion ( 5a1709a4 )
  • dependencies: Autobump korkVersion ( 70b14c1a )
  • dependencies: Autobump korkVersion ( 70b14c1a )
  • docker: add a test to demonstrate the issue of Failed to parse ResponseBody : Unrecognized field "child" ( 7c4514af )
  • docker: add test to demonstrate the issue of double encoding of query parameter when the next link from a docker registry like ECR responds with an encoded url. ( 06c98c00 )
  • docker: add two test classes, one to demonstrate how real docker registry apis can be accessed using retrofit2 client and another to demonstrate the issue of retrofit2 replacing ? with %3F causing api failure with 400 ( 02101899 )

Deck 3.21.0

Fixes

  • gcp: fixing existing test + adding one test and updating credentials.json ( 2740ed53 )
  • pipelineStage: Rendering with a warning with the pipelineParameters are defined as a SpeL expression ( 294e0ed1 )

Echo 2.47.2

Fixes

  • notifications: fix MicrosoftTeamsConfig which has unused retrofit1 parameters ( 41b18321 )
  • notifications: add Retrofit2SyncCall.execute to BearychatService in BearychatNotificationService ( 8a2b94af )
  • notifications: add Retrofit2SyncCall.execute to BearychatService in BearychatNotificationService ( 8a2b94af )
  • pipelinetriggers: turn off pipeline filtering by default (#1503) ( 38c2df6d )
  • rest: add Retrofit2SyncCall.execute to RestService in RestEventService ( d3c1833b )
  • rest: add Retrofit2SyncCall.execute to RestService in RestEventService ( d3c1833b )
  • retrofit: address remnants of retrofit1 like TypedInput, TypedByteArray etc ( 5132fa85 )
  • retrofit: address remnants of retrofit1 like TypedInput, TypedByteArray etc ( 5132fa85 )
  • retrofit2: fix google cloud build notification agent for missing Retrofit2SyncCall.execute call (#1500) ( 7de326a1 )
  • retrofit2: fix the issue of missing Retrofit2SyncCall.execute call in GoogleCloudBuildNotificationAgent ( 7de326a1 )
  • retrofit2: fix A @path parameter must not come after a @Query error ( f170364c )
  • retrofit2: fix A @Path parameter must not come after a @Query error ( f170364c )
  • retrofit2: fix baseUrl must end in / error ( 19e2f34d )
  • retrofit2: fix the following error by adding trailing / in the baseUrl and removing leading / in the end point: ( 19e2f34d )
  • retrofit2: fix RestService by replacing POST mapping from / to . and add a test class to demonstrate the behaviour. ( 19e2f34d )
  • retrofit2/test: deal with the introduction of Retrofit2EncodeCorrectionInterceptor ( 3b759058 )

Other

  • core/test: only spin up a wiremock server once in IgorServiceTest ( 5132fa85 )
  • dependencies: Autobump fiatVersion ( 4c0e2959 )
  • dependencies: Autobump korkVersion ( c4fac745 )
  • dependencies: Autobump fiatVersion ( b2fe9a12 )
  • dependencies: Autobump korkVersion ( 3fb1fd6a )
  • dependencies: Autobump fiatVersion ( db1889af )
  • dependencies: Autobump korkVersion ( 3b759058 )
  • dependencies: Autobump korkVersion ( 3b759058 )
  • notifications: add a test to demonstrate the missing Retrofit2SyncCall.execute calls in BearychatNotificationService ( 8a2b94af )
  • rest: add a test to demonstrate that RestEventService.sendEvent is failing to make the RestService.recordEvent api call ( d3c1833b )
  • retrofit: add a test to demonstrate the issue of passing a TypedInput while using retrofit2 client ( 5132fa85 )
  • retrofit2: add a test to demonstrate the issue of missing Retrofit2SyncCall.execute call in GoogleCloudBuildNotificationAgent ( 7de326a1 )
  • retrofit2: add a test to demonstrate the following error: ( f170364c )
  • retrofit2: add a test to demonstrate the error: java.lang.IllegalArgumentException: baseUrl must end in /. ( 19e2f34d )

Fiat 1.57.0

Fixes

  • github: fix the error where if the baseUrl of the Github client has multiple slashes and the end point start with a slash, the resultant api url leaves that part the base url coming after first slash. ( a7f7f9de )
  • retrofit2: fix multiple slash issue in baseUrl of retrofit2 client ( a7f7f9de )

Other

  • api: refactor retrofit2 client configuration for FiatService to fix any issues that may occur if the base url has multiple slashes ( a7f7f9de )
  • dependencies: Autobump korkVersion ( 1c7fb38c )
  • dependencies: Autobump korkVersion ( e6fa9be1 )
  • dependencies: Autobump korkVersion ( 0b9e5f6f )
  • github: add a test to demonstrate an error scenario where if the baseUrl of the Github client has multiple slashes and the end point start with a slash ( a7f7f9de )
  • web: refactor retrofit2 client configuration for IgorApi, ClouddriverApi and Front50Api to fix any issues that may occur if the base url has multiple slashes ( a7f7f9de )

Front50 2.41.0

Other

  • dependencies: Autobump fiatVersion ( ceda49e0 )
  • dependencies: Autobump korkVersion ( 849a0ce3 )
  • dependencies: Autobump fiatVersion ( c4c047b5 )
  • dependencies: Autobump korkVersion ( e8909c70 )
  • dependencies: Autobump fiatVersion ( 6dc06b63 )
  • dependencies: Autobump korkVersion ( 84137d73 )

Gate 6.69.0

Fixes

  • retrofit2: fix retrofit2 issues ( bdf8922b )
  • retrofit2: fix non-generics QueryMap which causes the following error: ( bdf8922b )
  • retrofit2: fix A @Path parameter must not come after a @Query error ( bdf8922b )
  • retrofit2/test: deal with the introduction of Retrofit2EncodeCorrectionInterceptor ( c18a17c1 )
  • web: fix the mismatch in return types of EchoService.postEvent api stub and the actual api from echo ( ed770271 )
  • web: fix the mismatch in return types of EchoService.postEvent api stub and the actual api from echo. ( ed770271 )
  • web: fix the mismatches in the return types of APIs in gate and orca ( 15465c96 )
  • web: fix the mismatches in the return types of apis in gate and orca for delete, resume, cancel and pause operations of a pipeline. ( 15465c96 )
  • web: add Retrofit2SyncCall.execute to ClouddriverService in CredentialsController ( 5b500d3c )
  • web: add Retrofit2SyncCall.execute to ClouddriverService in CredentialsController ( 5b500d3c )
  • web: add Retrofit2SyncCall.execute to BakeService ( d3dc67d6 )
  • web: add Retrofit2SyncCall.execute to BakeService ( d3dc67d6 )
  • web: make type of additionalFilters in ImageController.findImages ( 875a8b15 )
  • web: make type of additionalFilters in ImageController.findImages ( 875a8b15 )

Other

  • Add test cases for OAuth feature validation ( a33b053e )
  • OAuth2: groovy to java conversion for OAuth module ( 381f554c )
  • OAuth2: groovy to java conversion for OAuth module ( 381f554c )
  • dependencies: Autobump fiatVersion ( 1af7f70a )
  • dependencies: Autobump korkVersion ( 8f5cffb6 )
  • dependencies: Autobump fiatVersion ( d04b861c )
  • dependencies: Autobump korkVersion ( efd741a5 )
  • dependencies: Autobump fiatVersion ( dd8ea4b3 )
  • dependencies: Autobump korkVersion ( c18a17c1 )
  • dependencies: Autobump korkVersion ( c18a17c1 )
  • retrofit2: add test to demonstrate the following error when QueryMap is used without generics: ( bdf8922b )
  • web: add a test to demonstrate the mismatch in return types of EchoService.postEvent api stub and the actual api from echo. ( ed770271 )
  • web: add a test to demonstrate the mismatch in api response types of gate and orca when delete pipeline execution api is invoked ( 15465c96 )
  • web: add a test to demonstrate the retrofit error that occurs when /credentials/type/{accountType} is invoked ( 5b500d3c )
  • web: use constructor injection in BakeService ( d3dc67d6 )
  • web: demonstrate behavior of BakeService ( d3dc67d6 )
  • web: demonstrate behavior of ImageController.findImages ( 875a8b15 )
  • web/test: mock DefaultProviderLookupService in PipelineServiceTest ( 15465c96 )
  • web/test: remove request id header from PipelineServiceTest ( 15465c96 )
  • web/test: add X-SPINNAKER-USER and X-SPINNAKER-ACCOUNTS headers ( 15465c96 )

Igor 4.22.0

Fixes

  • monitor-travis/test: keep up with new Retrofit2EncodeCorrectionInterceptor argument ( 5921e5fc )
  • web/test: keep up with new Retrofit2EncodeCorrectionInterceptor argument ( 5921e5fc )

Other

  • dependencies: Autobump fiatVersion ( 627ec479 )
  • dependencies: Autobump korkVersion ( f4f2da07 )
  • dependencies: Autobump fiatVersion ( 44c1bd8b )
  • dependencies: Autobump korkVersion ( 0c90099a )
  • dependencies: Autobump fiatVersion ( 22985a3d )
  • dependencies: Autobump korkVersion ( 5921e5fc )
  • dependencies: Autobump korkVersion ( 5921e5fc )
  • retrofit2: upgrade code to use retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-core package to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-monitor-artifactory to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-monitor-plugins to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-monitor-travis to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-web jenkins code to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-web bitbucket code to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-web github code to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-web gitlab code to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-web stash code to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-web wercker code to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-web concourse code to retrofit2 ( 769f1751 )
  • retrofit2: upgrade igor-web helm code to retrofit2 ( 769f1751 )
  • retrofit2: upgrade remaining misc files in igor-web to retrofit2 ( 769f1751 )
  • retrofit2: add missing Retrofit2SyncCall.execute() calls ( 769f1751 )
  • retrofit2: remove leading slashes in endpoints + add utility class to prevent ‘baseUrl must end in /’ error ( 769f1751 )
  • retrofit2: add tests for retry behavior in GitlabCiService ( 769f1751 )
  • retrofit2: fix connection refused in RetrofitUtilsTest ( 769f1751 )
  • retrofit2: fix formatting ( 769f1751 )
  • retrofit2: remove JenkinsOkHttpClientProvider and DefaultJenkinsOkHttpClientProvider ( 769f1751 )

Kayenta 2.46.0

Other

  • dependencies: Autobump orcaVersion ( a69573be )
  • dependencies: Autobump orcaVersion ( 4c545b5f )

Orca 8.64.0

Fixes

  • clouddriver/test: keep up with new Retrofit2EncodeCorrectionInterceptor argument ( d04c5186 )
  • retrofit1: exclude Retrofit2EncodeCorrectionInterceptor from the retrofit1 clients ( 2fdb327a )
  • retrofit1: exclude Retrofit2EncodeCorrectionInterceptor from the retrofit1 clients ( 2fdb327a )

Other

  • dependencies: Autobump fiatVersion ( b61e752b )
  • dependencies: Autobump korkVersion ( 139af4a0 )
  • dependencies: Autobump fiatVersion ( c7f18c88 )
  • dependencies: Autobump korkVersion ( c8496b5d )
  • dependencies: Autobump fiatVersion ( 7071d6e9 )
  • dependencies: Autobump korkVersion ( d04c5186 )
  • dependencies: Autobump korkVersion ( d04c5186 )
  • retrofit1: revert adding Retrofit2EncodeCorrectionInterceptor to retrofit1 clients in tests as kork is updated with new constructor ( 2fdb327a )

Rosco 1.26.0

Other

  • dependencies: Autobump korkVersion ( 0ae53eb0 )
  • dependencies: Autobump korkVersion ( cac7dd3d )
  • dependencies: Autobump korkVersion ( 84b7fe58 )