Skip to content

Commit

Permalink
fix(misc): Move to client provider impl for spinnaker internal servic…
Browse files Browse the repository at this point in the history
…es (#3699)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
  • Loading branch information
srekapalli and mergify[bot] committed May 25, 2020
1 parent edc9a99 commit e792f44
Show file tree
Hide file tree
Showing 10 changed files with 60 additions and 22 deletions.
5 changes: 5 additions & 0 deletions orca-api-tck/src/test/resources/orca-test-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,8 @@ spring:
services:
fiat:
baseUrl: https://fiat.net

clouddriver:
baseUrl: https://clouddriver.net
readOnly:
baseUrl: https://clouddriver-readonly.net
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
package com.netflix.spinnaker.orca.clouddriver.config

import com.fasterxml.jackson.databind.ObjectMapper
import com.jakewharton.retrofit.Ok3Client
import com.netflix.spinnaker.config.DefaultServiceEndpoint
import com.netflix.spinnaker.config.okhttp3.OkHttpClientProvider
import com.netflix.spinnaker.kork.web.selector.DefaultServiceSelector
import com.netflix.spinnaker.kork.web.selector.SelectableService
import com.netflix.spinnaker.kork.web.selector.ServiceSelector
Expand All @@ -35,11 +38,8 @@ import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.Import
import retrofit.RequestInterceptor
import retrofit.RestAdapter
import retrofit.client.Client
import retrofit.converter.JacksonConverter

import java.util.regex.Pattern

import static retrofit.Endpoints.newFixedEndpoint

@Configuration
Expand All @@ -65,28 +65,28 @@ class CloudDriverConfiguration {

@Bean
ClouddriverRetrofitBuilder clouddriverRetrofitBuilder(ObjectMapper objectMapper,
Client retrofitClient,
OkHttpClientProvider clientProvider,
RestAdapter.LogLevel retrofitLogLevel,
RequestInterceptor spinnakerRequestInterceptor,
CloudDriverConfigurationProperties cloudDriverConfigurationProperties) {
return new ClouddriverRetrofitBuilder(objectMapper, retrofitClient, retrofitLogLevel, spinnakerRequestInterceptor, cloudDriverConfigurationProperties)
return new ClouddriverRetrofitBuilder(objectMapper, clientProvider, retrofitLogLevel, spinnakerRequestInterceptor, cloudDriverConfigurationProperties)
}


static class ClouddriverRetrofitBuilder {
ObjectMapper objectMapper
Client retrofitClient
OkHttpClientProvider clientProvider
RestAdapter.LogLevel retrofitLogLevel
RequestInterceptor spinnakerRequestInterceptor
CloudDriverConfigurationProperties cloudDriverConfigurationProperties

ClouddriverRetrofitBuilder(ObjectMapper objectMapper,
Client retrofitClient,
OkHttpClientProvider clientProvider,
RestAdapter.LogLevel retrofitLogLevel,
RequestInterceptor spinnakerRequestInterceptor,
CloudDriverConfigurationProperties cloudDriverConfigurationProperties) {
this.objectMapper = objectMapper
this.retrofitClient = retrofitClient
this.clientProvider = clientProvider
this.retrofitLogLevel = retrofitLogLevel
this.spinnakerRequestInterceptor = spinnakerRequestInterceptor
this.cloudDriverConfigurationProperties = cloudDriverConfigurationProperties
Expand All @@ -100,7 +100,7 @@ class CloudDriverConfiguration {
new RestAdapter.Builder()
.setRequestInterceptor(spinnakerRequestInterceptor)
.setEndpoint(newFixedEndpoint(url))
.setClient(retrofitClient)
.setClient(new Ok3Client(clientProvider.getClient(new DefaultServiceEndpoint("clouddriver", url))))
.setLogLevel(retrofitLogLevel)
.setLog(new RetrofitSlf4jLog(type))
.setConverter(new JacksonConverter(objectMapper))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,13 @@
package com.netflix.spinnaker.orca.clouddriver

import com.github.tomakehurst.wiremock.junit.WireMockRule
import com.netflix.spinnaker.config.ServiceEndpoint
import com.netflix.spinnaker.config.okhttp3.OkHttpClientBuilderProvider
import com.netflix.spinnaker.config.okhttp3.OkHttpClientProvider
import com.netflix.spinnaker.orca.clouddriver.config.CloudDriverConfiguration
import com.netflix.spinnaker.orca.clouddriver.config.CloudDriverConfigurationProperties
import com.netflix.spinnaker.orca.jackson.OrcaObjectMapper
import okhttp3.OkHttpClient
import org.junit.Rule
import retrofit.RequestInterceptor
import retrofit.client.OkClient
Expand Down Expand Up @@ -57,7 +61,16 @@ class KatoRestServiceSpec extends Specification {
def cfg = new CloudDriverConfiguration()
def builder = cfg.clouddriverRetrofitBuilder(
mapper,
new OkClient(),
new OkHttpClientProvider([new OkHttpClientBuilderProvider() {
@Override
Boolean supports(ServiceEndpoint service) {
return true
}
@Override
OkHttpClient.Builder get(ServiceEndpoint service) {
return new OkHttpClient().newBuilder()
}
}]),
FULL,
noopInterceptor,
new CloudDriverConfigurationProperties(clouddriver: new CloudDriverConfigurationProperties.CloudDriver(baseUrl: wireMockRule.url("/"))))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
package com.netflix.spinnaker.orca.echo.config

import com.fasterxml.jackson.databind.ObjectMapper
import com.jakewharton.retrofit.Ok3Client
import com.netflix.spinnaker.config.DefaultServiceEndpoint
import com.netflix.spinnaker.config.okhttp3.OkHttpClientProvider
import com.netflix.spinnaker.orca.echo.EchoService
import com.netflix.spinnaker.orca.echo.spring.EchoNotifyingExecutionListener
import com.netflix.spinnaker.orca.echo.spring.EchoNotifyingStageListener
Expand All @@ -39,7 +42,6 @@ import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.Import
import retrofit.Endpoint
import retrofit.RestAdapter
import retrofit.client.Client as RetrofitClient
import retrofit.converter.JacksonConverter
import static retrofit.Endpoints.newFixedEndpoint

Expand All @@ -50,7 +52,7 @@ import static retrofit.Endpoints.newFixedEndpoint
@CompileStatic
class EchoConfiguration {

@Autowired RetrofitClient retrofitClient
@Autowired OkHttpClientProvider clientProvider
@Autowired RestAdapter.LogLevel retrofitLogLevel
@Autowired ObjectMapper objectMapper

Expand All @@ -64,7 +66,7 @@ class EchoConfiguration {
EchoService echoService(Endpoint echoEndpoint) {
new RestAdapter.Builder()
.setEndpoint(echoEndpoint)
.setClient(retrofitClient)
.setClient(new Ok3Client(clientProvider.getClient(new DefaultServiceEndpoint("echo", echoEndpoint.url))))
.setLogLevel(retrofitLogLevel)
.setLog(new RetrofitSlf4jLog(EchoService))
.setConverter(new JacksonConverter())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
package com.netflix.spinnaker.orca.front50.config

import com.fasterxml.jackson.databind.ObjectMapper
import com.jakewharton.retrofit.Ok3Client
import com.netflix.spinnaker.config.DefaultServiceEndpoint
import com.netflix.spinnaker.config.okhttp3.OkHttpClientProvider
import com.netflix.spinnaker.orca.events.ExecutionEvent
import com.netflix.spinnaker.orca.events.ExecutionListenerAdapter
import com.netflix.spinnaker.orca.front50.Front50Service
Expand All @@ -36,7 +39,6 @@ import org.springframework.context.annotation.Import
import retrofit.Endpoint
import retrofit.RequestInterceptor
import retrofit.RestAdapter
import retrofit.client.Client
import retrofit.converter.JacksonConverter

import static retrofit.Endpoints.newFixedEndpoint
Expand All @@ -53,7 +55,7 @@ import static retrofit.Endpoints.newFixedEndpoint
class Front50Configuration {

@Autowired
Client retrofitClient
OkHttpClientProvider clientProvider

@Autowired
RestAdapter.LogLevel retrofitLogLevel
Expand All @@ -72,7 +74,7 @@ class Front50Configuration {
new RestAdapter.Builder()
.setRequestInterceptor(spinnakerRequestInterceptor)
.setEndpoint(front50Endpoint)
.setClient(retrofitClient)
.setClient(new Ok3Client(clientProvider.getClient(new DefaultServiceEndpoint("front50", front50Endpoint.getUrl()))))
.setLogLevel(retrofitLogLevel)
.setLog(new RetrofitSlf4jLog(Front50Service))
.setConverter(new JacksonConverter(mapper))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
package com.netflix.spinnaker.orca.igor.config

import com.fasterxml.jackson.databind.ObjectMapper
import com.jakewharton.retrofit.Ok3Client
import com.netflix.spinnaker.config.DefaultServiceEndpoint
import com.netflix.spinnaker.config.okhttp3.OkHttpClientProvider
import com.netflix.spinnaker.orca.igor.IgorService
import com.netflix.spinnaker.orca.retrofit.RetrofitConfiguration
import com.netflix.spinnaker.orca.retrofit.logging.RetrofitSlf4jLog
Expand All @@ -42,7 +45,7 @@ import static retrofit.Endpoints.newFixedEndpoint
@ComponentScan("com.netflix.spinnaker.orca.igor")
class IgorConfiguration {

@Autowired Client retrofitClient
@Autowired OkHttpClientProvider clientProvider
@Autowired RestAdapter.LogLevel retrofitLogLevel
@Autowired ObjectMapper objectMapper

Expand All @@ -56,7 +59,7 @@ class IgorConfiguration {
IgorService igorService(Endpoint igorEndpoint, ObjectMapper mapper, RequestInterceptor spinnakerRequestInterceptor) {
new RestAdapter.Builder()
.setEndpoint(igorEndpoint)
.setClient(retrofitClient)
.setClient(new Ok3Client(clientProvider.getClient(new DefaultServiceEndpoint("keel", igorEndpoint.url))))
.setLogLevel(retrofitLogLevel)
.setRequestInterceptor(spinnakerRequestInterceptor)
.setLog(new RetrofitSlf4jLog(IgorService))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ package com.netflix.spinnaker.orca.config
import com.fasterxml.jackson.databind.DeserializationFeature
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.kotlin.KotlinModule
import com.jakewharton.retrofit.Ok3Client
import com.netflix.spinnaker.config.DefaultServiceEndpoint
import com.netflix.spinnaker.config.okhttp3.OkHttpClientProvider
import com.netflix.spinnaker.orca.KeelService
import com.netflix.spinnaker.orca.jackson.OrcaObjectMapper
import org.springframework.beans.factory.annotation.Value
Expand All @@ -29,7 +32,6 @@ import org.springframework.context.annotation.Configuration
import retrofit.Endpoint
import retrofit.Endpoints
import retrofit.RestAdapter
import retrofit.client.Client
import retrofit.converter.JacksonConverter

@Configuration
Expand All @@ -48,12 +50,12 @@ class KeelConfiguration {
@Bean fun keelService(
keelEndpoint: Endpoint,
keelObjectMapper: ObjectMapper,
retrofitClient: Client,
clientProvider: OkHttpClientProvider,
retrofitLogLevel: RestAdapter.LogLevel
) =
RestAdapter.Builder()
.setEndpoint(keelEndpoint)
.setClient(retrofitClient)
.setClient(Ok3Client(clientProvider.getClient(DefaultServiceEndpoint("keel", keelEndpoint.url))))
.setLogLevel(retrofitLogLevel)
.setConverter(JacksonConverter(keelObjectMapper))
.build()
Expand Down
5 changes: 5 additions & 0 deletions orca-plugins-test/src/test/resources/orca-plugins-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,8 @@ spinnaker:
services:
fiat:
baseUrl: https://fiat.net

clouddriver:
baseUrl: https://clouddriver.net
readOnly:
baseUrl: https://clouddriver-readonly.net
3 changes: 2 additions & 1 deletion orca-retrofit/orca-retrofit.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@ dependencies {
api("com.squareup.retrofit:retrofit")
api("com.squareup.retrofit:converter-jackson")
api("org.codehaus.groovy:groovy")
api("com.netflix.spinnaker.kork:kork-web")
api("com.jakewharton.retrofit:retrofit1-okhttp3-client")

implementation(project(":orca-core"))
implementation("com.squareup.okhttp:okhttp")
implementation("com.squareup.okhttp:okhttp-urlconnection")
implementation("com.squareup.okhttp:okhttp-apache")
implementation("com.netflix.spinnaker.kork:kork-web")
implementation("io.reactivex:rxjava")
implementation("com.jakewharton.retrofit:retrofit1-okhttp3-client:1.1.0")

Expand Down
5 changes: 5 additions & 0 deletions orca-web/src/test/resources/orca-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,8 @@ spring:
services:
fiat:
baseUrl: https://fiat.net

clouddriver:
baseUrl: https://clouddriver.net
readOnly:
baseUrl: https://clouddriver-readonly.net

0 comments on commit e792f44

Please sign in to comment.