diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DestroyOracleBMCSServerGroupAtomicOperationConverter.groovy b/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DestroyOracleBMCSServerGroupAtomicOperationConverter.groovy deleted file mode 100644 index 370d65fffac..00000000000 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DestroyOracleBMCSServerGroupAtomicOperationConverter.groovy +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2017 Oracle America, Inc. - * - * The contents of this file are subject to the Apache License Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * If a copy of the Apache License Version 2.0 was not distributed with this file, - * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html - */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter - -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.DestroyOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.DestroyOracleBMCSServerGroupAtomicOperation -import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation -import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations -import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport -import groovy.util.logging.Slf4j -import org.springframework.stereotype.Component - -@Slf4j -@OracleBMCSOperation(AtomicOperations.DESTROY_SERVER_GROUP) -@Component("destroyOracleBMCSServerGroupDescription") -class DestroyOracleBMCSServerGroupAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { - - @Override - AtomicOperation convertOperation(Map input) { - log.info("DestroyOracleBMCSServerGroupAtomicOperationConverter convertOperation, input: $input") - new DestroyOracleBMCSServerGroupAtomicOperation(convertDescription(input)) - } - - @Override - DestroyOracleBMCSServerGroupDescription convertDescription(Map input) { - OracleBMCSAtomicOperationConverterHelper.convertDescription(input, this, DestroyOracleBMCSServerGroupDescription) - } -} diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DisableOracleBMCSServerGroupAtomicOperationConverter.groovy b/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DisableOracleBMCSServerGroupAtomicOperationConverter.groovy deleted file mode 100644 index cee164e4b0d..00000000000 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DisableOracleBMCSServerGroupAtomicOperationConverter.groovy +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2017 Oracle America, Inc. - * - * The contents of this file are subject to the Apache License Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * If a copy of the Apache License Version 2.0 was not distributed with this file, - * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html - */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter - -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.EnableDisableOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.DisableOracleBMCSServerGroupAtomicOperation -import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation -import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations -import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport -import org.springframework.stereotype.Component - -@OracleBMCSOperation(AtomicOperations.DISABLE_SERVER_GROUP) -@Component("disableGoogleServerGroupDescription") -class DisableOracleBMCSServerGroupAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { - - @Override - AtomicOperation convertOperation(Map input) { - new DisableOracleBMCSServerGroupAtomicOperation(convertDescription(input)) - } - - @Override - EnableDisableOracleBMCSServerGroupDescription convertDescription(Map input) { - OracleBMCSAtomicOperationConverterHelper.convertDescription(input, this, EnableDisableOracleBMCSServerGroupDescription) - } -} diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/EnableOracleBMCSServerGroupAtomicOperationConverter.groovy b/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/EnableOracleBMCSServerGroupAtomicOperationConverter.groovy deleted file mode 100644 index ddd004c2090..00000000000 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/EnableOracleBMCSServerGroupAtomicOperationConverter.groovy +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2017 Oracle America, Inc. - * - * The contents of this file are subject to the Apache License Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * If a copy of the Apache License Version 2.0 was not distributed with this file, - * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html - */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter - -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.EnableDisableOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.EnableOracleBMCSServerGroupAtomicOperation -import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation -import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations -import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport -import org.springframework.stereotype.Component - -@OracleBMCSOperation(AtomicOperations.ENABLE_SERVER_GROUP) -@Component("enableGoogleServerGroupDescription") -class EnableOracleBMCSServerGroupAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { - - @Override - AtomicOperation convertOperation(Map input) { - new EnableOracleBMCSServerGroupAtomicOperation(convertDescription(input)) - } - - @Override - EnableDisableOracleBMCSServerGroupDescription convertDescription(Map input) { - OracleBMCSAtomicOperationConverterHelper.convertDescription(input, this, EnableDisableOracleBMCSServerGroupDescription) - } -} diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/ResizeOracleBMCSServerGroupAtomicOperationConverter.groovy b/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/ResizeOracleBMCSServerGroupAtomicOperationConverter.groovy deleted file mode 100644 index b058b9de5bd..00000000000 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/ResizeOracleBMCSServerGroupAtomicOperationConverter.groovy +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2017 Oracle America, Inc. - * - * The contents of this file are subject to the Apache License Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * If a copy of the Apache License Version 2.0 was not distributed with this file, - * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html - */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter - -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.ResizeOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.ResizeOracleBMCSServerGroupAtomicOperation -import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation -import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations -import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport -import org.springframework.stereotype.Component - -@OracleBMCSOperation(AtomicOperations.RESIZE_SERVER_GROUP) -@Component("resizeOracleBMCSServerGroupDescription") -class ResizeOracleBMCSServerGroupAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { - - @Override - AtomicOperation convertOperation(Map input) { - new ResizeOracleBMCSServerGroupAtomicOperation(convertDescription(input)) - } - - @Override - ResizeOracleBMCSServerGroupDescription convertDescription(Map input) { - OracleBMCSAtomicOperationConverterHelper.convertDescription(input, this, ResizeOracleBMCSServerGroupDescription) - } -} diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/config/OracleBMCSInfrastructureProviderConfig.groovy b/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/config/OracleBMCSInfrastructureProviderConfig.groovy deleted file mode 100644 index 8f33d46a5f4..00000000000 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/config/OracleBMCSInfrastructureProviderConfig.groovy +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (c) 2017 Oracle America, Inc. - * - * The contents of this file are subject to the Apache License Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * If a copy of the Apache License Version 2.0 was not distributed with this file, - * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html - */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.config - -import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.databind.SerializationFeature -import com.netflix.spectator.api.Registry -import com.netflix.spinnaker.cats.agent.Agent -import com.netflix.spinnaker.cats.provider.ProviderSynchronizerTypeWrapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSConfiguration -import com.netflix.spinnaker.clouddriver.oraclebmcs.provider.OracleBMCSInfrastructureProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent.* -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService -import com.netflix.spinnaker.clouddriver.security.AccountCredentialsRepository -import com.netflix.spinnaker.clouddriver.security.ProviderUtils -import org.springframework.beans.factory.config.ConfigurableBeanFactory -import org.springframework.boot.context.properties.EnableConfigurationProperties -import org.springframework.context.annotation.* - -import java.util.concurrent.ConcurrentHashMap - -@Configuration -@Import(OracleBMCSConfiguration) -@EnableConfigurationProperties -class OracleBMCSInfrastructureProviderConfig { - - @Bean - @DependsOn('oracleBMCSNamedAccountCredentials') - OracleBMCSInfrastructureProvider oracleBMCSInfrastructureProvider(String clouddriverUserAgentApplicationName, - AccountCredentialsRepository accountCredentialsRepository, - ObjectMapper objectMapper, - Registry registry, - OracleBMCSServerGroupService oracleBMCSServerGroupService) { - def oracleBMCSInfrastructureProvider = - new OracleBMCSInfrastructureProvider(Collections.newSetFromMap(new ConcurrentHashMap())) - - synchronizeOracleBMCSInfrastructureProvider(clouddriverUserAgentApplicationName, - oracleBMCSInfrastructureProvider, - accountCredentialsRepository, - objectMapper, - registry, - oracleBMCSServerGroupService - ) - - return oracleBMCSInfrastructureProvider - } - - @Bean - OracleBMCSInfrastructureProviderSynchronizerTypeWrapper oracleBMCSInfrastructureProviderSynchronizerTypeWrapper() { - new OracleBMCSInfrastructureProviderSynchronizerTypeWrapper() - } - - class OracleBMCSInfrastructureProviderSynchronizerTypeWrapper implements ProviderSynchronizerTypeWrapper { - - @Override - Class getSynchronizerType() { - return OracleBMCSInfrastructureProviderSynchronizer - } - } - - class OracleBMCSInfrastructureProviderSynchronizer {} - - @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) - @Bean - OracleBMCSInfrastructureProviderSynchronizer synchronizeOracleBMCSInfrastructureProvider( - String clouddriverUserAgentApplicationName, - OracleBMCSInfrastructureProvider oracleBMCSInfrastructureProvider, - AccountCredentialsRepository accountCredentialsRepository, - ObjectMapper objectMapper, - Registry registry, - OracleBMCSServerGroupService oracleBMCSServerGroupService) { - def scheduledAccounts = ProviderUtils.getScheduledAccounts(oracleBMCSInfrastructureProvider) - def allAccounts = ProviderUtils.buildThreadSafeSetOfAccounts(accountCredentialsRepository, - OracleBMCSNamedAccountCredentials) - - objectMapper.enable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) - - allAccounts.each { OracleBMCSNamedAccountCredentials credentials -> - if (!scheduledAccounts.contains(credentials.name)) { - def newlyAddedAgents = [] - - newlyAddedAgents << new OracleBMCSSecurityGroupCachingAgent(clouddriverUserAgentApplicationName, - credentials, - objectMapper, - registry) - - newlyAddedAgents << new OracleBMCSInstanceCachingAgent(clouddriverUserAgentApplicationName, - credentials, - objectMapper) - - newlyAddedAgents << new OracleBMCSNetworkCachingAgent(clouddriverUserAgentApplicationName, - credentials, - objectMapper) - - newlyAddedAgents << new OracleBMCSSubnetCachingAgent(clouddriverUserAgentApplicationName, - credentials, - objectMapper) - - newlyAddedAgents << new OracleBMCSServerGroupCachingAgent(clouddriverUserAgentApplicationName, - credentials, - objectMapper, - oracleBMCSServerGroupService) - - newlyAddedAgents << new OracleBMCSImageCachingAgent(clouddriverUserAgentApplicationName, - credentials, - objectMapper) - - newlyAddedAgents << new OracleBMCSLoadBalancerCachingAgent(clouddriverUserAgentApplicationName, - credentials, - objectMapper) - - // If there is an agent scheduler, then this provider has been through the AgentController in the past. - // In that case, we need to do the scheduling here (because accounts have been added to a running system). - if (oracleBMCSInfrastructureProvider.agentScheduler) { - ProviderUtils.rescheduleAgents(oracleBMCSInfrastructureProvider, newlyAddedAgents) - } - - oracleBMCSInfrastructureProvider.agents.addAll(newlyAddedAgents) - } - } - - return new OracleBMCSInfrastructureProviderSynchronizer() - } -} diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSServerGroupService.groovy b/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSServerGroupService.groovy deleted file mode 100644 index f9f2a175620..00000000000 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSServerGroupService.groovy +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2017 Oracle America, Inc. - * - * The contents of this file are subject to the Apache License Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * If a copy of the Apache License Version 2.0 was not distributed with this file, - * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html - */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup - -import com.netflix.spinnaker.clouddriver.data.task.Task -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials - -interface OracleBMCSServerGroupService { - - public List listAllServerGroups(OracleBMCSNamedAccountCredentials creds) - - public List listServerGroupNamesByClusterName(OracleBMCSNamedAccountCredentials creds, String clusterName) - - public OracleBMCSServerGroup getServerGroup(OracleBMCSNamedAccountCredentials creds, String application, String name) - - public void createServerGroup(OracleBMCSServerGroup serverGroup) - - public boolean destroyServerGroup(Task task, OracleBMCSNamedAccountCredentials creds, String serverGroupName) - - public boolean resizeServerGroup(Task task, OracleBMCSNamedAccountCredentials creds, String serverGroupName, Integer targetSize) - - public void disableServerGroup(Task task, OracleBMCSNamedAccountCredentials creds, String serverGroupName) - - public void enableServerGroup(Task task, OracleBMCSNamedAccountCredentials creds, String serverGroupName) - -} diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/DestroyOracleBMCSServerGroupAtomicOperationSpec.groovy b/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/DestroyOracleBMCSServerGroupAtomicOperationSpec.groovy deleted file mode 100644 index bd70fef756e..00000000000 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/DestroyOracleBMCSServerGroupAtomicOperationSpec.groovy +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2017 Oracle America, Inc. - * - * The contents of this file are subject to the Apache License Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * If a copy of the Apache License Version 2.0 was not distributed with this file, - * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html - */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op - -import com.netflix.spinnaker.clouddriver.data.task.Task -import com.netflix.spinnaker.clouddriver.data.task.TaskRepository -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.OracleBMCSWorkRequestPoller -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.DestroyOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService -import com.oracle.bmc.loadbalancer.LoadBalancerClient -import com.oracle.bmc.loadbalancer.responses.DeleteBackendSetResponse -import spock.lang.Specification - -class DestroyOracleBMCSServerGroupAtomicOperationSpec extends Specification { - - def "Triggers destroying of a server group"() { - setup: - def destroyDesc = new DestroyOracleBMCSServerGroupDescription() - destroyDesc.serverGroupName = "sg1" - def creds = Mock(OracleBMCSNamedAccountCredentials) - def loadBalancerClient = Mock(LoadBalancerClient) - creds.loadBalancerClient >> loadBalancerClient - destroyDesc.credentials = creds - TaskRepository.threadLocalTask.set(Mock(Task)) - def sgService = Mock(OracleBMCSServerGroupService) - DestroyOracleBMCSServerGroupAtomicOperation op = new DestroyOracleBMCSServerGroupAtomicOperation(destroyDesc) - op.oracleBMCSServerGroupService = sgService - GroovySpy(OracleBMCSWorkRequestPoller, global: true) - - - when: - op.operate(null) - - then: - 1 * sgService.destroyServerGroup(_, _, "sg1") - 1 * sgService.getServerGroup(_, _, "sg1") >> new OracleBMCSServerGroup(loadBalancerId: "ocid.lb.oc1..12345") - 1 * loadBalancerClient.deleteBackendSet(_) >> DeleteBackendSetResponse.builder().opcWorkRequestId("wr1").build() - 1 * OracleBMCSWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null - } -} diff --git a/clouddriver-oracle-bmcs/clouddriver-oracle-bmcs.gradle b/clouddriver-oracle/clouddriver-oracle.gradle similarity index 100% rename from clouddriver-oracle-bmcs/clouddriver-oracle-bmcs.gradle rename to clouddriver-oracle/clouddriver-oracle.gradle diff --git a/clouddriver-oracle-bmcs/oracle-source-header b/clouddriver-oracle/oracle-source-header similarity index 100% rename from clouddriver-oracle-bmcs/oracle-source-header rename to clouddriver-oracle/oracle-source-header diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSCloudProvider.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleCloudProvider.groovy similarity index 68% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSCloudProvider.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleCloudProvider.groovy index 7e25e5c3958..cbb69f7cc04 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSCloudProvider.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleCloudProvider.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs +package com.netflix.spinnaker.clouddriver.oracle import com.netflix.spinnaker.clouddriver.core.CloudProvider import org.springframework.stereotype.Component @@ -14,13 +14,13 @@ import org.springframework.stereotype.Component import java.lang.annotation.Annotation /** - * OracleBMCS declaration as a {@link CloudProvider}. + * Oracle declaration as a {@link CloudProvider}. */ @Component -class OracleBMCSCloudProvider implements CloudProvider { +class OracleCloudProvider implements CloudProvider { - static final String ID = "oraclebmcs" + static final String ID = "oracle" final String id = ID final String displayName = ID - final Class operationAnnotationType = OracleBMCSOperation + final Class operationAnnotationType = OracleOperation } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSConfiguration.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleConfiguration.groovy similarity index 54% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSConfiguration.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleConfiguration.groovy index c9c0b0d3e48..b3595aca9f5 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSConfiguration.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleConfiguration.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs +package com.netflix.spinnaker.clouddriver.oracle -import com.netflix.spinnaker.clouddriver.oraclebmcs.config.OracleBMCSConfigurationProperties -import com.netflix.spinnaker.clouddriver.oraclebmcs.health.OracleBMCSHealthIndicator -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSCredentialsInitializer +import com.netflix.spinnaker.clouddriver.oracle.config.OracleConfigurationProperties +import com.netflix.spinnaker.clouddriver.oracle.health.OracleHealthIndicator +import com.netflix.spinnaker.clouddriver.oracle.security.OracleCredentialsInitializer import org.springframework.beans.factory.config.ConfigurableBeanFactory import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty import org.springframework.boot.context.properties.ConfigurationProperties @@ -21,21 +21,21 @@ import org.springframework.scheduling.annotation.EnableScheduling @Configuration @EnableConfigurationProperties @EnableScheduling -@ConditionalOnProperty('oraclebmcs.enabled') -@ComponentScan(["com.netflix.spinnaker.clouddriver.oraclebmcs"]) -@Import([ OracleBMCSCredentialsInitializer ]) -class OracleBMCSConfiguration { +@ConditionalOnProperty('oracle.enabled') +@ComponentScan(["com.netflix.spinnaker.clouddriver.oracle"]) +@Import([ OracleCredentialsInitializer ]) +class OracleConfiguration { @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Bean - @ConfigurationProperties("oraclebmcs") - OracleBMCSConfigurationProperties oracleBMCSConfigurationProperties() { - new OracleBMCSConfigurationProperties() + @ConfigurationProperties("oracle") + OracleConfigurationProperties oracleConfigurationProperties() { + new OracleConfigurationProperties() } @Bean - OracleBMCSHealthIndicator OracleBMCSHealthIndicator() { - new OracleBMCSHealthIndicator() + OracleHealthIndicator OracleHealthIndicator() { + new OracleHealthIndicator() } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSOperation.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleOperation.groovy similarity index 76% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSOperation.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleOperation.groovy index f15c47afd77..5e62eb822be 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSOperation.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleOperation.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs +package com.netflix.spinnaker.clouddriver.oracle import java.lang.annotation.ElementType import java.lang.annotation.Retention @@ -14,11 +14,11 @@ import java.lang.annotation.RetentionPolicy import java.lang.annotation.Target /** - * {@code OracleBMCSOperation}s specify implementation classes of Spinnaker AtomicOperations for OracleBMCS. + * {@code OracleOperation}s specify implementation classes of Spinnaker AtomicOperations for Oracle. */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) -@interface OracleBMCSOperation { +@interface OracleOperation { String value() } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/cache/Keys.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/cache/Keys.groovy similarity index 80% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/cache/Keys.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/cache/Keys.groovy index 1a325922656..db08541d158 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/cache/Keys.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/cache/Keys.groovy @@ -6,10 +6,10 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.cache +package com.netflix.spinnaker.clouddriver.oracle.cache import com.netflix.frigga.Names -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider import groovy.util.logging.Slf4j @Slf4j @@ -25,7 +25,7 @@ class Keys { INSTANCES, LOADBALANCERS - static String provider = OracleBMCSCloudProvider.ID + static String provider = OracleCloudProvider.ID final String ns @@ -44,7 +44,7 @@ class Keys { static Map parse(String key) { def parts = key.split(':') - if (parts.length < 2 || parts[0] != OracleBMCSCloudProvider.ID) { + if (parts.length < 2 || parts[0] != OracleCloudProvider.ID) { return null } @@ -128,43 +128,43 @@ class Keys { String securityGroupId, String region, String account) { - "$OracleBMCSCloudProvider.ID:${Namespace.SECURITY_GROUPS}:${securityGroupName}:${securityGroupId}:${region}:${account}" + "$OracleCloudProvider.ID:${Namespace.SECURITY_GROUPS}:${securityGroupName}:${securityGroupId}:${region}:${account}" } static String getImageKey(String account, String region, String imageId) { - "$OracleBMCSCloudProvider.ID:${Namespace.IMAGES}:${account}:${region}:${imageId}" + "$OracleCloudProvider.ID:${Namespace.IMAGES}:${account}:${region}:${imageId}" } static String getInstanceKey(String account, String region, String name, String id) { - "$OracleBMCSCloudProvider.ID:${Namespace.INSTANCES}:${account}:${region}:${name}:${id}" + "$OracleCloudProvider.ID:${Namespace.INSTANCES}:${account}:${region}:${name}:${id}" } static String getNetworkKey(String networkName, String networkId, String region, String account) { - "$OracleBMCSCloudProvider.ID:${Namespace.NETWORKS}:${networkName}:${networkId}:${region}:${account}" + "$OracleCloudProvider.ID:${Namespace.NETWORKS}:${networkName}:${networkId}:${region}:${account}" } static String getSubnetKey(String subnetId, String region, String account) { - "$OracleBMCSCloudProvider.ID:${Namespace.SUBNETS}:${subnetId}:${region}:${account}" + "$OracleCloudProvider.ID:${Namespace.SUBNETS}:${subnetId}:${region}:${account}" } static String getServerGroupKey(String account, String region, String serverGroupName) { Names names = Names.parseName(serverGroupName) - "$OracleBMCSCloudProvider.ID:${Namespace.SERVER_GROUPS}:${names.cluster}:${account}:${region}:${serverGroupName}" + "$OracleCloudProvider.ID:${Namespace.SERVER_GROUPS}:${names.cluster}:${account}:${region}:${serverGroupName}" } static String getLoadBalancerKey(String loadBalancerName, String loadBalancerId, String region, String account) { - "$OracleBMCSCloudProvider.ID:${Namespace.NETWORKS}:${loadBalancerName}:${loadBalancerId}:${region}:${account}" + "$OracleCloudProvider.ID:${Namespace.NETWORKS}:${loadBalancerName}:${loadBalancerId}:${region}:${account}" } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/config/OracleBMCSConfigurationProperties.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/config/OracleConfigurationProperties.groovy similarity index 88% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/config/OracleBMCSConfigurationProperties.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/config/OracleConfigurationProperties.groovy index 5b12c5cac83..c432e6222b1 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/config/OracleBMCSConfigurationProperties.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/config/OracleConfigurationProperties.groovy @@ -6,12 +6,12 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.config +package com.netflix.spinnaker.clouddriver.oracle.config import groovy.transform.ToString @ToString(includeNames = true) -class OracleBMCSConfigurationProperties { +class OracleConfigurationProperties { @ToString(includeNames = true) static class ManagedAccount { diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/controller/OracleBMCSImageLookupController.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/controller/OracleImageLookupController.groovy similarity index 71% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/controller/OracleBMCSImageLookupController.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/controller/OracleImageLookupController.groovy index deb7d1a6b15..75a5201d81d 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/controller/OracleBMCSImageLookupController.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/controller/OracleImageLookupController.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.controller +package com.netflix.spinnaker.clouddriver.oracle.controller import com.netflix.spinnaker.cats.mem.InMemoryCache -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSImage -import com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view.OracleBMCSImageProvider +import com.netflix.spinnaker.clouddriver.oracle.model.OracleImage +import com.netflix.spinnaker.clouddriver.oracle.provider.view.OracleImageProvider import groovy.util.logging.Slf4j import org.springframework.beans.factory.annotation.Autowired import org.springframework.web.bind.annotation.* @@ -20,18 +20,18 @@ import java.util.stream.Collectors @Slf4j @RestController -@RequestMapping("/oraclebmcs/images") -class OracleBMCSImageLookupController { +@RequestMapping("/oracle/images") +class OracleImageLookupController { - final OracleBMCSImageProvider imageProvider + final OracleImageProvider imageProvider @Autowired - OracleBMCSImageLookupController(final OracleBMCSImageProvider imageProvider) { + OracleImageLookupController(final OracleImageProvider imageProvider) { this.imageProvider = imageProvider } @RequestMapping(value = '/{account}/{region}/{imageId:.+}', method = RequestMethod.GET) - List getById( + List getById( @PathVariable String account, @PathVariable String region, @PathVariable String imageId) { def images = imageProvider.getByAccountAndRegion(account, region) if (images) { @@ -41,15 +41,15 @@ class OracleBMCSImageLookupController { } @RequestMapping(value = '/find', method = RequestMethod.GET) - Set find(@RequestParam(required = false) String account, @RequestParam(required = false) String q) { - Set results - Set images = imageProvider.getAll() + Set find(@RequestParam(required = false) String account, @RequestParam(required = false) String q) { + Set results + Set images = imageProvider.getAll() if (!images) { results = Collections.emptySet() } else { results = images.stream() .collect(Collectors.toSet()) - .sort { OracleBMCSImage a, OracleBMCSImage b -> a.name <=> b.name } + .sort { OracleImage a, OracleImage b -> a.name <=> b.name } Pattern pattern = resolveQueryToPattern(q) log.info('filtering images using pattern {}', pattern) diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/OracleBMCSServerGroupNameResolver.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/OracleServerGroupNameResolver.groovy similarity index 58% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/OracleBMCSServerGroupNameResolver.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/OracleServerGroupNameResolver.groovy index c3807a081d8..fc66709be35 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/OracleBMCSServerGroupNameResolver.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/OracleServerGroupNameResolver.groovy @@ -6,25 +6,25 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy +package com.netflix.spinnaker.clouddriver.oracle.deploy import com.netflix.frigga.Names import com.netflix.spinnaker.clouddriver.helpers.AbstractServerGroupNameResolver -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService -class OracleBMCSServerGroupNameResolver extends AbstractServerGroupNameResolver { +class OracleServerGroupNameResolver extends AbstractServerGroupNameResolver { private static final String PHASE = "DEPLOY" - private final OracleBMCSServerGroupService oracleBMCSServerGroupService - private final OracleBMCSNamedAccountCredentials credentials + private final OracleServerGroupService oracleServerGroupService + private final OracleNamedAccountCredentials credentials final String region - OracleBMCSServerGroupNameResolver(OracleBMCSServerGroupService service, - OracleBMCSNamedAccountCredentials creds, + OracleServerGroupNameResolver(OracleServerGroupService service, + OracleNamedAccountCredentials creds, String region) { - this.oracleBMCSServerGroupService = service + this.oracleServerGroupService = service this.credentials = creds this.region = region } @@ -36,11 +36,11 @@ class OracleBMCSServerGroupNameResolver extends AbstractServerGroupNameResolver @Override List getTakenSlots(String clusterName) { - def serverGroupNames = oracleBMCSServerGroupService.listServerGroupNamesByClusterName(this.credentials, clusterName) + def serverGroupNames = oracleServerGroupService.listServerGroupNamesByClusterName(this.credentials, clusterName) return serverGroupNames.findResults { String serverGroupName -> def names = Names.parseName(serverGroupName) - def serverGroup = oracleBMCSServerGroupService.getServerGroup(this.credentials, names.app, serverGroupName) + def serverGroup = oracleServerGroupService.getServerGroup(this.credentials, names.app, serverGroupName) if (names.cluster == clusterName) { return new AbstractServerGroupNameResolver.TakenSlot( serverGroupName: serverGroupName, diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/OracleBMCSWorkRequestPoller.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/OracleWorkRequestPoller.groovy similarity index 94% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/OracleBMCSWorkRequestPoller.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/OracleWorkRequestPoller.groovy index e8569f1932f..8d9dfd55354 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/OracleBMCSWorkRequestPoller.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/OracleWorkRequestPoller.groovy @@ -6,14 +6,14 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy +package com.netflix.spinnaker.clouddriver.oracle.deploy import com.netflix.spinnaker.clouddriver.data.task.Task import com.oracle.bmc.loadbalancer.LoadBalancerClient import com.oracle.bmc.loadbalancer.model.WorkRequest import com.oracle.bmc.loadbalancer.requests.GetWorkRequestRequest -class OracleBMCSWorkRequestPoller { +class OracleWorkRequestPoller { public static WorkRequest poll(String workRequestId, String phase, Task task, LoadBalancerClient loadBalancerClient) { def wr = GetWorkRequestRequest.builder().workRequestId(workRequestId).build() diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/BasicOracleBMCSDeployAtomicOperationConverter.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/BasicOracleDeployAtomicOperationConverter.groovy similarity index 57% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/BasicOracleBMCSDeployAtomicOperationConverter.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/BasicOracleDeployAtomicOperationConverter.groovy index 39b85289945..d5bb733e86e 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/BasicOracleBMCSDeployAtomicOperationConverter.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/BasicOracleDeployAtomicOperationConverter.groovy @@ -6,25 +6,25 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter import com.netflix.spinnaker.clouddriver.deploy.DeployAtomicOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.BasicOracleBMCSDeployDescription +import com.netflix.spinnaker.clouddriver.oracle.OracleOperation +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.BasicOracleDeployDescription import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport import org.springframework.stereotype.Component -@OracleBMCSOperation(AtomicOperations.CREATE_SERVER_GROUP) -@Component("basicOracleBMCSDeployDescription") -class BasicOracleBMCSDeployAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { +@OracleOperation(AtomicOperations.CREATE_SERVER_GROUP) +@Component("basicOracleDeployDescription") +class BasicOracleDeployAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { AtomicOperation convertOperation(Map input) { new DeployAtomicOperation(convertDescription(input)) } - BasicOracleBMCSDeployDescription convertDescription(Map input) { - OracleBMCSAtomicOperationConverterHelper.convertDescription(input, this, BasicOracleBMCSDeployDescription) + BasicOracleDeployDescription convertDescription(Map input) { + OracleAtomicOperationConverterHelper.convertDescription(input, this, BasicOracleDeployDescription) } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/CreateOracleBMCSLoadBalancerAtomicOperationConverter.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/CreateOracleLoadBalancerAtomicOperationConverter.groovy similarity index 52% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/CreateOracleBMCSLoadBalancerAtomicOperationConverter.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/CreateOracleLoadBalancerAtomicOperationConverter.groovy index abd342d1c2c..4ffa2a779a9 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/CreateOracleBMCSLoadBalancerAtomicOperationConverter.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/CreateOracleLoadBalancerAtomicOperationConverter.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.CreateLoadBalancerDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.CreateOracleBMCSLoadBalancerAtomicOperation +import com.netflix.spinnaker.clouddriver.oracle.OracleOperation +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.CreateLoadBalancerDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.CreateOracleLoadBalancerAtomicOperation import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport @@ -18,17 +18,17 @@ import groovy.util.logging.Slf4j import org.springframework.stereotype.Component @Slf4j -@OracleBMCSOperation(AtomicOperations.UPSERT_LOAD_BALANCER) -@Component("createOracleBMCSLoadBalancerDescription") -class CreateOracleBMCSLoadBalancerAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { +@OracleOperation(AtomicOperations.UPSERT_LOAD_BALANCER) +@Component("createOracleLoadBalancerDescription") +class CreateOracleLoadBalancerAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { @Override AtomicOperation convertOperation(Map input) { - new CreateOracleBMCSLoadBalancerAtomicOperation(convertDescription(input)) + new CreateOracleLoadBalancerAtomicOperation(convertDescription(input)) } @Override CreateLoadBalancerDescription convertDescription(Map input) { - OracleBMCSAtomicOperationConverterHelper.convertDescription(input, this, CreateLoadBalancerDescription) + OracleAtomicOperationConverterHelper.convertDescription(input, this, CreateLoadBalancerDescription) } } diff --git a/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DestroyOracleServerGroupAtomicOperationConverter.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DestroyOracleServerGroupAtomicOperationConverter.groovy new file mode 100644 index 00000000000..d68c49fc543 --- /dev/null +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DestroyOracleServerGroupAtomicOperationConverter.groovy @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2017 Oracle America, Inc. + * + * The contents of this file are subject to the Apache License Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * If a copy of the Apache License Version 2.0 was not distributed with this file, + * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html + */ +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter + +import com.netflix.spinnaker.clouddriver.oracle.OracleOperation +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.DestroyOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.DestroyOracleServerGroupAtomicOperation +import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation +import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations +import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport +import groovy.util.logging.Slf4j +import org.springframework.stereotype.Component + +@Slf4j +@OracleOperation(AtomicOperations.DESTROY_SERVER_GROUP) +@Component("destroyOracleServerGroupDescription") +class DestroyOracleServerGroupAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { + + @Override + AtomicOperation convertOperation(Map input) { + log.info("DestroyOracleServerGroupAtomicOperationConverter convertOperation, input: $input") + new DestroyOracleServerGroupAtomicOperation(convertDescription(input)) + } + + @Override + DestroyOracleServerGroupDescription convertDescription(Map input) { + OracleAtomicOperationConverterHelper.convertDescription(input, this, DestroyOracleServerGroupDescription) + } +} diff --git a/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DisableOracleServerGroupAtomicOperationConverter.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DisableOracleServerGroupAtomicOperationConverter.groovy new file mode 100644 index 00000000000..36ec76a5458 --- /dev/null +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DisableOracleServerGroupAtomicOperationConverter.groovy @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2017 Oracle America, Inc. + * + * The contents of this file are subject to the Apache License Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * If a copy of the Apache License Version 2.0 was not distributed with this file, + * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html + */ +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter + +import com.netflix.spinnaker.clouddriver.oracle.OracleOperation +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.EnableDisableOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.DisableOracleServerGroupAtomicOperation +import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation +import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations +import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport +import org.springframework.stereotype.Component + +@OracleOperation(AtomicOperations.DISABLE_SERVER_GROUP) +@Component("disableGoogleServerGroupDescription") +class DisableOracleServerGroupAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { + + @Override + AtomicOperation convertOperation(Map input) { + new DisableOracleServerGroupAtomicOperation(convertDescription(input)) + } + + @Override + EnableDisableOracleServerGroupDescription convertDescription(Map input) { + OracleAtomicOperationConverterHelper.convertDescription(input, this, EnableDisableOracleServerGroupDescription) + } +} diff --git a/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/EnableOracleServerGroupAtomicOperationConverter.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/EnableOracleServerGroupAtomicOperationConverter.groovy new file mode 100644 index 00000000000..f33117b9eb1 --- /dev/null +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/EnableOracleServerGroupAtomicOperationConverter.groovy @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2017 Oracle America, Inc. + * + * The contents of this file are subject to the Apache License Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * If a copy of the Apache License Version 2.0 was not distributed with this file, + * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html + */ +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter + +import com.netflix.spinnaker.clouddriver.oracle.OracleOperation +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.EnableDisableOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.EnableOracleServerGroupAtomicOperation +import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation +import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations +import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport +import org.springframework.stereotype.Component + +@OracleOperation(AtomicOperations.ENABLE_SERVER_GROUP) +@Component("enableGoogleServerGroupDescription") +class EnableOracleServerGroupAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { + + @Override + AtomicOperation convertOperation(Map input) { + new EnableOracleServerGroupAtomicOperation(convertDescription(input)) + } + + @Override + EnableDisableOracleServerGroupDescription convertDescription(Map input) { + OracleAtomicOperationConverterHelper.convertDescription(input, this, EnableDisableOracleServerGroupDescription) + } +} diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/NoOpOracleBMCSAtomicOperationConverter.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/NoOpOracleAtomicOperationConverter.groovy similarity index 72% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/NoOpOracleBMCSAtomicOperationConverter.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/NoOpOracleAtomicOperationConverter.groovy index 78b9aa9c80a..f2543e72f8d 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/NoOpOracleBMCSAtomicOperationConverter.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/NoOpOracleAtomicOperationConverter.groovy @@ -6,9 +6,9 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSOperation +import com.netflix.spinnaker.clouddriver.oracle.OracleOperation import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport @@ -16,11 +16,11 @@ import org.springframework.stereotype.Component /** * SL: Adding this for initial pull request to satisfy FeatureController requirement of at least - * one atomic operation enabled when starting clouddriver with just oraclebmcs enabled. + * one atomic operation enabled when starting clouddriver with just oracle enabled. */ -@OracleBMCSOperation(AtomicOperations.DELETE_SECURITY_GROUP) -@Component("noopOracleBMCSDescription") -class NoOpOracleBMCSAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { +@OracleOperation(AtomicOperations.DELETE_SECURITY_GROUP) +@Component("noopOracleDescription") +class NoOpOracleAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { @Override AtomicOperation convertOperation(Map input) { diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/OracleBMCSAtomicOperationConverterHelper.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/OracleAtomicOperationConverterHelper.groovy similarity index 80% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/OracleBMCSAtomicOperationConverterHelper.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/OracleAtomicOperationConverterHelper.groovy index 19ff203fb62..d01d948871c 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/OracleBMCSAtomicOperationConverterHelper.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/OracleAtomicOperationConverterHelper.groovy @@ -6,13 +6,13 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter import com.fasterxml.jackson.databind.DeserializationFeature -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport -class OracleBMCSAtomicOperationConverterHelper { +class OracleAtomicOperationConverterHelper { static T convertDescription(Map input, AbstractAtomicOperationsCredentialsSupport credentialsSupport, @@ -34,7 +34,7 @@ class OracleBMCSAtomicOperationConverterHelper { .convertValue(input, targetDescriptionType) // Re-assign the credentials. - converted.credentials = credentials in OracleBMCSNamedAccountCredentials ? credentials : null + converted.credentials = credentials in OracleNamedAccountCredentials ? credentials : null return converted } } diff --git a/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/ResizeOracleServerGroupAtomicOperationConverter.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/ResizeOracleServerGroupAtomicOperationConverter.groovy new file mode 100644 index 00000000000..7aee4c87269 --- /dev/null +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/ResizeOracleServerGroupAtomicOperationConverter.groovy @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2017 Oracle America, Inc. + * + * The contents of this file are subject to the Apache License Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * If a copy of the Apache License Version 2.0 was not distributed with this file, + * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html + */ +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter + +import com.netflix.spinnaker.clouddriver.oracle.OracleOperation +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.ResizeOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.ResizeOracleServerGroupAtomicOperation +import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation +import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations +import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport +import org.springframework.stereotype.Component + +@OracleOperation(AtomicOperations.RESIZE_SERVER_GROUP) +@Component("resizeOracleServerGroupDescription") +class ResizeOracleServerGroupAtomicOperationConverter extends AbstractAtomicOperationsCredentialsSupport { + + @Override + AtomicOperation convertOperation(Map input) { + new ResizeOracleServerGroupAtomicOperation(convertDescription(input)) + } + + @Override + ResizeOracleServerGroupDescription convertDescription(Map input) { + OracleAtomicOperationConverterHelper.convertDescription(input, this, ResizeOracleServerGroupDescription) + } +} diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/AbstractOracleBMCSCredentialsDescription.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/AbstractOracleCredentialsDescription.groovy similarity index 59% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/AbstractOracleBMCSCredentialsDescription.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/AbstractOracleCredentialsDescription.groovy index 81ec6c1512e..d380992ad95 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/AbstractOracleBMCSCredentialsDescription.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/AbstractOracleCredentialsDescription.groovy @@ -6,12 +6,12 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description +package com.netflix.spinnaker.clouddriver.oracle.deploy.description -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.resources.CredentialsNameable -abstract class AbstractOracleBMCSCredentialsDescription implements CredentialsNameable { +abstract class AbstractOracleCredentialsDescription implements CredentialsNameable { - OracleBMCSNamedAccountCredentials credentials + OracleNamedAccountCredentials credentials } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/BaseOracleBMCSInstanceDescription.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/BaseOracleInstanceDescription.groovy similarity index 80% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/BaseOracleBMCSInstanceDescription.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/BaseOracleInstanceDescription.groovy index cbac72a2d29..ce37cf904cd 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/BaseOracleBMCSInstanceDescription.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/BaseOracleInstanceDescription.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description +package com.netflix.spinnaker.clouddriver.oracle.deploy.description import groovy.transform.AutoClone import groovy.transform.Canonical @@ -15,7 +15,7 @@ import groovy.transform.ToString @AutoClone @Canonical @ToString(includeNames = true) -class BaseOracleBMCSInstanceDescription extends AbstractOracleBMCSCredentialsDescription { +class BaseOracleInstanceDescription extends AbstractOracleCredentialsDescription { String imageId String shape diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/BasicOracleBMCSDeployDescription.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/BasicOracleDeployDescription.groovy similarity index 80% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/BasicOracleBMCSDeployDescription.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/BasicOracleDeployDescription.groovy index 82ae9453d89..2b333ded1b2 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/BasicOracleBMCSDeployDescription.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/BasicOracleDeployDescription.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description +package com.netflix.spinnaker.clouddriver.oracle.deploy.description import com.netflix.spinnaker.clouddriver.deploy.DeployDescription import com.netflix.spinnaker.clouddriver.model.ServerGroup @@ -18,7 +18,7 @@ import groovy.transform.ToString @AutoClone @Canonical @ToString(includeSuper = true, includeNames = true) -class BasicOracleBMCSDeployDescription extends BaseOracleBMCSInstanceDescription implements DeployDescription, ApplicationNameable { +class BasicOracleDeployDescription extends BaseOracleInstanceDescription implements DeployDescription, ApplicationNameable { String application String stack diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/CreateLoadBalancerDescription.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/CreateLoadBalancerDescription.groovy similarity index 81% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/CreateLoadBalancerDescription.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/CreateLoadBalancerDescription.groovy index a36642079d4..f3ca2407365 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/CreateLoadBalancerDescription.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/CreateLoadBalancerDescription.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description +package com.netflix.spinnaker.clouddriver.oracle.deploy.description import com.netflix.spinnaker.clouddriver.security.resources.ApplicationNameable -class CreateLoadBalancerDescription extends AbstractOracleBMCSCredentialsDescription implements ApplicationNameable { +class CreateLoadBalancerDescription extends AbstractOracleCredentialsDescription implements ApplicationNameable { String application String stack diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/DestroyOracleBMCSServerGroupDescription.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/DestroyOracleServerGroupDescription.groovy similarity index 74% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/DestroyOracleBMCSServerGroupDescription.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/DestroyOracleServerGroupDescription.groovy index b267eef61b0..d69577c2317 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/DestroyOracleBMCSServerGroupDescription.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/DestroyOracleServerGroupDescription.groovy @@ -6,12 +6,12 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description +package com.netflix.spinnaker.clouddriver.oracle.deploy.description import groovy.transform.ToString @ToString(includeNames = true) -class DestroyOracleBMCSServerGroupDescription extends AbstractOracleBMCSCredentialsDescription { +class DestroyOracleServerGroupDescription extends AbstractOracleCredentialsDescription { String accountName String region diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/EnableDisableOracleBMCSServerGroupDescription.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/EnableDisableOracleServerGroupDescription.groovy similarity index 77% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/EnableDisableOracleBMCSServerGroupDescription.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/EnableDisableOracleServerGroupDescription.groovy index 74c69eee0a8..826313bfc35 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/EnableDisableOracleBMCSServerGroupDescription.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/EnableDisableOracleServerGroupDescription.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description +package com.netflix.spinnaker.clouddriver.oracle.deploy.description import com.netflix.spinnaker.clouddriver.deploy.description.EnableDisableDescriptionTrait import com.netflix.spinnaker.clouddriver.security.resources.ServerGroupNameable @@ -16,7 +16,7 @@ import com.netflix.spinnaker.clouddriver.security.resources.ServerGroupNameable * * "Disabling" means removing a server group from the target pool of each of its network load balancers. */ -class EnableDisableOracleBMCSServerGroupDescription extends AbstractOracleBMCSCredentialsDescription implements ServerGroupNameable, EnableDisableDescriptionTrait { +class EnableDisableOracleServerGroupDescription extends AbstractOracleCredentialsDescription implements ServerGroupNameable, EnableDisableDescriptionTrait { String region String accountName diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/ResizeOracleBMCSServerGroupDescription.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/ResizeOracleServerGroupDescription.groovy similarity index 78% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/ResizeOracleBMCSServerGroupDescription.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/ResizeOracleServerGroupDescription.groovy index e69b628d2c7..0705b65cac9 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/description/ResizeOracleBMCSServerGroupDescription.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/description/ResizeOracleServerGroupDescription.groovy @@ -6,13 +6,13 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description +package com.netflix.spinnaker.clouddriver.oracle.deploy.description import com.netflix.spinnaker.clouddriver.model.ServerGroup import groovy.transform.ToString @ToString(includeNames = true) -class ResizeOracleBMCSServerGroupDescription extends AbstractOracleBMCSCredentialsDescription { +class ResizeOracleServerGroupDescription extends AbstractOracleCredentialsDescription { String accountName String region diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/handler/BasicOracleBMCSDeployHandler.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/handler/BasicOracleDeployHandler.groovy similarity index 81% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/handler/BasicOracleBMCSDeployHandler.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/handler/BasicOracleDeployHandler.groovy index 3c15072096b..6d0b764c445 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/handler/BasicOracleBMCSDeployHandler.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/handler/BasicOracleDeployHandler.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.handler +package com.netflix.spinnaker.clouddriver.oracle.deploy.handler import com.netflix.frigga.Names import com.netflix.spinnaker.clouddriver.data.task.Task @@ -15,13 +15,13 @@ import com.netflix.spinnaker.clouddriver.deploy.DeployDescription import com.netflix.spinnaker.clouddriver.deploy.DeployHandler import com.netflix.spinnaker.clouddriver.deploy.DeploymentResult import com.netflix.spinnaker.clouddriver.model.ServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.OracleBMCSServerGroupNameResolver -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.OracleBMCSWorkRequestPoller -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.BasicOracleBMCSDeployDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSInstance -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view.OracleBMCSClusterProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService +import com.netflix.spinnaker.clouddriver.oracle.deploy.OracleServerGroupNameResolver +import com.netflix.spinnaker.clouddriver.oracle.deploy.OracleWorkRequestPoller +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.BasicOracleDeployDescription +import com.netflix.spinnaker.clouddriver.oracle.model.OracleInstance +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.provider.view.OracleClusterProvider +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService import com.oracle.bmc.core.requests.GetVnicRequest import com.oracle.bmc.core.requests.ListVnicAttachmentsRequest import com.oracle.bmc.loadbalancer.model.BackendDetails @@ -37,15 +37,15 @@ import org.springframework.stereotype.Component import java.util.concurrent.TimeUnit @Component -class BasicOracleBMCSDeployHandler implements DeployHandler { +class BasicOracleDeployHandler implements DeployHandler { private static final String BASE_PHASE = "DEPLOY" @Autowired - OracleBMCSServerGroupService oracleBMCSServerGroupService + OracleServerGroupService oracleServerGroupService @Autowired - OracleBMCSClusterProvider clusterProvider + OracleClusterProvider clusterProvider private static Task getTask() { TaskRepository.threadLocalTask.get() @@ -53,13 +53,13 @@ class BasicOracleBMCSDeployHandler implements DeployHandler def vnicAttachRs = description.credentials.computeClient.listVnicAttachments(ListVnicAttachmentsRequest.builder() .compartmentId(description.credentials.compartmentId) - .instanceId(((OracleBMCSInstance) instance).id) + .instanceId(((OracleInstance) instance).id) .build()) vnicAttachRs.items.each { vnicAttach -> def vnic = description.credentials.networkClient.getVnic(GetVnicRequest.builder() @@ -164,7 +164,7 @@ class BasicOracleBMCSDeployHandler implements DeployHandler { +class CreateOracleLoadBalancerAtomicOperation implements AtomicOperation { private final CreateLoadBalancerDescription description @@ -31,7 +31,7 @@ class CreateOracleBMCSLoadBalancerAtomicOperation implements AtomicOperation { +class DestroyOracleServerGroupAtomicOperation implements AtomicOperation { - private final DestroyOracleBMCSServerGroupDescription description + private final DestroyOracleServerGroupDescription description private static final String BASE_PHASE = "DESTROY_SERVER_GROUP" @@ -31,15 +31,15 @@ class DestroyOracleBMCSServerGroupAtomicOperation implements AtomicOperation { +class ResizeOracleServerGroupAtomicOperation implements AtomicOperation { - private final ResizeOracleBMCSServerGroupDescription description + private final ResizeOracleServerGroupDescription description private static final String BASE_PHASE = "RESIZE_SERVER_GROUP" @@ -40,23 +40,23 @@ class ResizeOracleBMCSServerGroupAtomicOperation implements AtomicOperation def vnicAttachRs = description.credentials.computeClient.listVnicAttachments(ListVnicAttachmentsRequest.builder() .compartmentId(description.credentials.compartmentId) - .instanceId(((OracleBMCSInstance) instance).id) + .instanceId(((OracleInstance) instance).id) .build()) vnicAttachRs.items.each { vnicAttach -> def vnic = description.credentials.networkClient.getVnic(GetVnicRequest.builder() @@ -128,7 +128,7 @@ class ResizeOracleBMCSServerGroupAtomicOperation implements AtomicOperation { +@OracleOperation(AtomicOperations.DESTROY_SERVER_GROUP) +@Component("destroyOracleServerGroupDescriptionValidator") +class DestroyOracleServerGroupDescriptionValidator extends DescriptionValidator { @Override - void validate(List priorDescriptions, ResizeOracleBMCSServerGroupDescription description, Errors errors) { - def helper = new StandardOracleBMCSAttributeValidator("resizeServerGroupDescription", errors) + void validate(List priorDescriptions, DestroyOracleServerGroupDescription description, Errors errors) { + + def helper = new StandardOracleAttributeValidator("destroyServerGroupDescription", errors) - helper.validateNotEmptyString(description.serverGroupName, "serverGroupName") - helper.validateNotEmptyString(description.region, "region") helper.validateNotEmptyString(description.accountName, "accountName") + helper.validateNotEmptyString(description.region, "region") + helper.validateNotEmptyString(description.serverGroupName, "serverGroupName") } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/EnableDisableOracleBMCSServerGroupDescriptionValidator.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/EnableDisableOracleServerGroupDescriptionValidator.groovy similarity index 52% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/EnableDisableOracleBMCSServerGroupDescriptionValidator.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/EnableDisableOracleServerGroupDescriptionValidator.groovy index 26c1d9311f6..3c627e47782 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/EnableDisableOracleBMCSServerGroupDescriptionValidator.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/EnableDisableOracleServerGroupDescriptionValidator.groovy @@ -6,19 +6,19 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.validator +package com.netflix.spinnaker.clouddriver.oracle.deploy.validator import com.netflix.spinnaker.clouddriver.deploy.DescriptionValidator -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.EnableDisableOracleBMCSServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.EnableDisableOracleServerGroupDescription import org.springframework.stereotype.Component import org.springframework.validation.Errors -@Component("enableDisableOracleBMCSServerGroupDescriptionValidator") -class EnableDisableOracleBMCSServerGroupDescriptionValidator extends DescriptionValidator { +@Component("enableDisableOracleServerGroupDescriptionValidator") +class EnableDisableOracleServerGroupDescriptionValidator extends DescriptionValidator { @Override - void validate(List priorDescriptions, EnableDisableOracleBMCSServerGroupDescription description, Errors errors) { - def helper = new StandardOracleBMCSAttributeValidator("enableDisableServerGroupDescription", errors) + void validate(List priorDescriptions, EnableDisableOracleServerGroupDescription description, Errors errors) { + def helper = new StandardOracleAttributeValidator("enableDisableServerGroupDescription", errors) helper.validateNotEmptyString(description.region, "region") helper.validateNotEmptyString(description.accountName, "accountName") } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/DestroyOracleBMCSServerGroupDescriptionValidator.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/ResizeOracleServerGroupDescriptionValidator.groovy similarity index 54% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/DestroyOracleBMCSServerGroupDescriptionValidator.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/ResizeOracleServerGroupDescriptionValidator.groovy index 15c54773695..a251bfe41fc 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/DestroyOracleBMCSServerGroupDescriptionValidator.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/ResizeOracleServerGroupDescriptionValidator.groovy @@ -6,26 +6,25 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.validator +package com.netflix.spinnaker.clouddriver.oracle.deploy.validator import com.netflix.spinnaker.clouddriver.deploy.DescriptionValidator -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.DestroyOracleBMCSServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.OracleOperation +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.ResizeOracleServerGroupDescription import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperations import org.springframework.stereotype.Component import org.springframework.validation.Errors -@OracleBMCSOperation(AtomicOperations.DESTROY_SERVER_GROUP) -@Component("destroyOracleBMCSServerGroupDescriptionValidator") -class DestroyOracleBMCSServerGroupDescriptionValidator extends DescriptionValidator { +@OracleOperation(AtomicOperations.RESIZE_SERVER_GROUP) +@Component("resizeOracleServerGroupDescriptionValidator") +class ResizeOracleServerGroupDescriptionValidator extends DescriptionValidator { @Override - void validate(List priorDescriptions, DestroyOracleBMCSServerGroupDescription description, Errors errors) { + void validate(List priorDescriptions, ResizeOracleServerGroupDescription description, Errors errors) { + def helper = new StandardOracleAttributeValidator("resizeServerGroupDescription", errors) - def helper = new StandardOracleBMCSAttributeValidator("destroyServerGroupDescription", errors) - - helper.validateNotEmptyString(description.accountName, "accountName") - helper.validateNotEmptyString(description.region, "region") helper.validateNotEmptyString(description.serverGroupName, "serverGroupName") + helper.validateNotEmptyString(description.region, "region") + helper.validateNotEmptyString(description.accountName, "accountName") } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/StandardOracleBMCSAttributeValidator.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/StandardOracleAttributeValidator.groovy similarity index 79% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/StandardOracleBMCSAttributeValidator.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/StandardOracleAttributeValidator.groovy index 756894facc2..0a23aa4a5c0 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/StandardOracleBMCSAttributeValidator.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/StandardOracleAttributeValidator.groovy @@ -6,16 +6,16 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.validator +package com.netflix.spinnaker.clouddriver.oracle.deploy.validator import org.springframework.validation.Errors -class StandardOracleBMCSAttributeValidator { +class StandardOracleAttributeValidator { String context Errors errors - StandardOracleBMCSAttributeValidator(String context, Errors errors) { + StandardOracleAttributeValidator(String context, Errors errors) { this.context = context this.errors = errors } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/health/OracleBMCSHealthIndicator.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/health/OracleHealthIndicator.groovy similarity index 73% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/health/OracleBMCSHealthIndicator.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/health/OracleHealthIndicator.groovy index 4a33034c006..0e2b177d21a 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/health/OracleBMCSHealthIndicator.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/health/OracleHealthIndicator.groovy @@ -6,9 +6,9 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.health +package com.netflix.spinnaker.clouddriver.oracle.health -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import com.oracle.bmc.identity.requests.ListAvailabilityDomainsRequest import groovy.transform.InheritConstructors @@ -25,7 +25,7 @@ import java.util.concurrent.atomic.AtomicReference @Slf4j @Component -class OracleBMCSHealthIndicator implements HealthIndicator { +class OracleHealthIndicator implements HealthIndicator { @Autowired AccountCredentialsProvider accountCredentialsProvider @@ -46,15 +46,15 @@ class OracleBMCSHealthIndicator implements HealthIndicator { @Scheduled(fixedDelay = 300000L) void checkHealth() { try { - Set creds = accountCredentialsProvider.all.findAll { - it instanceof OracleBMCSNamedAccountCredentials - } as Set + Set creds = accountCredentialsProvider.all.findAll { + it instanceof OracleNamedAccountCredentials + } as Set - creds.each { OracleBMCSNamedAccountCredentials cred -> + creds.each { OracleNamedAccountCredentials cred -> try { cred.identityClient.listAvailabilityDomains(ListAvailabilityDomainsRequest.builder().compartmentId(cred.compartmentId).build()) } catch(Exception ex) { - throw new OracleBMCSUnreachableException(ex) + throw new OracleUnreachableException(ex) } } @@ -65,8 +65,8 @@ class OracleBMCSHealthIndicator implements HealthIndicator { } } - @ResponseStatus(value = HttpStatus.SERVICE_UNAVAILABLE, reason = 'Could not reach the Oracle BMCS service.') + @ResponseStatus(value = HttpStatus.SERVICE_UNAVAILABLE, reason = 'Could not reach the Oracle service.') @InheritConstructors - static class OracleBMCSUnreachableException extends RuntimeException {} + static class OracleUnreachableException extends RuntimeException {} } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSCluster.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleCluster.groovy similarity index 65% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSCluster.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleCluster.groovy index 7c4f548bc8e..11e0aa834f6 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSCluster.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleCluster.groovy @@ -6,23 +6,23 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.model +package com.netflix.spinnaker.clouddriver.oracle.model import com.fasterxml.jackson.annotation.JsonIgnore import com.netflix.spinnaker.clouddriver.model.Cluster import com.netflix.spinnaker.clouddriver.model.LoadBalancer -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider import groovy.transform.Canonical import groovy.transform.CompileStatic import groovy.transform.EqualsAndHashCode @CompileStatic @EqualsAndHashCode(includes = ["name", "accountName"]) -class OracleBMCSCluster { +class OracleCluster { String name String accountName - Set serverGroups + Set serverGroups @JsonIgnore View getView() { @@ -32,11 +32,11 @@ class OracleBMCSCluster { @Canonical class View implements Cluster { - final String type = OracleBMCSCloudProvider.ID + final String type = OracleCloudProvider.ID - String name = OracleBMCSCluster.this.name - String accountName = OracleBMCSCluster.this.accountName - Set serverGroups = OracleBMCSCluster.this.serverGroups.collect { it.getView() } as Set + String name = OracleCluster.this.name + String accountName = OracleCluster.this.accountName + Set serverGroups = OracleCluster.this.serverGroups.collect { it.getView() } as Set Set loadBalancers = [] as Set } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSImage.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleImage.groovy similarity index 85% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSImage.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleImage.groovy index a7f731ded08..f1bbdd33a6a 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSImage.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleImage.groovy @@ -6,9 +6,9 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.model +package com.netflix.spinnaker.clouddriver.oracle.model -class OracleBMCSImage { +class OracleImage { String cloudProvider String id String name diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSInstance.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleInstance.groovy similarity index 86% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSInstance.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleInstance.groovy index fcc3e2d106e..265bc6a377e 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSInstance.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleInstance.groovy @@ -6,12 +6,12 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.model +package com.netflix.spinnaker.clouddriver.oracle.model import com.netflix.spinnaker.clouddriver.model.HealthState import com.netflix.spinnaker.clouddriver.model.Instance -class OracleBMCSInstance implements Instance { +class OracleInstance implements Instance { String name HealthState healthState Long launchTime diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSNetwork.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleNetwork.groovy similarity index 83% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSNetwork.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleNetwork.groovy index dabb5fa540c..30f9d75f317 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSNetwork.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleNetwork.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.model +package com.netflix.spinnaker.clouddriver.oracle.model import com.netflix.spinnaker.clouddriver.model.Network -class OracleBMCSNetwork implements Network { +class OracleNetwork implements Network { String cloudProvider String id String name diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSSecurityGroup.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleSecurityGroup.groovy similarity index 74% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSSecurityGroup.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleSecurityGroup.groovy index da6be54ff23..537dcd3af98 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSSecurityGroup.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleSecurityGroup.groovy @@ -6,21 +6,21 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.model +package com.netflix.spinnaker.clouddriver.oracle.model import com.fasterxml.jackson.annotation.JsonInclude import com.netflix.spinnaker.clouddriver.model.SecurityGroup import com.netflix.spinnaker.clouddriver.model.SecurityGroupSummary import com.netflix.spinnaker.clouddriver.model.securitygroups.Rule -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider import com.netflix.spinnaker.moniker.Moniker import groovy.transform.Immutable @Immutable @JsonInclude(JsonInclude.Include.NON_EMPTY) -class OracleBMCSSecurityGroup implements SecurityGroup { - final String type = OracleBMCSCloudProvider.ID - final String cloudProvider = OracleBMCSCloudProvider.ID +class OracleSecurityGroup implements SecurityGroup { + final String type = OracleCloudProvider.ID + final String cloudProvider = OracleCloudProvider.ID final String id final String name final String description @@ -35,7 +35,7 @@ class OracleBMCSSecurityGroup implements SecurityGroup { @Override SecurityGroupSummary getSummary() { - new OracleBMCSSecurityGroupSummary(name: name, id: id, network: network) + new OracleSecurityGroupSummary(name: name, id: id, network: network) } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSSecurityGroupSummary.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleSecurityGroupSummary.groovy similarity index 83% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSSecurityGroupSummary.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleSecurityGroupSummary.groovy index a0648882d34..5bc59008617 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSSecurityGroupSummary.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleSecurityGroupSummary.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.model +package com.netflix.spinnaker.clouddriver.oracle.model import com.netflix.spinnaker.clouddriver.model.SecurityGroupSummary import groovy.transform.EqualsAndHashCode @@ -14,7 +14,7 @@ import groovy.transform.Immutable @Immutable @EqualsAndHashCode(includes = ['id', 'network'], cache = true) -class OracleBMCSSecurityGroupSummary implements SecurityGroupSummary { +class OracleSecurityGroupSummary implements SecurityGroupSummary { String name String id String network diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSServerGroup.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleServerGroup.groovy similarity index 71% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSServerGroup.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleServerGroup.groovy index 3b8bd57bf4a..b34db63c737 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSServerGroup.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleServerGroup.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.model +package com.netflix.spinnaker.clouddriver.oracle.model import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonIgnoreProperties @@ -14,26 +14,26 @@ import com.fasterxml.jackson.annotation.JsonInclude import com.netflix.spinnaker.clouddriver.model.HealthState import com.netflix.spinnaker.clouddriver.model.Instance import com.netflix.spinnaker.clouddriver.model.ServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import groovy.transform.Canonical @Canonical @JsonIgnoreProperties(ignoreUnknown = true) -class OracleBMCSServerGroup { +class OracleServerGroup { String name String region String zone Set zones = new HashSet<>() - Set instances = [] + Set instances = [] Map launchConfig = [:] Set securityGroups = [] Map buildInfo Boolean disabled = false Integer targetSize String loadBalancerId - OracleBMCSNamedAccountCredentials credentials + OracleNamedAccountCredentials credentials @JsonIgnore View getView() { @@ -44,20 +44,20 @@ class OracleBMCSServerGroup { @Canonical class View implements ServerGroup { - final String type = OracleBMCSCloudProvider.ID - final String cloudProvider = OracleBMCSCloudProvider.ID - - String name = OracleBMCSServerGroup.this.name - String region = OracleBMCSServerGroup.this.region - String zone = OracleBMCSServerGroup.this.zone - Set zones = OracleBMCSServerGroup.this.zones - Set instances = OracleBMCSServerGroup.this.instances - Map launchConfig = OracleBMCSServerGroup.this.launchConfig - Set securityGroups = OracleBMCSServerGroup.this.securityGroups - Map buildInfo = OracleBMCSServerGroup.this.buildInfo - Boolean disabled = OracleBMCSServerGroup.this.disabled - ServerGroup.Capacity capacity = new ServerGroup.Capacity(desired: OracleBMCSServerGroup.this.targetSize, - min: OracleBMCSServerGroup.this.targetSize, max: OracleBMCSServerGroup.this.targetSize) + final String type = OracleCloudProvider.ID + final String cloudProvider = OracleCloudProvider.ID + + String name = OracleServerGroup.this.name + String region = OracleServerGroup.this.region + String zone = OracleServerGroup.this.zone + Set zones = OracleServerGroup.this.zones + Set instances = OracleServerGroup.this.instances + Map launchConfig = OracleServerGroup.this.launchConfig + Set securityGroups = OracleServerGroup.this.securityGroups + Map buildInfo = OracleServerGroup.this.buildInfo + Boolean disabled = OracleServerGroup.this.disabled + ServerGroup.Capacity capacity = new ServerGroup.Capacity(desired: OracleServerGroup.this.targetSize, + min: OracleServerGroup.this.targetSize, max: OracleServerGroup.this.targetSize) @Override Boolean isDisabled() { // Because groovy isn't smart enough to generate this method :-( @@ -71,7 +71,7 @@ class OracleBMCSServerGroup { @Override Set getLoadBalancers() { - return [OracleBMCSServerGroup.this.loadBalancerId] as Set + return [OracleServerGroup.this.loadBalancerId] as Set } @Override @@ -81,7 +81,7 @@ class OracleBMCSServerGroup { @Override ServerGroup.ImagesSummary getImagesSummary() { - def bi = OracleBMCSServerGroup.this.buildInfo + def bi = OracleServerGroup.this.buildInfo return new ServerGroup.ImagesSummary() { @Override diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSSubnet.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleSubnet.groovy similarity index 85% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSSubnet.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleSubnet.groovy index 41606e5d245..7f985eefdf6 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/model/OracleBMCSSubnet.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/model/OracleSubnet.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.model +package com.netflix.spinnaker.clouddriver.oracle.model import com.netflix.spinnaker.clouddriver.model.Subnet -class OracleBMCSSubnet implements Subnet { +class OracleSubnet implements Subnet { String type String id String name diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/OracleBMCSInfrastructureProvider.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/OracleInfrastructureProvider.groovy similarity index 70% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/OracleBMCSInfrastructureProvider.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/OracleInfrastructureProvider.groovy index 753e4d2a8d9..74cb1d908cc 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/OracleBMCSInfrastructureProvider.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/OracleInfrastructureProvider.groovy @@ -6,16 +6,16 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider +package com.netflix.spinnaker.clouddriver.oracle.provider import com.netflix.spinnaker.cats.agent.Agent import com.netflix.spinnaker.cats.agent.AgentSchedulerAware import com.netflix.spinnaker.clouddriver.cache.SearchableProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace -class OracleBMCSInfrastructureProvider extends AgentSchedulerAware implements SearchableProvider { +class OracleInfrastructureProvider extends AgentSchedulerAware implements SearchableProvider { final Collection agents @@ -33,9 +33,9 @@ class OracleBMCSInfrastructureProvider extends AgentSchedulerAware implements Se final Map searchResultHydrators = Collections.emptyMap() - final String providerName = OracleBMCSCloudProvider.ID + final String providerName = OracleCloudProvider.ID - OracleBMCSInfrastructureProvider(Collection agents) { + OracleInfrastructureProvider(Collection agents) { this.agents = agents } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/AbstractOracleBMCSCachingAgent.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/AbstractOracleCachingAgent.groovy similarity index 64% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/AbstractOracleBMCSCachingAgent.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/AbstractOracleCachingAgent.groovy index faec9f60923..c33499f96ee 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/AbstractOracleBMCSCachingAgent.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/AbstractOracleCachingAgent.groovy @@ -6,25 +6,25 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.core.type.TypeReference import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.agent.CachingAgent -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials -abstract class AbstractOracleBMCSCachingAgent implements CachingAgent { +abstract class AbstractOracleCachingAgent implements CachingAgent { final TypeReference> ATTRIBUTES = new TypeReference>() {} final String clouddriverUserAgentApplicationName // "Spinnaker/${version}" HTTP header string - final OracleBMCSNamedAccountCredentials credentials + final OracleNamedAccountCredentials credentials final ObjectMapper objectMapper - final String providerName = OracleBMCSCloudProvider.ID + final String providerName = OracleCloudProvider.ID final String agentType - AbstractOracleBMCSCachingAgent(ObjectMapper objectMapper, OracleBMCSNamedAccountCredentials credentials, String clouddriverUserAgentApplicationName) { + AbstractOracleCachingAgent(ObjectMapper objectMapper, OracleNamedAccountCredentials credentials, String clouddriverUserAgentApplicationName) { this.objectMapper = objectMapper this.credentials = credentials this.clouddriverUserAgentApplicationName = clouddriverUserAgentApplicationName diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSImageCachingAgent.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleImageCachingAgent.groovy similarity index 81% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSImageCachingAgent.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleImageCachingAgent.groovy index 9bf88c7423a..038555e119e 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSImageCachingAgent.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleImageCachingAgent.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.agent.AgentDataType @@ -15,26 +15,26 @@ import com.netflix.spinnaker.cats.agent.DefaultCacheResult import com.netflix.spinnaker.cats.cache.CacheData import com.netflix.spinnaker.cats.cache.DefaultCacheData import com.netflix.spinnaker.cats.provider.ProviderCache -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.core.model.Image import com.oracle.bmc.core.model.Shape import com.oracle.bmc.core.requests.ListImagesRequest import com.oracle.bmc.core.requests.ListShapesRequest import groovy.util.logging.Slf4j -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.IMAGES -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.getImageKey +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.IMAGES +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.getImageKey @Slf4j -class OracleBMCSImageCachingAgent extends AbstractOracleBMCSCachingAgent { +class OracleImageCachingAgent extends AbstractOracleCachingAgent { final Set providedDataTypes = [ AgentDataType.Authority.AUTHORITATIVE.forType(Keys.Namespace.IMAGES.ns) ] as Set - OracleBMCSImageCachingAgent(String clouddriverUserAgentApplicationName, - OracleBMCSNamedAccountCredentials credentials, + OracleImageCachingAgent(String clouddriverUserAgentApplicationName, + OracleNamedAccountCredentials credentials, ObjectMapper objectMapper) { super(objectMapper, credentials, clouddriverUserAgentApplicationName) } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSInstanceCachingAgent.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleInstanceCachingAgent.groovy similarity index 82% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSInstanceCachingAgent.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleInstanceCachingAgent.groovy index 79b7096e4b5..e11dfb808a3 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSInstanceCachingAgent.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleInstanceCachingAgent.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.agent.AgentDataType @@ -14,8 +14,8 @@ import com.netflix.spinnaker.cats.agent.CacheResult import com.netflix.spinnaker.cats.agent.DefaultCacheResult import com.netflix.spinnaker.cats.cache.DefaultCacheData import com.netflix.spinnaker.cats.provider.ProviderCache -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.core.model.Instance import com.oracle.bmc.core.requests.ListInstancesRequest import com.oracle.bmc.core.responses.ListInstancesResponse @@ -23,17 +23,17 @@ import groovy.transform.InheritConstructors import groovy.util.logging.Slf4j import static com.netflix.spinnaker.cats.agent.AgentDataType.Authority.* -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.INSTANCES +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.INSTANCES @Slf4j @InheritConstructors -class OracleBMCSInstanceCachingAgent extends AbstractOracleBMCSCachingAgent { +class OracleInstanceCachingAgent extends AbstractOracleCachingAgent { final Set providedDataTypes = [ AUTHORITATIVE.forType(INSTANCES.ns) ] - OracleBMCSInstanceCachingAgent(String clouddriverUserAgentApplicationName, OracleBMCSNamedAccountCredentials credentials, ObjectMapper objectMapper) { + OracleInstanceCachingAgent(String clouddriverUserAgentApplicationName, OracleNamedAccountCredentials credentials, ObjectMapper objectMapper) { super(objectMapper, credentials, clouddriverUserAgentApplicationName) } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSLoadBalancerCachingAgent.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleLoadBalancerCachingAgent.groovy similarity index 83% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSLoadBalancerCachingAgent.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleLoadBalancerCachingAgent.groovy index a5751a2fc63..b9d3c331431 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSLoadBalancerCachingAgent.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleLoadBalancerCachingAgent.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.agent.AgentDataType @@ -15,21 +15,21 @@ import com.netflix.spinnaker.cats.agent.DefaultCacheResult import com.netflix.spinnaker.cats.cache.CacheData import com.netflix.spinnaker.cats.cache.DefaultCacheData import com.netflix.spinnaker.cats.provider.ProviderCache -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.loadbalancer.model.LoadBalancer import com.oracle.bmc.loadbalancer.requests.ListLoadBalancersRequest import groovy.util.logging.Slf4j @Slf4j -class OracleBMCSLoadBalancerCachingAgent extends AbstractOracleBMCSCachingAgent { +class OracleLoadBalancerCachingAgent extends AbstractOracleCachingAgent { final Set providedDataTypes = [ AgentDataType.Authority.AUTHORITATIVE.forType(Keys.Namespace.LOADBALANCERS.ns) ] as Set - OracleBMCSLoadBalancerCachingAgent(String clouddriverUserAgentApplicationName, - OracleBMCSNamedAccountCredentials credentials, + OracleLoadBalancerCachingAgent(String clouddriverUserAgentApplicationName, + OracleNamedAccountCredentials credentials, ObjectMapper objectMapper) { super(objectMapper, credentials, clouddriverUserAgentApplicationName) } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSNetworkCachingAgent.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleNetworkCachingAgent.groovy similarity index 82% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSNetworkCachingAgent.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleNetworkCachingAgent.groovy index 4b04c5f4d0e..041b9ffaa62 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSNetworkCachingAgent.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleNetworkCachingAgent.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.agent.AgentDataType @@ -15,21 +15,21 @@ import com.netflix.spinnaker.cats.agent.DefaultCacheResult import com.netflix.spinnaker.cats.cache.CacheData import com.netflix.spinnaker.cats.cache.DefaultCacheData import com.netflix.spinnaker.cats.provider.ProviderCache -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.core.model.Vcn import com.oracle.bmc.core.requests.ListVcnsRequest import groovy.util.logging.Slf4j @Slf4j -class OracleBMCSNetworkCachingAgent extends AbstractOracleBMCSCachingAgent { +class OracleNetworkCachingAgent extends AbstractOracleCachingAgent { final Set providedDataTypes = [ AgentDataType.Authority.AUTHORITATIVE.forType(Keys.Namespace.NETWORKS.ns) ] as Set - OracleBMCSNetworkCachingAgent(String clouddriverUserAgentApplicationName, - OracleBMCSNamedAccountCredentials credentials, + OracleNetworkCachingAgent(String clouddriverUserAgentApplicationName, + OracleNamedAccountCredentials credentials, ObjectMapper objectMapper) { super(objectMapper, credentials, clouddriverUserAgentApplicationName) } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSecurityGroupCachingAgent.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSecurityGroupCachingAgent.groovy similarity index 82% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSecurityGroupCachingAgent.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSecurityGroupCachingAgent.groovy index beef8747846..85691a78b77 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSecurityGroupCachingAgent.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSecurityGroupCachingAgent.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spectator.api.Registry @@ -18,9 +18,9 @@ import com.netflix.spinnaker.cats.cache.DefaultCacheData import com.netflix.spinnaker.cats.provider.ProviderCache import com.netflix.spinnaker.clouddriver.cache.OnDemandAgent import com.netflix.spinnaker.clouddriver.cache.OnDemandMetricsSupport -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.core.model.SecurityList import com.oracle.bmc.core.model.Vcn import com.oracle.bmc.core.requests.ListSecurityListsRequest @@ -28,10 +28,10 @@ import com.oracle.bmc.core.requests.ListVcnsRequest import groovy.util.logging.Slf4j import static com.netflix.spinnaker.cats.agent.AgentDataType.Authority.AUTHORITATIVE -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.SECURITY_GROUPS +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.SECURITY_GROUPS @Slf4j -class OracleBMCSSecurityGroupCachingAgent extends AbstractOracleBMCSCachingAgent implements OnDemandAgent { +class OracleSecurityGroupCachingAgent extends AbstractOracleCachingAgent implements OnDemandAgent { final Set providedDataTypes = [ AUTHORITATIVE.forType(SECURITY_GROUPS.ns) @@ -40,9 +40,9 @@ class OracleBMCSSecurityGroupCachingAgent extends AbstractOracleBMCSCachingAgent final String onDemandAgentType = "${agentType}-OnDemand" final OnDemandMetricsSupport metricsSupport - OracleBMCSSecurityGroupCachingAgent(String clouddriverUserAgentApplicationName, OracleBMCSNamedAccountCredentials credentials, ObjectMapper objectMapper, Registry registry) { + OracleSecurityGroupCachingAgent(String clouddriverUserAgentApplicationName, OracleNamedAccountCredentials credentials, ObjectMapper objectMapper, Registry registry) { super(objectMapper, credentials, clouddriverUserAgentApplicationName) - this.metricsSupport = new OnDemandMetricsSupport(registry, this, "${OracleBMCSCloudProvider.ID}:${OnDemandAgent.OnDemandType.SecurityGroup}") + this.metricsSupport = new OnDemandMetricsSupport(registry, this, "${OracleCloudProvider.ID}:${OnDemandAgent.OnDemandType.SecurityGroup}") } @Override @@ -73,7 +73,7 @@ class OracleBMCSSecurityGroupCachingAgent extends AbstractOracleBMCSCachingAgent @Override boolean handles(OnDemandAgent.OnDemandType type, String cloudProvider) { - type == OnDemandAgent.OnDemandType.SecurityGroup && cloudProvider == OracleBMCSCloudProvider.ID + type == OnDemandAgent.OnDemandType.SecurityGroup && cloudProvider == OracleCloudProvider.ID } @Override diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSServerGroupCachingAgent.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleServerGroupCachingAgent.groovy similarity index 60% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSServerGroupCachingAgent.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleServerGroupCachingAgent.groovy index 6b3d192be48..4d57b1ba21c 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSServerGroupCachingAgent.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleServerGroupCachingAgent.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.agent.AgentDataType @@ -14,17 +14,17 @@ import com.netflix.spinnaker.cats.agent.CacheResult import com.netflix.spinnaker.cats.agent.DefaultCacheResult import com.netflix.spinnaker.cats.cache.DefaultCacheData import com.netflix.spinnaker.cats.provider.ProviderCache -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService import groovy.transform.InheritConstructors import groovy.util.logging.Slf4j /** - * A caching agent for Oracle BMCS server groups. + * A caching agent for Oracle server groups. * - * The groups are persisted cloud-side by the OracleBMCSServerGroupService implementation. In this agent we just read + * The groups are persisted cloud-side by the OracleServerGroupService implementation. In this agent we just read * all server groups that we can see given our credentials. * * This may be a slow operation due to the large number of API calls that the service makes. @@ -33,28 +33,28 @@ import groovy.util.logging.Slf4j */ @Slf4j @InheritConstructors -class OracleBMCSServerGroupCachingAgent extends AbstractOracleBMCSCachingAgent { +class OracleServerGroupCachingAgent extends AbstractOracleCachingAgent { final Set providedDataTypes = [ AgentDataType.Authority.AUTHORITATIVE.forType(Keys.Namespace.SERVER_GROUPS.ns) ] - private OracleBMCSServerGroupService oracleBMCSServerGroupService + private OracleServerGroupService oracleServerGroupService - OracleBMCSServerGroupCachingAgent(String clouddriverUserAgentApplicationName, OracleBMCSNamedAccountCredentials credentials, ObjectMapper objectMapper, OracleBMCSServerGroupService oracleBMCSServerGroupService) { + OracleServerGroupCachingAgent(String clouddriverUserAgentApplicationName, OracleNamedAccountCredentials credentials, ObjectMapper objectMapper, OracleServerGroupService oracleServerGroupService) { super(objectMapper, credentials, clouddriverUserAgentApplicationName) - this.oracleBMCSServerGroupService = oracleBMCSServerGroupService + this.oracleServerGroupService = oracleServerGroupService } @Override CacheResult loadData(ProviderCache providerCache) { - List serverGroups = this.oracleBMCSServerGroupService.listAllServerGroups(this.credentials) + List serverGroups = this.oracleServerGroupService.listAllServerGroups(this.credentials) return buildCacheResults(serverGroups) } - CacheResult buildCacheResults(List serverGroups) { + CacheResult buildCacheResults(List serverGroups) { log.info("Describing items in $agentType") - def data = serverGroups.collect { OracleBMCSServerGroup sg -> + def data = serverGroups.collect { OracleServerGroup sg -> // Don't cache credentials, so save them and restore them later def creds = sg.credentials sg.credentials = null diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSubnetCachingAgent.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSubnetCachingAgent.groovy similarity index 82% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSubnetCachingAgent.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSubnetCachingAgent.groovy index 9f5e37df77d..1e4cde3b8d0 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSubnetCachingAgent.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSubnetCachingAgent.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.agent.AgentDataType @@ -15,25 +15,25 @@ import com.netflix.spinnaker.cats.agent.DefaultCacheResult import com.netflix.spinnaker.cats.cache.CacheData import com.netflix.spinnaker.cats.cache.DefaultCacheData import com.netflix.spinnaker.cats.provider.ProviderCache -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.core.model.Subnet import com.oracle.bmc.core.model.Vcn import com.oracle.bmc.core.requests.ListSubnetsRequest import com.oracle.bmc.core.requests.ListVcnsRequest import groovy.util.logging.Slf4j -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.SUBNETS +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.SUBNETS @Slf4j -class OracleBMCSSubnetCachingAgent extends AbstractOracleBMCSCachingAgent { +class OracleSubnetCachingAgent extends AbstractOracleCachingAgent { final Set providedDataTypes = [ AgentDataType.Authority.AUTHORITATIVE.forType(SUBNETS.ns) ] as Set - OracleBMCSSubnetCachingAgent(String clouddriverUserAgentApplicationName, - OracleBMCSNamedAccountCredentials credentials, + OracleSubnetCachingAgent(String clouddriverUserAgentApplicationName, + OracleNamedAccountCredentials credentials, ObjectMapper objectMapper) { super(objectMapper, credentials, clouddriverUserAgentApplicationName) } diff --git a/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/config/OracleInfrastructureProviderConfig.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/config/OracleInfrastructureProviderConfig.groovy new file mode 100644 index 00000000000..bca5e2f692f --- /dev/null +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/config/OracleInfrastructureProviderConfig.groovy @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2017 Oracle America, Inc. + * + * The contents of this file are subject to the Apache License Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * If a copy of the Apache License Version 2.0 was not distributed with this file, + * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html + */ +package com.netflix.spinnaker.clouddriver.oracle.provider.config + +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.databind.SerializationFeature +import com.netflix.spectator.api.Registry +import com.netflix.spinnaker.cats.agent.Agent +import com.netflix.spinnaker.cats.provider.ProviderSynchronizerTypeWrapper +import com.netflix.spinnaker.clouddriver.oracle.OracleConfiguration +import com.netflix.spinnaker.clouddriver.oracle.provider.OracleInfrastructureProvider +import com.netflix.spinnaker.clouddriver.oracle.provider.agent.* +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService +import com.netflix.spinnaker.clouddriver.security.AccountCredentialsRepository +import com.netflix.spinnaker.clouddriver.security.ProviderUtils +import org.springframework.beans.factory.config.ConfigurableBeanFactory +import org.springframework.boot.context.properties.EnableConfigurationProperties +import org.springframework.context.annotation.* + +import java.util.concurrent.ConcurrentHashMap + +@Configuration +@Import(OracleConfiguration) +@EnableConfigurationProperties +class OracleInfrastructureProviderConfig { + + @Bean + @DependsOn('oracleNamedAccountCredentials') + OracleInfrastructureProvider oracleInfrastructureProvider(String clouddriverUserAgentApplicationName, + AccountCredentialsRepository accountCredentialsRepository, + ObjectMapper objectMapper, + Registry registry, + OracleServerGroupService oracleServerGroupService) { + def oracleInfrastructureProvider = + new OracleInfrastructureProvider(Collections.newSetFromMap(new ConcurrentHashMap())) + + synchronizeOracleInfrastructureProvider(clouddriverUserAgentApplicationName, + oracleInfrastructureProvider, + accountCredentialsRepository, + objectMapper, + registry, + oracleServerGroupService + ) + + return oracleInfrastructureProvider + } + + @Bean + OracleInfrastructureProviderSynchronizerTypeWrapper oracleInfrastructureProviderSynchronizerTypeWrapper() { + new OracleInfrastructureProviderSynchronizerTypeWrapper() + } + + class OracleInfrastructureProviderSynchronizerTypeWrapper implements ProviderSynchronizerTypeWrapper { + + @Override + Class getSynchronizerType() { + return OracleInfrastructureProviderSynchronizer + } + } + + class OracleInfrastructureProviderSynchronizer {} + + @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) + @Bean + OracleInfrastructureProviderSynchronizer synchronizeOracleInfrastructureProvider( + String clouddriverUserAgentApplicationName, + OracleInfrastructureProvider oracleInfrastructureProvider, + AccountCredentialsRepository accountCredentialsRepository, + ObjectMapper objectMapper, + Registry registry, + OracleServerGroupService oracleServerGroupService) { + def scheduledAccounts = ProviderUtils.getScheduledAccounts(oracleInfrastructureProvider) + def allAccounts = ProviderUtils.buildThreadSafeSetOfAccounts(accountCredentialsRepository, + OracleNamedAccountCredentials) + + objectMapper.enable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) + + allAccounts.each { OracleNamedAccountCredentials credentials -> + if (!scheduledAccounts.contains(credentials.name)) { + def newlyAddedAgents = [] + + newlyAddedAgents << new OracleSecurityGroupCachingAgent(clouddriverUserAgentApplicationName, + credentials, + objectMapper, + registry) + + newlyAddedAgents << new OracleInstanceCachingAgent(clouddriverUserAgentApplicationName, + credentials, + objectMapper) + + newlyAddedAgents << new OracleNetworkCachingAgent(clouddriverUserAgentApplicationName, + credentials, + objectMapper) + + newlyAddedAgents << new OracleSubnetCachingAgent(clouddriverUserAgentApplicationName, + credentials, + objectMapper) + + newlyAddedAgents << new OracleServerGroupCachingAgent(clouddriverUserAgentApplicationName, + credentials, + objectMapper, + oracleServerGroupService) + + newlyAddedAgents << new OracleImageCachingAgent(clouddriverUserAgentApplicationName, + credentials, + objectMapper) + + newlyAddedAgents << new OracleLoadBalancerCachingAgent(clouddriverUserAgentApplicationName, + credentials, + objectMapper) + + // If there is an agent scheduler, then this provider has been through the AgentController in the past. + // In that case, we need to do the scheduling here (because accounts have been added to a running system). + if (oracleInfrastructureProvider.agentScheduler) { + ProviderUtils.rescheduleAgents(oracleInfrastructureProvider, newlyAddedAgents) + } + + oracleInfrastructureProvider.agents.addAll(newlyAddedAgents) + } + } + + return new OracleInfrastructureProviderSynchronizer() + } +} diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSClusterProvider.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleClusterProvider.groovy similarity index 67% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSClusterProvider.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleClusterProvider.groovy index 26fc57f4e8f..bf02b1016dc 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSClusterProvider.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleClusterProvider.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.frigga.Names @@ -15,10 +15,10 @@ import com.netflix.spinnaker.cats.cache.RelationshipCacheFilter import com.netflix.spinnaker.clouddriver.model.ClusterProvider import com.netflix.spinnaker.clouddriver.model.HealthState import com.netflix.spinnaker.clouddriver.model.ServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSCluster -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.model.OracleCluster +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import groovy.util.logging.Slf4j import org.springframework.beans.factory.annotation.Autowired @@ -26,17 +26,17 @@ import org.springframework.stereotype.Component @Slf4j @Component -class OracleBMCSClusterProvider implements ClusterProvider { +class OracleClusterProvider implements ClusterProvider { - final String cloudProviderId = OracleBMCSCloudProvider.ID + final String cloudProviderId = OracleCloudProvider.ID - private OracleBMCSInstanceProvider instanceProvider + private OracleInstanceProvider instanceProvider final ObjectMapper objectMapper private AccountCredentialsProvider accountCredentialsProvider private final Cache cacheView @Autowired - OracleBMCSClusterProvider(OracleBMCSInstanceProvider instanceProvider, + OracleClusterProvider(OracleInstanceProvider instanceProvider, ObjectMapper objectMapper, AccountCredentialsProvider accountCredentialsProvider, Cache cacheView) { @@ -47,38 +47,38 @@ class OracleBMCSClusterProvider implements ClusterProvider> getClusters() { + Map> getClusters() { Collection identifiers = cacheView.getIdentifiers(Keys.Namespace.SERVER_GROUPS.ns) - Set serverGroups = loadServerGroups(identifiers) + Set serverGroups = loadServerGroups(identifiers) return clustersFromServerGroups(serverGroups).groupBy { it.accountName } } @Override - Map> getClusterSummaries(String application) { + Map> getClusterSummaries(String application) { getClusterDetails(application) } @Override - Map> getClusterDetails(String application) { + Map> getClusterDetails(String application) { Collection identifiers = cacheView.getIdentifiers(Keys.Namespace.SERVER_GROUPS.ns).findAll { application == Keys.parse(it)?.get("application") } - Set serverGroups = loadServerGroups(identifiers) + Set serverGroups = loadServerGroups(identifiers) return clustersFromServerGroups(serverGroups).groupBy { it.accountName } } @Override - Set getClusters(String application, String account) { + Set getClusters(String application, String account) { getClusterDetails(application)[account] } @Override - OracleBMCSCluster.View getCluster(String application, String account, String name, boolean includeDetails) { + OracleCluster.View getCluster(String application, String account, String name, boolean includeDetails) { getClusters(application, account).find { name == it.name } } @Override - OracleBMCSCluster.View getCluster(String application, String account, String name) { + OracleCluster.View getCluster(String application, String account, String name) { return getCluster(application, account, name, true) } @@ -86,7 +86,7 @@ class OracleBMCSClusterProvider implements ClusterProvider serverGroups = loadServerGroups(identifiers) + Set serverGroups = loadServerGroups(identifiers) if (serverGroups.isEmpty()) { return null } @@ -103,16 +103,16 @@ class OracleBMCSClusterProvider implements ClusterProvider loadServerGroups(Collection identifiers) { + private Set loadServerGroups(Collection identifiers) { def data = cacheView.getAll(Keys.Namespace.SERVER_GROUPS.ns, identifiers, RelationshipCacheFilter.none()) return data.collect { cacheItem -> - def sg = objectMapper.convertValue(cacheItem.attributes, OracleBMCSServerGroup) + def sg = objectMapper.convertValue(cacheItem.attributes, OracleServerGroup) restoreCreds(sg, cacheItem.id) sg.instances?.each { @@ -135,20 +135,20 @@ class OracleBMCSClusterProvider implements ClusterProvider sgs) { + private String accountFromServerGroups(List sgs) { sgs?.iterator()?.next()?.credentials?.name } - private Set clustersFromServerGroups(Set serverGroups) { - Map> byClusterName = serverGroups.groupBy { + private Set clustersFromServerGroups(Set serverGroups) { + Map> byClusterName = serverGroups.groupBy { Names.parseName(it.name).cluster } return byClusterName.collect { k, v -> - new OracleBMCSCluster( + new OracleCluster( name: k, accountName: accountFromServerGroups(v), - serverGroups: v as Set + serverGroups: v as Set ).getView() } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSImageProvider.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleImageProvider.groovy similarity index 66% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSImageProvider.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleImageProvider.groovy index 54900148c58..c10c356ea26 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSImageProvider.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleImageProvider.groovy @@ -6,58 +6,58 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.Cache import com.netflix.spinnaker.cats.cache.CacheData import com.netflix.spinnaker.cats.cache.RelationshipCacheFilter -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSImage +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.model.OracleImage import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Component -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.IMAGES +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.IMAGES @Component -class OracleBMCSImageProvider { +class OracleImageProvider { private final Cache cacheView final ObjectMapper objectMapper - final String cloudProvider = OracleBMCSCloudProvider.ID + final String cloudProvider = OracleCloudProvider.ID @Autowired - OracleBMCSImageProvider(Cache cacheView, ObjectMapper objectMapper) { + OracleImageProvider(Cache cacheView, ObjectMapper objectMapper) { this.cacheView = cacheView this.objectMapper = objectMapper } - Set getAll() { + Set getAll() { getAllMatchingKeyPattern(Keys.getImageKey('*', '*', '*')) } - Set getByAccountAndRegion(String account, region) { + Set getByAccountAndRegion(String account, region) { getAllMatchingKeyPattern(Keys.getImageKey(account, region, '*')) } - Set getAllMatchingKeyPattern(String pattern) { + Set getAllMatchingKeyPattern(String pattern) { loadResults(cacheView.filterIdentifiers(IMAGES.ns, pattern)) } - Set loadResults(Collection identifiers) { + Set loadResults(Collection identifiers) { def data = cacheView.getAll(IMAGES.ns, identifiers, RelationshipCacheFilter.none()) def transformed = data.collect(this.&fromCacheData) return transformed } - OracleBMCSImage fromCacheData(CacheData cacheData) { + OracleImage fromCacheData(CacheData cacheData) { Map parts = Keys.parse(cacheData.id) // The cache data is a composite of Image and a list of Shapes, so we don't use an object mapper. // We just extract the data we want from the attributes. - return new OracleBMCSImage( + return new OracleImage( cloudProvider: this.cloudProvider, id: cacheData.attributes.id, name: cacheData.attributes.displayName, diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSInstanceProvider.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleInstanceProvider.groovy similarity index 78% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSInstanceProvider.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleInstanceProvider.groovy index 3bece62d766..5551ed5c6e4 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSInstanceProvider.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleInstanceProvider.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.Cache @@ -14,9 +14,9 @@ import com.netflix.spinnaker.cats.cache.CacheData import com.netflix.spinnaker.cats.cache.RelationshipCacheFilter import com.netflix.spinnaker.clouddriver.model.HealthState import com.netflix.spinnaker.clouddriver.model.InstanceProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSInstance +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.model.OracleInstance import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import com.oracle.bmc.core.model.Instance import groovy.util.logging.Slf4j @@ -24,26 +24,26 @@ import org.apache.commons.lang.NotImplementedException import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Component -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.INSTANCES +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.INSTANCES @Slf4j @Component -class OracleBMCSInstanceProvider implements InstanceProvider { +class OracleInstanceProvider implements InstanceProvider { private final Cache cacheView final ObjectMapper objectMapper final AccountCredentialsProvider accountCredentialsProvider - final String cloudProvider = OracleBMCSCloudProvider.ID + final String cloudProvider = OracleCloudProvider.ID @Autowired - OracleBMCSInstanceProvider(Cache cacheView, ObjectMapper objectMapper, AccountCredentialsProvider accountCredentialsProvider) { + OracleInstanceProvider(Cache cacheView, ObjectMapper objectMapper, AccountCredentialsProvider accountCredentialsProvider) { this.cacheView = cacheView this.objectMapper = objectMapper this.accountCredentialsProvider = accountCredentialsProvider } @Override - OracleBMCSInstance getInstance(String account, String region, String nameOrOcid) { + OracleInstance getInstance(String account, String region, String nameOrOcid) { def cacheKeyWithOcid = Keys.getInstanceKey(account, region, "*", nameOrOcid) def cacheKeyWithName = Keys.getInstanceKey(account, region, nameOrOcid, "*") def identifiers = cacheView.filterIdentifiers(INSTANCES.ns, cacheKeyWithOcid) @@ -51,7 +51,7 @@ class OracleBMCSInstanceProvider implements InstanceProvider if (identifiers.size() > 1) { log.warn("There should be at most one identifier!") } - Set instances = loadInstances(identifiers) ?: null + Set instances = loadInstances(identifiers) ?: null return instances?.first() } @@ -61,15 +61,15 @@ class OracleBMCSInstanceProvider implements InstanceProvider throw new NotImplementedException() } - private Set loadInstances(Collection identifiers) { + private Set loadInstances(Collection identifiers) { def data = cacheView.getAll(INSTANCES.ns, identifiers, RelationshipCacheFilter.none()) return data.collect(this.&fromCacheData) } - private OracleBMCSInstance fromCacheData(CacheData cacheData) { + private OracleInstance fromCacheData(CacheData cacheData) { Instance instance = objectMapper.convertValue(cacheData.attributes, Instance) Map parts = Keys.parse(cacheData.id) - new OracleBMCSInstance( + new OracleInstance( name: instance.displayName, healthState: getHealthState(instance.lifecycleState), launchTime: instance.timeCreated.getTime(), diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSLoadBalancerProvider.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleLoadBalancerProvider.groovy similarity index 61% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSLoadBalancerProvider.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleLoadBalancerProvider.groovy index 86bf0a26756..9e72bc06e09 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSLoadBalancerProvider.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleLoadBalancerProvider.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper @@ -14,8 +14,8 @@ import com.netflix.spinnaker.cats.cache.Cache import com.netflix.spinnaker.cats.cache.CacheData import com.netflix.spinnaker.cats.cache.RelationshipCacheFilter import com.netflix.spinnaker.clouddriver.model.LoadBalancerProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys import com.oracle.bmc.loadbalancer.model.LoadBalancer import groovy.util.logging.Slf4j import org.springframework.beans.factory.annotation.Autowired @@ -23,14 +23,14 @@ import org.springframework.stereotype.Component @Slf4j @Component -class OracleBMCSLoadBalancerProvider implements LoadBalancerProvider { +class OracleLoadBalancerProvider implements LoadBalancerProvider { final Cache cacheView final ObjectMapper objectMapper - final String cloudProvider = OracleBMCSCloudProvider.ID + final String cloudProvider = OracleCloudProvider.ID @Autowired - OracleBMCSLoadBalancerProvider(Cache cacheView, ObjectMapper objectMapper) { + OracleLoadBalancerProvider(Cache cacheView, ObjectMapper objectMapper) { this.cacheView = cacheView this.objectMapper = objectMapper } @@ -39,7 +39,7 @@ class OracleBMCSLoadBalancerProvider implements LoadBalancerProvider list() { def results = [] getAll().each { lb -> - def summary = new OBMCSLoadBalancerSummary(name: lb.name) + def summary = new OracleLoadBalancerSummary(name: lb.name) summary.getOrCreateAccount(lb.account).getOrCreateRegion(lb.region).loadBalancers << lb results << summary } @@ -49,7 +49,7 @@ class OracleBMCSLoadBalancerProvider implements LoadBalancerProvider summary.getOrCreateAccount(lb.account).getOrCreateRegion(lb.region).loadBalancers << lb } @@ -62,30 +62,30 @@ class OracleBMCSLoadBalancerProvider implements LoadBalancerProvider getApplicationLoadBalancers(String application) { + Set getApplicationLoadBalancers(String application) { return getAllMatchingKeyPattern(Keys.getLoadBalancerKey("$application*", '*', '*', '*')) } - Set getAll() { + Set getAll() { getAllMatchingKeyPattern(Keys.getLoadBalancerKey('*', '*', '*', '*')) } - Set getAllMatchingKeyPattern(String pattern) { + Set getAllMatchingKeyPattern(String pattern) { loadResults(cacheView.filterIdentifiers(Keys.Namespace.LOADBALANCERS.ns, pattern)) } - Set loadResults(Collection identifiers) { + Set loadResults(Collection identifiers) { def data = cacheView.getAll(Keys.Namespace.LOADBALANCERS.ns, identifiers, RelationshipCacheFilter.none()) def transformed = data.collect(this.&fromCacheData) return transformed } - OBMCSLoadBalancerDetail fromCacheData(CacheData cacheData) { + OracleLoadBalancerDetail fromCacheData(CacheData cacheData) { LoadBalancer loadBalancer = objectMapper.convertValue(cacheData.attributes, LoadBalancer) Map parts = Keys.parse(cacheData.id) - return new OBMCSLoadBalancerDetail( + return new OracleLoadBalancerDetail( id: loadBalancer.id, name: loadBalancer.displayName, account: parts.account, @@ -94,55 +94,55 @@ class OracleBMCSLoadBalancerProvider implements LoadBalancerProvider mappedAccounts = [:] + private Map mappedAccounts = [:] String name - OBMCSLoadBalancerAccount getOrCreateAccount(String name) { + OracleLoadBalancerAccount getOrCreateAccount(String name) { if (!mappedAccounts.containsKey(name)) { - mappedAccounts.put(name, new OBMCSLoadBalancerAccount(name: name)) + mappedAccounts.put(name, new OracleLoadBalancerAccount(name: name)) } mappedAccounts[name] } @JsonProperty("accounts") - List getByAccounts() { + List getByAccounts() { mappedAccounts.values() as List } } - static class OBMCSLoadBalancerAccount implements LoadBalancerProvider.ByAccount { + static class OracleLoadBalancerAccount implements LoadBalancerProvider.ByAccount { - private Map mappedRegions = [:] + private Map mappedRegions = [:] String name - OBMCSLoadBalancerAccountRegion getOrCreateRegion(String name) { + OracleLoadBalancerAccountRegion getOrCreateRegion(String name) { if (!mappedRegions.containsKey(name)) { - mappedRegions.put(name, new OBMCSLoadBalancerAccountRegion(name: name, loadBalancers: [])) + mappedRegions.put(name, new OracleLoadBalancerAccountRegion(name: name, loadBalancers: [])) } mappedRegions[name] } @JsonProperty("regions") - List getByRegions() { + List getByRegions() { mappedRegions.values() as List } } - static class OBMCSLoadBalancerAccountRegion implements LoadBalancerProvider.ByRegion { + static class OracleLoadBalancerAccountRegion implements LoadBalancerProvider.ByRegion { String name - List loadBalancers + List loadBalancers } - static class OBMCSLoadBalancerDetail implements LoadBalancerProvider.Details, com.netflix.spinnaker.clouddriver.model.LoadBalancer { + static class OracleLoadBalancerDetail implements LoadBalancerProvider.Details, com.netflix.spinnaker.clouddriver.model.LoadBalancer { String account String region String name - String type = 'oraclebmcs' - String cloudProvider = 'oraclebmcs' + String type = 'oracle' + String cloudProvider = 'oracle' String id Set serverGroups } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSNetworkProvider.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleNetworkProvider.groovy similarity index 68% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSNetworkProvider.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleNetworkProvider.groovy index 6b174808a5c..1c440ceacac 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSNetworkProvider.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleNetworkProvider.groovy @@ -6,16 +6,16 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.Cache import com.netflix.spinnaker.cats.cache.CacheData import com.netflix.spinnaker.cats.cache.RelationshipCacheFilter import com.netflix.spinnaker.clouddriver.model.NetworkProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSNetwork +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.model.OracleNetwork import com.oracle.bmc.core.model.Vcn import groovy.util.logging.Slf4j import org.springframework.beans.factory.annotation.Autowired @@ -23,39 +23,39 @@ import org.springframework.stereotype.Component @Slf4j @Component -class OracleBMCSNetworkProvider implements NetworkProvider { +class OracleNetworkProvider implements NetworkProvider { final Cache cacheView final ObjectMapper objectMapper - final String cloudProvider = OracleBMCSCloudProvider.ID + final String cloudProvider = OracleCloudProvider.ID @Autowired - OracleBMCSNetworkProvider(Cache cacheView, ObjectMapper objectMapper) { + OracleNetworkProvider(Cache cacheView, ObjectMapper objectMapper) { this.cacheView = cacheView this.objectMapper = objectMapper } @Override - Set getAll() { + Set getAll() { getAllMatchingKeyPattern(Keys.getNetworkKey('*', '*', '*', '*')) } - Set getAllMatchingKeyPattern(String pattern) { + Set getAllMatchingKeyPattern(String pattern) { loadResults(cacheView.filterIdentifiers(Keys.Namespace.NETWORKS.ns, pattern)) } - Set loadResults(Collection identifiers) { + Set loadResults(Collection identifiers) { def data = cacheView.getAll(Keys.Namespace.NETWORKS.ns, identifiers, RelationshipCacheFilter.none()) def transformed = data.collect(this.&fromCacheData) return transformed } - OracleBMCSNetwork fromCacheData(CacheData cacheData) { + OracleNetwork fromCacheData(CacheData cacheData) { Vcn vcn = objectMapper.convertValue(cacheData.attributes, Vcn) Map parts = Keys.parse(cacheData.id) - return new OracleBMCSNetwork( + return new OracleNetwork( cloudProvider: this.cloudProvider, id: vcn.id, name: vcn.displayName, diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSSecurityGroupProvider.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleSecurityGroupProvider.groovy similarity index 68% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSSecurityGroupProvider.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleSecurityGroupProvider.groovy index e62e2c2f30a..db3d79d0b1e 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSSecurityGroupProvider.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleSecurityGroupProvider.groovy @@ -6,7 +6,7 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.Cache @@ -15,9 +15,9 @@ import com.netflix.spinnaker.cats.cache.RelationshipCacheFilter import com.netflix.spinnaker.clouddriver.model.SecurityGroupProvider import com.netflix.spinnaker.clouddriver.model.securitygroups.Rule import com.netflix.spinnaker.clouddriver.model.securitygroups.SecurityGroupRule -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSSecurityGroup +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.model.OracleSecurityGroup import com.oracle.bmc.core.model.SecurityList import groovy.util.logging.Slf4j import org.springframework.beans.factory.annotation.Autowired @@ -25,61 +25,61 @@ import org.springframework.stereotype.Component @Slf4j @Component -class OracleBMCSSecurityGroupProvider implements SecurityGroupProvider { - final String cloudProvider = OracleBMCSCloudProvider.ID +class OracleSecurityGroupProvider implements SecurityGroupProvider { + final String cloudProvider = OracleCloudProvider.ID private final Cache cacheView private final ObjectMapper objectMapper @Autowired - OracleBMCSSecurityGroupProvider(Cache cacheView, ObjectMapper objectMapper) { + OracleSecurityGroupProvider(Cache cacheView, ObjectMapper objectMapper) { this.cacheView = cacheView this.objectMapper = objectMapper } @Override - Set getAll(boolean includeRules) { + Set getAll(boolean includeRules) { getAllMatchingKeyPattern(Keys.getSecurityGroupKey('*', '*', '*', '*'), includeRules) } @Override - Set getAllByRegion(boolean includeRules, String region) { + Set getAllByRegion(boolean includeRules, String region) { getAllMatchingKeyPattern(Keys.getSecurityGroupKey('*', '*', region, '*'), includeRules) } @Override - Set getAllByAccount(boolean includeRules, String account) { + Set getAllByAccount(boolean includeRules, String account) { getAllMatchingKeyPattern(Keys.getSecurityGroupKey('*', '*', '*', account), includeRules) } @Override - Set getAllByAccountAndName(boolean includeRules, String account, String name) { + Set getAllByAccountAndName(boolean includeRules, String account, String name) { getAllMatchingKeyPattern(Keys.getSecurityGroupKey(name, '*', '*', account), includeRules) } @Override - Set getAllByAccountAndRegion(boolean includeRules, String account, String region) { + Set getAllByAccountAndRegion(boolean includeRules, String account, String region) { getAllMatchingKeyPattern(Keys.getSecurityGroupKey('*', '*', region, account), includeRules) } @Override - OracleBMCSSecurityGroup get(String account, String region, String name, String vpcId) { + OracleSecurityGroup get(String account, String region, String name, String vpcId) { // We ignore vpcId here. getAllMatchingKeyPattern(Keys.getSecurityGroupKey(name, '*', region, account), true)[0] } - Set getAllMatchingKeyPattern(String pattern, boolean includeRules) { + Set getAllMatchingKeyPattern(String pattern, boolean includeRules) { def identifiers = cacheView.filterIdentifiers(Keys.Namespace.SECURITY_GROUPS.ns, pattern) return loadResults(includeRules, identifiers) } - Set loadResults(boolean includeRules, Collection identifiers) { + Set loadResults(boolean includeRules, Collection identifiers) { def transform = this.&fromCacheData.curry(includeRules) def data = cacheView.getAll(Keys.Namespace.SECURITY_GROUPS.ns, identifiers, RelationshipCacheFilter.none()) def transformed = data.collect(transform) - return transformed as Set + return transformed as Set } - OracleBMCSSecurityGroup fromCacheData(boolean includeRules, CacheData cacheData) { + OracleSecurityGroup fromCacheData(boolean includeRules, CacheData cacheData) { SecurityList secList = objectMapper.convertValue(cacheData.attributes, SecurityList) Map parts = Keys.parse(cacheData.id) @@ -99,9 +99,9 @@ class OracleBMCSSecurityGroupProvider implements SecurityGroupProvider { +class OracleSubnetProvider implements SubnetProvider { final Cache cacheView final ObjectMapper objectMapper - final String cloudProvider = OracleBMCSCloudProvider.ID + final String cloudProvider = OracleCloudProvider.ID @Autowired - OracleBMCSSubnetProvider(Cache cacheView, ObjectMapper objectMapper) { + OracleSubnetProvider(Cache cacheView, ObjectMapper objectMapper) { this.cacheView = cacheView this.objectMapper = objectMapper } @Override - Set getAll() { + Set getAll() { getAllMatchingKeyPattern(Keys.getSubnetKey('*', '*', '*')) } - Set getAllMatchingKeyPattern(String pattern) { + Set getAllMatchingKeyPattern(String pattern) { loadResults(cacheView.filterIdentifiers(SUBNETS.ns, pattern)) } - Set loadResults(Collection identifiers) { + Set loadResults(Collection identifiers) { def data = cacheView.getAll(SUBNETS.ns, identifiers, RelationshipCacheFilter.none()) def transformed = data.collect(this.&fromCacheData) return transformed } - OracleBMCSSubnet fromCacheData(CacheData cacheData) { + OracleSubnet fromCacheData(CacheData cacheData) { Subnet subnet = objectMapper.convertValue(cacheData.attributes, Subnet) Map parts = Keys.parse(cacheData.id) - return new OracleBMCSSubnet( + return new OracleSubnet( type: this.cloudProvider, id: subnet.id, name: subnet.displayName, diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/security/OracleBMCSCredentialsInitializer.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/security/OracleCredentialsInitializer.groovy similarity index 64% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/security/OracleBMCSCredentialsInitializer.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/security/OracleCredentialsInitializer.groovy index 94de1d6a4d8..be7b76d9e89 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/security/OracleBMCSCredentialsInitializer.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/security/OracleCredentialsInitializer.groovy @@ -6,10 +6,10 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.security +package com.netflix.spinnaker.clouddriver.oracle.security import com.netflix.spinnaker.cats.module.CatsModule -import com.netflix.spinnaker.clouddriver.oraclebmcs.config.OracleBMCSConfigurationProperties +import com.netflix.spinnaker.clouddriver.oracle.config.OracleConfigurationProperties import com.netflix.spinnaker.clouddriver.security.AccountCredentialsRepository import com.netflix.spinnaker.clouddriver.security.CredentialsInitializerSynchronizable import com.netflix.spinnaker.clouddriver.security.ProviderUtils @@ -21,37 +21,37 @@ import org.springframework.context.annotation.Scope @Slf4j @Configuration -class OracleBMCSCredentialsInitializer implements CredentialsInitializerSynchronizable { +class OracleCredentialsInitializer implements CredentialsInitializerSynchronizable { @Bean - List oracleBMCSNamedAccountCredentials( + List oracleNamedAccountCredentials( String clouddriverUserAgentApplicationName, - OracleBMCSConfigurationProperties oracleBMCSConfigurationProperties, + OracleConfigurationProperties oracleConfigurationProperties, AccountCredentialsRepository accountCredentialsRepository ) { - synchronizeOracleBMCSAccounts(clouddriverUserAgentApplicationName, oracleBMCSConfigurationProperties, null, accountCredentialsRepository) + synchronizeOracleAccounts(clouddriverUserAgentApplicationName, oracleConfigurationProperties, null, accountCredentialsRepository) } @Override String getCredentialsSynchronizationBeanName() { - return "synchronizeOracleBMCSAccounts" + return "synchronizeOracleAccounts" } @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Bean - List synchronizeOracleBMCSAccounts(String clouddriverUserAgentApplicationName, - OracleBMCSConfigurationProperties oracleBMCSConfigurationProperties, + List synchronizeOracleAccounts(String clouddriverUserAgentApplicationName, + OracleConfigurationProperties oracleConfigurationProperties, CatsModule catsModule, AccountCredentialsRepository accountCredentialsRepository) { - def (ArrayList accountsToAdd, List namesOfDeletedAccounts) = + def (ArrayList accountsToAdd, List namesOfDeletedAccounts) = ProviderUtils.calculateAccountDeltas(accountCredentialsRepository, - OracleBMCSNamedAccountCredentials.class, - oracleBMCSConfigurationProperties.accounts) + OracleNamedAccountCredentials.class, + oracleConfigurationProperties.accounts) - accountsToAdd.each { OracleBMCSConfigurationProperties.ManagedAccount managedAccount -> + accountsToAdd.each { OracleConfigurationProperties.ManagedAccount managedAccount -> try { - def oracleBMCSAccount = new OracleBMCSNamedAccountCredentials.Builder().name(managedAccount.name). + def oracleAccount = new OracleNamedAccountCredentials.Builder().name(managedAccount.name). environment(managedAccount.environment ?: managedAccount.name). accountType(managedAccount.accountType ?: managedAccount.name). requiredGroupMembership(managedAccount.requiredGroupMembership). @@ -63,16 +63,16 @@ class OracleBMCSCredentialsInitializer implements CredentialsInitializerSynchron region(managedAccount.region). build() - accountCredentialsRepository.save(managedAccount.name, oracleBMCSAccount) + accountCredentialsRepository.save(managedAccount.name, oracleAccount) } catch (e) { - log.warn("Could not load account $managedAccount.name for OracleBMCS", e) + log.warn("Could not load account $managedAccount.name for Oracle", e) } } ProviderUtils.unscheduleAndDeregisterAgents(namesOfDeletedAccounts, catsModule) accountCredentialsRepository.all.findAll { - it instanceof OracleBMCSNamedAccountCredentials - } as List + it instanceof OracleNamedAccountCredentials + } as List } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/security/OracleBMCSNamedAccountCredentials.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/security/OracleNamedAccountCredentials.groovy similarity index 90% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/security/OracleBMCSNamedAccountCredentials.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/security/OracleNamedAccountCredentials.groovy index 572e62203cf..ad116c952cc 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/security/OracleBMCSNamedAccountCredentials.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/security/OracleNamedAccountCredentials.groovy @@ -6,10 +6,10 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.security +package com.netflix.spinnaker.clouddriver.oracle.security import com.google.common.base.Supplier -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider import com.netflix.spinnaker.clouddriver.security.AccountCredentials import com.oracle.bmc.Region import com.oracle.bmc.auth.AuthenticationDetailsProvider @@ -22,9 +22,9 @@ import com.oracle.bmc.identity.requests.ListAvailabilityDomainsRequest import com.oracle.bmc.loadbalancer.LoadBalancerClient import com.oracle.bmc.objectstorage.ObjectStorageClient -class OracleBMCSNamedAccountCredentials implements AccountCredentials { +class OracleNamedAccountCredentials implements AccountCredentials { - String cloudProvider = OracleBMCSCloudProvider.ID + String cloudProvider = OracleCloudProvider.ID String name String environment String accountType @@ -36,14 +36,14 @@ class OracleBMCSNamedAccountCredentials implements AccountCredentials { String region List requiredGroupMembership = [] Object credentials - List regions + List regions ComputeClient computeClient VirtualNetworkClient networkClient ObjectStorageClient objectStorageClient IdentityClient identityClient LoadBalancerClient loadBalancerClient - OracleBMCSNamedAccountCredentials(String name, + OracleNamedAccountCredentials(String name, String environment, String accountType, List requiredGroupMembership, @@ -84,7 +84,7 @@ class OracleBMCSNamedAccountCredentials implements AccountCredentials { this.identityClient.setRegion(desiredRegion) this.loadBalancerClient = new LoadBalancerClient(provider) this.loadBalancerClient.setRegion(desiredRegion) - this.regions = [new OracleBMCSRegion(name: desiredRegion.regionId, + this.regions = [new OracleRegion(name: desiredRegion.regionId, availabilityZones: this.identityClient.listAvailabilityDomains(ListAvailabilityDomainsRequest.builder() .compartmentId(this.compartmentId) .build()).items.collect { it.name })] @@ -153,8 +153,8 @@ class OracleBMCSNamedAccountCredentials implements AccountCredentials { return this } - OracleBMCSNamedAccountCredentials build() { - return new OracleBMCSNamedAccountCredentials( + OracleNamedAccountCredentials build() { + return new OracleNamedAccountCredentials( this.name, this.environment, this.accountType, @@ -168,7 +168,7 @@ class OracleBMCSNamedAccountCredentials implements AccountCredentials { } } - class OracleBMCSRegion { + class OracleRegion { String name List availabilityZones diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/DefaultOracleBMCSServerGroupService.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/DefaultOracleServerGroupService.groovy similarity index 73% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/DefaultOracleBMCSServerGroupService.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/DefaultOracleServerGroupService.groovy index 8f896a00121..7bef0aea2fe 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/DefaultOracleBMCSServerGroupService.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/DefaultOracleServerGroupService.groovy @@ -6,15 +6,15 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup +package com.netflix.spinnaker.clouddriver.oracle.service.servergroup import com.netflix.frigga.Names import com.netflix.spinnaker.clouddriver.data.task.Task import com.netflix.spinnaker.clouddriver.model.HealthState -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSInstance -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.model.OracleInstance +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.core.model.LaunchInstanceDetails import com.oracle.bmc.core.requests.LaunchInstanceRequest import com.oracle.bmc.core.requests.TerminateInstanceRequest @@ -23,23 +23,23 @@ import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Component @Component -class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupService { +class DefaultOracleServerGroupService implements OracleServerGroupService { private static final String DESTROY = "DESTROY_SERVER_GROUP" private static final String RESIZE = "RESIZE_SERVER_GROUP" private static final String DISABLE = "DISABLE_SERVER_GROUP" private static final String ENABLE = "ENABLE_SERVER_GROUP" - private final OracleBMCSServerGroupPersistence persistence; + private final OracleServerGroupPersistence persistence; @Autowired - public DefaultOracleBMCSServerGroupService(OracleBMCSServerGroupPersistence persistence) { + public DefaultOracleServerGroupService(OracleServerGroupPersistence persistence) { this.persistence = persistence } @Override - List listAllServerGroups(OracleBMCSNamedAccountCredentials creds) { - def persistenceCtx = new OracleBMCSPersistenceContext(creds) + List listAllServerGroups(OracleNamedAccountCredentials creds) { + def persistenceCtx = new OraclePersistenceContext(creds) List sgNames = persistence.listServerGroupNames(persistenceCtx) return sgNames.findResults { name -> persistence.getServerGroupByName(persistenceCtx, name) @@ -47,15 +47,15 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic } @Override - List listServerGroupNamesByClusterName(OracleBMCSNamedAccountCredentials creds, String clusterName) { - def persistenceCtx = new OracleBMCSPersistenceContext(creds) + List listServerGroupNamesByClusterName(OracleNamedAccountCredentials creds, String clusterName) { + def persistenceCtx = new OraclePersistenceContext(creds) List sgNames = persistence.listServerGroupNames(persistenceCtx) return sgNames.findAll { clusterName == Names.parseName(it)?.cluster } } @Override - OracleBMCSServerGroup getServerGroup(OracleBMCSNamedAccountCredentials creds, String application, String name) { - def persistenceCtx = new OracleBMCSPersistenceContext(creds) + OracleServerGroup getServerGroup(OracleNamedAccountCredentials creds, String application, String name) { + def persistenceCtx = new OraclePersistenceContext(creds) List sgNames = persistence.listServerGroupNames(persistenceCtx) List sgNamesInApp = sgNames.findAll { application == Names.parseName(it)?.app } String foundName = sgNamesInApp.find { name == it } @@ -66,7 +66,7 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic } @Override - void createServerGroup(OracleBMCSServerGroup sg) { + void createServerGroup(OracleServerGroup sg) { def instances = [] as Set for (int i = 0; i < sg.targetSize; i++) { @@ -77,8 +77,8 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic } @Override - boolean destroyServerGroup(Task task, OracleBMCSNamedAccountCredentials creds, String serverGroupName) { - def persistenceCtx = new OracleBMCSPersistenceContext(creds) + boolean destroyServerGroup(Task task, OracleNamedAccountCredentials creds, String serverGroupName) { + def persistenceCtx = new OraclePersistenceContext(creds) def serverGroup = persistence.getServerGroupByName(persistenceCtx, serverGroupName) if (serverGroup != null) { task.updateStatus DESTROY, "Found server group: $serverGroup.name" @@ -98,8 +98,8 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic } @Override - boolean resizeServerGroup(Task task, OracleBMCSNamedAccountCredentials creds, String serverGroupName, Integer targetSize) { - def persistenceCtx = new OracleBMCSPersistenceContext(creds) + boolean resizeServerGroup(Task task, OracleNamedAccountCredentials creds, String serverGroupName, Integer targetSize) { + def persistenceCtx = new OraclePersistenceContext(creds) def serverGroup = persistence.getServerGroupByName(persistenceCtx, serverGroupName) if (serverGroup != null) { task.updateStatus DESTROY, "Found server group: $serverGroup.name" @@ -113,7 +113,7 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic task.updateStatus RESIZE, "Creating instance: $i" return createInstance(serverGroup, i) }, - { OracleBMCSInstance instance -> + { OracleInstance instance -> serverGroup.instances.add(instance) }) @@ -126,7 +126,7 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic task.updateStatus RESIZE, "Terminating instance: " + serverGroup.instances[i].name return terminateInstance(serverGroup, serverGroup.instances[i]) }, - { OracleBMCSInstance instance -> + { OracleInstance instance -> serverGroup.instances.remove(instance) }) @@ -143,8 +143,8 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic } @Override - void disableServerGroup(Task task, OracleBMCSNamedAccountCredentials creds, String serverGroupName) { - def persistenceCtx = new OracleBMCSPersistenceContext(creds) + void disableServerGroup(Task task, OracleNamedAccountCredentials creds, String serverGroupName) { + def persistenceCtx = new OraclePersistenceContext(creds) def serverGroup = persistence.getServerGroupByName(persistenceCtx, serverGroupName) if (serverGroup != null) { task.updateStatus DISABLE, "Found server group: $serverGroup.name" @@ -157,8 +157,8 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic } @Override - void enableServerGroup(Task task, OracleBMCSNamedAccountCredentials creds, String serverGroupName) { - def persistenceCtx = new OracleBMCSPersistenceContext(creds) + void enableServerGroup(Task task, OracleNamedAccountCredentials creds, String serverGroupName) { + def persistenceCtx = new OraclePersistenceContext(creds) def serverGroup = persistence.getServerGroupByName(persistenceCtx, serverGroupName) if (serverGroup != null) { task.updateStatus ENABLE, "Found server group: $serverGroup.name" @@ -170,7 +170,7 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic } } - private OracleBMCSInstance createInstance(OracleBMCSServerGroup sg, int i) { + private OracleInstance createInstance(OracleServerGroup sg, int i) { LaunchInstanceRequest rq = LaunchInstanceRequest.builder().launchInstanceDetails(LaunchInstanceDetails.builder() .availabilityDomain(sg.launchConfig["availabilityDomain"] as String) .compartmentId(sg.launchConfig["compartmentId"] as String) @@ -181,17 +181,17 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic .build()).build() def rs = sg.credentials.computeClient.launchInstance(rq) - return new OracleBMCSInstance( + return new OracleInstance( name: rs.instance.displayName, id: rs.instance.id, region: rs.instance.region, zone: rs.instance.availabilityDomain, healthState: HealthState.Starting, - cloudProvider: OracleBMCSCloudProvider.ID, + cloudProvider: OracleCloudProvider.ID, launchTime: rs.instance.timeCreated.time) } - private OracleBMCSInstance terminateInstance(OracleBMCSServerGroup sg, OracleBMCSInstance instance) { + private OracleInstance terminateInstance(OracleServerGroup sg, OracleInstance instance) { TerminateInstanceRequest request = TerminateInstanceRequest.builder() .instanceId(instance.id).build() try { @@ -205,12 +205,12 @@ class DefaultOracleBMCSServerGroupService implements OracleBMCSServerGroupServic return instance } - private void resize(OracleBMCSServerGroup sg, Integer targetSize, int from, int to, Closure operate, Closure update) { + private void resize(OracleServerGroup sg, Integer targetSize, int from, int to, Closure operate, Closure update) { def instances = [] as Set for (int i = from; i < to; i++) { instances << operate(i) } - for (OracleBMCSInstance instance : instances) { + for (OracleInstance instance : instances) { update(instance) } sg.targetSize = targetSize diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSPersistenceContext.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OraclePersistenceContext.groovy similarity index 58% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSPersistenceContext.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OraclePersistenceContext.groovy index 3c9213b8e02..776fbc8c492 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSPersistenceContext.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OraclePersistenceContext.groovy @@ -6,17 +6,17 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup +package com.netflix.spinnaker.clouddriver.oracle.service.servergroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials -class OracleBMCSPersistenceContext { +class OraclePersistenceContext { - OracleBMCSNamedAccountCredentials creds + OracleNamedAccountCredentials creds String namespace boolean bucketChecked - OracleBMCSPersistenceContext(OracleBMCSNamedAccountCredentials creds) { + OraclePersistenceContext(OracleNamedAccountCredentials creds) { this.creds = creds } } diff --git a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSServerGroupPersistence.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OracleServerGroupPersistence.groovy similarity index 71% rename from clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSServerGroupPersistence.groovy rename to clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OracleServerGroupPersistence.groovy index 0be54139e1b..12b81206941 100644 --- a/clouddriver-oracle-bmcs/src/main/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSServerGroupPersistence.groovy +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OracleServerGroupPersistence.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup +package com.netflix.spinnaker.clouddriver.oracle.service.servergroup import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.objectstorage.model.CreateBucketDetails import com.oracle.bmc.objectstorage.requests.* import groovy.transform.Synchronized @@ -21,19 +21,19 @@ import java.nio.charset.Charset /** * Uses Object Storage as a persistent store for server group data. This is a temporary work around - * because BMCS does not currently support server groups as a native concept. + * because Oracle does not currently support server groups as a native concept. */ @Slf4j @Component -class OracleBMCSServerGroupPersistence { +class OracleServerGroupPersistence { - private static class OracleBMCSServerGroupPersistenceException extends RuntimeException { + private static class OracleServerGroupPersistenceException extends RuntimeException { - OracleBMCSServerGroupPersistenceException(String var1, Throwable var2) { + OracleServerGroupPersistenceException(String var1, Throwable var2) { super(var1, var2) } - OracleBMCSServerGroupPersistenceException(String var1) { + OracleServerGroupPersistenceException(String var1) { super(var1) } } @@ -65,7 +65,7 @@ class OracleBMCSServerGroupPersistence { * - for each name, do a read and get the actual data; * - if someone has deleted the server group sometimes between the list and the read, the client deals with it. */ - protected List listServerGroupNames(OracleBMCSPersistenceContext ctx) { + protected List listServerGroupNames(OraclePersistenceContext ctx) { def result = [] def namespace = getStorageNamespaceFor(ctx) ensureStorageBucketFor(ctx) @@ -81,7 +81,7 @@ class OracleBMCSServerGroupPersistence { } } catch (Exception e) { - throw new OracleBMCSServerGroupPersistenceException("Failed listing contents of bucket", e) + throw new OracleServerGroupPersistenceException("Failed listing contents of bucket", e) } return result @@ -90,34 +90,34 @@ class OracleBMCSServerGroupPersistence { /** * Reads the server group data with the provided name in the provided account. */ - OracleBMCSServerGroup getServerGroupByName(OracleBMCSPersistenceContext ctx, String name) { + OracleServerGroup getServerGroupByName(OraclePersistenceContext ctx, String name) { return doPersistenceOperation(PersistenceOperation.READ, ctx, null, name) } /** * Writes the server group data to the persistent store; the account is inferred from the server group data. */ - void upsertServerGroup(OracleBMCSServerGroup sg) { + void upsertServerGroup(OracleServerGroup sg) { if (sg.credentials.compartmentId == sg.launchConfig["compartmentId"] as String) { - doPersistenceOperation(PersistenceOperation.UPSERT, new OracleBMCSPersistenceContext(sg.credentials), sg, sg.name) + doPersistenceOperation(PersistenceOperation.UPSERT, new OraclePersistenceContext(sg.credentials), sg, sg.name) } else { - throw new OracleBMCSServerGroupPersistenceException("Different compartments - this is not allowed") + throw new OracleServerGroupPersistenceException("Different compartments - this is not allowed") } } /** * Deletes the server group data from the persistent store; the account is inferred from the server group data. */ - void deleteServerGroup(OracleBMCSServerGroup sg) { + void deleteServerGroup(OracleServerGroup sg) { if (sg.credentials.compartmentId == sg.launchConfig["compartmentId"] as String) { - doPersistenceOperation(PersistenceOperation.DELETE, new OracleBMCSPersistenceContext(sg.credentials), sg, sg.name) + doPersistenceOperation(PersistenceOperation.DELETE, new OraclePersistenceContext(sg.credentials), sg, sg.name) } else { - throw new OracleBMCSServerGroupPersistenceException("Different compartments - this is not allowed") + throw new OracleServerGroupPersistenceException("Different compartments - this is not allowed") } } @Synchronized - private String getStorageNamespaceFor(OracleBMCSPersistenceContext ctx) { + private String getStorageNamespaceFor(OraclePersistenceContext ctx) { if (ctx.namespace) { return ctx.namespace } @@ -125,14 +125,14 @@ class OracleBMCSServerGroupPersistence { def rs = ctx.creds.objectStorageClient.getNamespace(rq) def namespace = rs?.getValue() if (!namespace) { - throw new OracleBMCSServerGroupPersistenceException("Namespace not found, can't continue") + throw new OracleServerGroupPersistenceException("Namespace not found, can't continue") } ctx.namespace = namespace return namespace } @Synchronized - private ensureStorageBucketFor(OracleBMCSPersistenceContext ctx) { + private ensureStorageBucketFor(OraclePersistenceContext ctx) { if (ctx.bucketChecked) { return } @@ -160,12 +160,12 @@ class OracleBMCSServerGroupPersistence { return } } catch (Exception e) { - throw new OracleBMCSServerGroupPersistenceException("Failed to create bucket", e) + throw new OracleServerGroupPersistenceException("Failed to create bucket", e) } - throw new OracleBMCSServerGroupPersistenceException("Failed to get or create bucket") + throw new OracleServerGroupPersistenceException("Failed to get or create bucket") } - private String serverGroupToJson(OracleBMCSServerGroup sg) { + private String serverGroupToJson(OracleServerGroup sg) { // Save these to re-assign after ObjectMapper does its work. def credentials = sg.credentials sg.credentials = null @@ -175,17 +175,17 @@ class OracleBMCSServerGroupPersistence { return json } - private OracleBMCSServerGroup jsonToServerGroup(String json, OracleBMCSNamedAccountCredentials creds) { + private OracleServerGroup jsonToServerGroup(String json, OracleNamedAccountCredentials creds) { def objectMapper = new ObjectMapper() - def sg = objectMapper.readValue(json, OracleBMCSServerGroup.class) + def sg = objectMapper.readValue(json, OracleServerGroup.class) sg.credentials = creds return sg } @Synchronized - private OracleBMCSServerGroup doPersistenceOperation(PersistenceOperation op, - OracleBMCSPersistenceContext ctx, - OracleBMCSServerGroup sg, + private OracleServerGroup doPersistenceOperation(PersistenceOperation op, + OraclePersistenceContext ctx, + OracleServerGroup sg, String name) { def namespace = getStorageNamespaceFor(ctx) ensureStorageBucketFor(ctx) @@ -226,13 +226,13 @@ class OracleBMCSServerGroupPersistence { .build() def rs = ctx.creds.objectStorageClient.putObject(rq) if (!rs?.getETag()) { - throw new OracleBMCSServerGroupPersistenceException("Upsert failed, ETag was null") + throw new OracleServerGroupPersistenceException("Upsert failed, ETag was null") } return sg - } catch (OracleBMCSServerGroupPersistenceException e) { + } catch (OracleServerGroupPersistenceException e) { throw e } catch (Exception e) { - throw new OracleBMCSServerGroupPersistenceException("Upsert failed", e) + throw new OracleServerGroupPersistenceException("Upsert failed", e) } break; case PersistenceOperation.DELETE: @@ -243,16 +243,16 @@ class OracleBMCSServerGroupPersistence { .build() def rs = ctx.creds.objectStorageClient.deleteObject(rq) if (!rs?.getLastModified()) { - throw new OracleBMCSServerGroupPersistenceException("Delete failed, lastModified was null") + throw new OracleServerGroupPersistenceException("Delete failed, lastModified was null") } return sg - } catch (OracleBMCSServerGroupPersistenceException e) { + } catch (OracleServerGroupPersistenceException e) { throw e } catch (Exception e) { - throw new OracleBMCSServerGroupPersistenceException("Delete failed", e) + throw new OracleServerGroupPersistenceException("Delete failed", e) } break; } - throw new OracleBMCSServerGroupPersistenceException("Unhandled persistence operation") + throw new OracleServerGroupPersistenceException("Unhandled persistence operation") } } diff --git a/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OracleServerGroupService.groovy b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OracleServerGroupService.groovy new file mode 100644 index 00000000000..d5cf519f39b --- /dev/null +++ b/clouddriver-oracle/src/main/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OracleServerGroupService.groovy @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2017 Oracle America, Inc. + * + * The contents of this file are subject to the Apache License Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * If a copy of the Apache License Version 2.0 was not distributed with this file, + * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html + */ +package com.netflix.spinnaker.clouddriver.oracle.service.servergroup + +import com.netflix.spinnaker.clouddriver.data.task.Task +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials + +interface OracleServerGroupService { + + public List listAllServerGroups(OracleNamedAccountCredentials creds) + + public List listServerGroupNamesByClusterName(OracleNamedAccountCredentials creds, String clusterName) + + public OracleServerGroup getServerGroup(OracleNamedAccountCredentials creds, String application, String name) + + public void createServerGroup(OracleServerGroup serverGroup) + + public boolean destroyServerGroup(Task task, OracleNamedAccountCredentials creds, String serverGroupName) + + public boolean resizeServerGroup(Task task, OracleNamedAccountCredentials creds, String serverGroupName, Integer targetSize) + + public void disableServerGroup(Task task, OracleNamedAccountCredentials creds, String serverGroupName) + + public void enableServerGroup(Task task, OracleNamedAccountCredentials creds, String serverGroupName) + +} diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSProviderSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleProviderSpec.groovy similarity index 60% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSProviderSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleProviderSpec.groovy index 7c85bf63de7..1ffa9c6c8d2 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/OracleBMCSProviderSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/OracleProviderSpec.groovy @@ -7,21 +7,21 @@ * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs +package com.netflix.spinnaker.clouddriver.oracle import spock.lang.Specification -class OracleBMCSProviderSpec extends Specification { +class OracleProviderSpec extends Specification { - def oracleBMCSProvider + def oracleProvider def setup() { - oracleBMCSProvider = new OracleBMCSCloudProvider() + oracleProvider = new OracleCloudProvider() } - def "Testing default values of OracleBMCSCloudProvider"() { + def "Testing default values of OracleCloudProvider"() { expect: - oracleBMCSProvider.id == "oraclebmcs" + oracleProvider.id == "oracle" } } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/controller/OracleBMCSImageLookupControllerSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/controller/OracleImageLookupControllerSpec.groovy similarity index 62% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/controller/OracleBMCSImageLookupControllerSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/controller/OracleImageLookupControllerSpec.groovy index 94248d5c152..f52c0d1d9da 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/controller/OracleBMCSImageLookupControllerSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/controller/OracleImageLookupControllerSpec.groovy @@ -6,23 +6,23 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.controller +package com.netflix.spinnaker.clouddriver.oracle.controller -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSImage -import com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view.OracleBMCSImageProvider +import com.netflix.spinnaker.clouddriver.oracle.model.OracleImage +import com.netflix.spinnaker.clouddriver.oracle.provider.view.OracleImageProvider import spock.lang.Specification -class OracleBMCSImageLookupControllerSpec extends Specification { +class OracleImageLookupControllerSpec extends Specification { def "test get image details by Id"() { setup: - def imageProvider = Mock(OracleBMCSImageProvider) - def imageLookupController = new OracleBMCSImageLookupController(imageProvider) + def imageProvider = Mock(OracleImageProvider) + def imageLookupController = new OracleImageLookupController(imageProvider) def images = [ - new OracleBMCSImage(id: "ocid.image.123", + new OracleImage(id: "ocid.image.123", name: "My Image", compatibleShapes: ["small"]), - new OracleBMCSImage(id: "ocid.image.234", + new OracleImage(id: "ocid.image.234", name: "My Other Image", compatibleShapes: ["small"]) ] @@ -38,16 +38,16 @@ class OracleBMCSImageLookupControllerSpec extends Specification { def "test find image by query"() { setup: - def imageProvider = Mock(OracleBMCSImageProvider) - def imageLookupController = new OracleBMCSImageLookupController(imageProvider) + def imageProvider = Mock(OracleImageProvider) + def imageLookupController = new OracleImageLookupController(imageProvider) def images = [ - new OracleBMCSImage(id: "ocid.image.123", + new OracleImage(id: "ocid.image.123", name: "foo 1", compatibleShapes: ["small"]), - new OracleBMCSImage(id: "ocid.image.234", + new OracleImage(id: "ocid.image.234", name: "foo 2", compatibleShapes: ["small"]), - new OracleBMCSImage(id: "ocid.image.345", + new OracleImage(id: "ocid.image.345", name: "bar 1", compatibleShapes: ["small"]) ] diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/BasicOracleBMCSDeployAtomicOperationConverterUnitSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/BasicOracleDeployAtomicOperationConverterUnitSpec.groovy similarity index 74% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/BasicOracleBMCSDeployAtomicOperationConverterUnitSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/BasicOracleDeployAtomicOperationConverterUnitSpec.groovy index 2761da72419..6d5387aa6d2 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/BasicOracleBMCSDeployAtomicOperationConverterUnitSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/BasicOracleDeployAtomicOperationConverterUnitSpec.groovy @@ -6,17 +6,17 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.clouddriver.deploy.DeployAtomicOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.BasicOracleBMCSDeployDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.BasicOracleDeployDescription +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import spock.lang.Shared import spock.lang.Specification -class BasicOracleBMCSDeployAtomicOperationConverterUnitSpec extends Specification { +class BasicOracleDeployAtomicOperationConverterUnitSpec extends Specification { private static final APPLICATION = "spinnaker" private static final STACK = "spinnaker-test" @@ -31,17 +31,17 @@ class BasicOracleBMCSDeployAtomicOperationConverterUnitSpec extends Specificatio ObjectMapper mapper = new ObjectMapper() @Shared - BasicOracleBMCSDeployAtomicOperationConverter converter + BasicOracleDeployAtomicOperationConverter converter def setupSpec() { - this.converter = new BasicOracleBMCSDeployAtomicOperationConverter(objectMapper: mapper) + this.converter = new BasicOracleDeployAtomicOperationConverter(objectMapper: mapper) def accountCredentialsProvider = Mock(AccountCredentialsProvider) - def mockCredentials = Mock(OracleBMCSNamedAccountCredentials) + def mockCredentials = Mock(OracleNamedAccountCredentials) accountCredentialsProvider.getCredentials(_) >> mockCredentials converter.accountCredentialsProvider = accountCredentialsProvider } - void "basicOracleBMCSDeployDescription type returns BasicOracleBMCSDeployDescription and DeployAtomicOperation"() { + void "basicOracleDeployDescription type returns BasicOracleDeployDescription and DeployAtomicOperation"() { setup: def input = [application : APPLICATION, stack : STACK, @@ -55,7 +55,7 @@ class BasicOracleBMCSDeployAtomicOperationConverterUnitSpec extends Specificatio def description = converter.convertDescription(input) then: - description instanceof BasicOracleBMCSDeployDescription + description instanceof BasicOracleDeployDescription when: def operation = converter.convertOperation(input) @@ -64,7 +64,7 @@ class BasicOracleBMCSDeployAtomicOperationConverterUnitSpec extends Specificatio operation instanceof DeployAtomicOperation } - void "basicOracleBMCSDeployDescription type with free-form details returns BasicOracleBMCSDeployDescription and DeployAtomicOperation"() { + void "basicOracleDeployDescription type with free-form details returns BasicOracleDeployDescription and DeployAtomicOperation"() { setup: def input = [application : APPLICATION, stack : STACK, @@ -79,7 +79,7 @@ class BasicOracleBMCSDeployAtomicOperationConverterUnitSpec extends Specificatio def description = converter.convertDescription(input) then: - description instanceof BasicOracleBMCSDeployDescription + description instanceof BasicOracleDeployDescription when: def operation = converter.convertOperation(input) diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/CreateOracleBMCSLoadBalancerAtomicOperationConverterUnitSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/CreateOracleLoadBalancerAtomicOperationConverterUnitSpec.groovy similarity index 70% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/CreateOracleBMCSLoadBalancerAtomicOperationConverterUnitSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/CreateOracleLoadBalancerAtomicOperationConverterUnitSpec.groovy index c5ab62505e4..03f05ef9a28 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/CreateOracleBMCSLoadBalancerAtomicOperationConverterUnitSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/CreateOracleLoadBalancerAtomicOperationConverterUnitSpec.groovy @@ -6,28 +6,28 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.CreateLoadBalancerDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.CreateOracleBMCSLoadBalancerAtomicOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.CreateLoadBalancerDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.CreateOracleLoadBalancerAtomicOperation +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import spock.lang.Shared import spock.lang.Specification -class CreateOracleBMCSLoadBalancerAtomicOperationConverterUnitSpec extends Specification { +class CreateOracleLoadBalancerAtomicOperationConverterUnitSpec extends Specification { @Shared ObjectMapper mapper = new ObjectMapper() @Shared - CreateOracleBMCSLoadBalancerAtomicOperationConverter converter + CreateOracleLoadBalancerAtomicOperationConverter converter def setupSpec() { - this.converter = new CreateOracleBMCSLoadBalancerAtomicOperationConverter(objectMapper: mapper) + this.converter = new CreateOracleLoadBalancerAtomicOperationConverter(objectMapper: mapper) def accountCredentialsProvider = Mock(AccountCredentialsProvider) - def mockCredentials = Mock(OracleBMCSNamedAccountCredentials) + def mockCredentials = Mock(OracleNamedAccountCredentials) accountCredentialsProvider.getCredentials(_) >> mockCredentials converter.accountCredentialsProvider = accountCredentialsProvider } @@ -36,7 +36,8 @@ class CreateOracleBMCSLoadBalancerAtomicOperationConverterUnitSpec extends Speci setup: def input = [application: "foo", region : "us-phoenix-1", - accountName: "my-obmcs-acc", + accountName: "my-oracle" + + "-acc", stack : "bar", shape : "100Mbps", policy : "ROUND_ROBIN", @@ -66,6 +67,6 @@ class CreateOracleBMCSLoadBalancerAtomicOperationConverterUnitSpec extends Speci def operation = converter.convertOperation(input) then: - operation instanceof CreateOracleBMCSLoadBalancerAtomicOperation + operation instanceof CreateOracleLoadBalancerAtomicOperation } } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DestroyOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DestroyOracleServerGroupAtomicOperationConverterUnitSpec.groovy similarity index 62% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DestroyOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DestroyOracleServerGroupAtomicOperationConverterUnitSpec.groovy index a3c0632fbc5..2b61b43103c 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DestroyOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DestroyOracleServerGroupAtomicOperationConverterUnitSpec.groovy @@ -6,17 +6,17 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.DestroyOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.DestroyOracleBMCSServerGroupAtomicOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.DestroyOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.DestroyOracleServerGroupAtomicOperation +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import spock.lang.Shared import spock.lang.Specification -class DestroyOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Specification { +class DestroyOracleServerGroupAtomicOperationConverterUnitSpec extends Specification { private static final SERVER_GROUP_NAME = "spinnaker-test-v000" private static final ZONE = "us-central1-b" @@ -26,12 +26,12 @@ class DestroyOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Speci ObjectMapper mapper = new ObjectMapper() @Shared - DestroyOracleBMCSServerGroupAtomicOperationConverter converter + DestroyOracleServerGroupAtomicOperationConverter converter def setupSpec() { - this.converter = new DestroyOracleBMCSServerGroupAtomicOperationConverter(objectMapper: mapper) + this.converter = new DestroyOracleServerGroupAtomicOperationConverter(objectMapper: mapper) def accountCredentialsProvider = Mock(AccountCredentialsProvider) - def mockCredentials = Mock(OracleBMCSNamedAccountCredentials) + def mockCredentials = Mock(OracleNamedAccountCredentials) accountCredentialsProvider.getCredentials(_) >> mockCredentials converter.accountCredentialsProvider = accountCredentialsProvider } @@ -46,12 +46,12 @@ class DestroyOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Speci def description = converter.convertDescription(input) then: - description instanceof DestroyOracleBMCSServerGroupDescription + description instanceof DestroyOracleServerGroupDescription when: def operation = converter.convertOperation(input) then: - operation instanceof DestroyOracleBMCSServerGroupAtomicOperation + operation instanceof DestroyOracleServerGroupAtomicOperation } } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DisableOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DisableOracleServerGroupAtomicOperationConverterUnitSpec.groovy similarity index 57% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DisableOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DisableOracleServerGroupAtomicOperationConverterUnitSpec.groovy index e2252cc7df6..c79697ab93f 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/DisableOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/DisableOracleServerGroupAtomicOperationConverterUnitSpec.groovy @@ -6,17 +6,17 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.EnableDisableOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.DisableOracleBMCSServerGroupAtomicOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.EnableDisableOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.DisableOracleServerGroupAtomicOperation +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import spock.lang.Shared import spock.lang.Specification -class DisableOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Specification { +class DisableOracleServerGroupAtomicOperationConverterUnitSpec extends Specification { private static final SERVER_GROUP_NAME = "spinnaker-test-v000" @@ -27,17 +27,17 @@ class DisableOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Speci ObjectMapper mapper = new ObjectMapper() @Shared - DisableOracleBMCSServerGroupAtomicOperationConverter converter + DisableOracleServerGroupAtomicOperationConverter converter def setupSpec() { - this.converter = new DisableOracleBMCSServerGroupAtomicOperationConverter(objectMapper: mapper) + this.converter = new DisableOracleServerGroupAtomicOperationConverter(objectMapper: mapper) def accountCredentialsProvider = Mock(AccountCredentialsProvider) - def mockCredentials = Mock(OracleBMCSNamedAccountCredentials) + def mockCredentials = Mock(OracleNamedAccountCredentials) accountCredentialsProvider.getCredentials(_) >> mockCredentials converter.accountCredentialsProvider = accountCredentialsProvider } - void "disableOracleBMCSServerGroupDescription type returns EnableDisableOracleBMCSServerGroupDescription and DisableOracleBMCSServerGroupAtomicOperation"() { + void "disableOracleServerGroupDescription type returns EnableDisableOracleServerGroupDescription and DisableOracleServerGroupAtomicOperation"() { setup: def input = [serverGroupName: SERVER_GROUP_NAME, region : REGION, @@ -47,12 +47,12 @@ class DisableOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Speci def description = converter.convertDescription(input) then: - description instanceof EnableDisableOracleBMCSServerGroupDescription + description instanceof EnableDisableOracleServerGroupDescription when: def operation = converter.convertOperation(input) then: - operation instanceof DisableOracleBMCSServerGroupAtomicOperation + operation instanceof DisableOracleServerGroupAtomicOperation } } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/EnableOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/EnableOracleServerGroupAtomicOperationConverterUnitSpec.groovy similarity index 56% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/EnableOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/EnableOracleServerGroupAtomicOperationConverterUnitSpec.groovy index 5c4a3505545..81c686defd4 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/EnableOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/EnableOracleServerGroupAtomicOperationConverterUnitSpec.groovy @@ -6,17 +6,17 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.EnableDisableOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.EnableOracleBMCSServerGroupAtomicOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.EnableDisableOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.EnableOracleServerGroupAtomicOperation +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import spock.lang.Shared import spock.lang.Specification -class EnableOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Specification { +class EnableOracleServerGroupAtomicOperationConverterUnitSpec extends Specification { private static final SERVER_GROUP_NAME = "spinnaker-test-v000" @@ -27,17 +27,17 @@ class EnableOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Specif ObjectMapper mapper = new ObjectMapper() @Shared - EnableOracleBMCSServerGroupAtomicOperationConverter converter + EnableOracleServerGroupAtomicOperationConverter converter def setupSpec() { - this.converter = new EnableOracleBMCSServerGroupAtomicOperationConverter(objectMapper: mapper) + this.converter = new EnableOracleServerGroupAtomicOperationConverter(objectMapper: mapper) def accountCredentialsProvider = Mock(AccountCredentialsProvider) - def mockCredentials = Mock(OracleBMCSNamedAccountCredentials) + def mockCredentials = Mock(OracleNamedAccountCredentials) accountCredentialsProvider.getCredentials(_) >> mockCredentials converter.accountCredentialsProvider = accountCredentialsProvider } - void "enableOracleBMCSServerGroupDescription type returns EnableDisableOracleBMCSServerGroupDescription and EnableOracleBMCSServerGroupAtomicOperation"() { + void "enableOracleServerGroupDescription type returns EnableDisableOracleServerGroupDescription and EnableOracleServerGroupAtomicOperation"() { setup: def input = [serverGroupName: SERVER_GROUP_NAME, region : REGION, @@ -47,12 +47,12 @@ class EnableOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Specif def description = converter.convertDescription(input) then: - description instanceof EnableDisableOracleBMCSServerGroupDescription + description instanceof EnableDisableOracleServerGroupDescription when: def operation = converter.convertOperation(input) then: - operation instanceof EnableOracleBMCSServerGroupAtomicOperation + operation instanceof EnableOracleServerGroupAtomicOperation } } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/ResizeOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/ResizeOracleServerGroupAtomicOperationConverterUnitSpec.groovy similarity index 60% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/ResizeOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/ResizeOracleServerGroupAtomicOperationConverterUnitSpec.groovy index 321317c6c4e..0a696643472 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/converter/ResizeOracleBMCSServerGroupAtomicOperationConverterUnitSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/converter/ResizeOracleServerGroupAtomicOperationConverterUnitSpec.groovy @@ -6,17 +6,17 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.converter +package com.netflix.spinnaker.clouddriver.oracle.deploy.converter import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.ResizeOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op.ResizeOracleBMCSServerGroupAtomicOperation -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.ResizeOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.op.ResizeOracleServerGroupAtomicOperation +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import spock.lang.Shared import spock.lang.Specification -class ResizeOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Specification { +class ResizeOracleServerGroupAtomicOperationConverterUnitSpec extends Specification { private static final SERVER_GROUP_NAME = "spinnaker-test-v000" private static final TARGET_SIZE = 5 @@ -27,7 +27,7 @@ class ResizeOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Specif @Shared ObjectMapper mapper = new ObjectMapper() - void "resizeOracleBMCSServerGroupDescription type returns ResizeOracleBMCSServerGroupDescription and ResizeOracleBMCSServerGroupAtomicOperation"() { + void "resizeOracleServerGroupDescription type returns ResizeOracleServerGroupDescription and ResizeOracleServerGroupAtomicOperation"() { setup: def input = [serverGroupName: SERVER_GROUP_NAME, targetSize : TARGET_SIZE, @@ -35,11 +35,11 @@ class ResizeOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Specif zone : ZONE, accountName : ACCOUNT_NAME] - ResizeOracleBMCSServerGroupAtomicOperationConverter converter = - new ResizeOracleBMCSServerGroupAtomicOperationConverter(objectMapper: mapper) + ResizeOracleServerGroupAtomicOperationConverter converter = + new ResizeOracleServerGroupAtomicOperationConverter(objectMapper: mapper) def accountCredentialsProvider = Mock(AccountCredentialsProvider) - def mockCredentials = Mock(OracleBMCSNamedAccountCredentials) + def mockCredentials = Mock(OracleNamedAccountCredentials) accountCredentialsProvider.getCredentials(_) >> mockCredentials converter.accountCredentialsProvider = accountCredentialsProvider @@ -47,13 +47,13 @@ class ResizeOracleBMCSServerGroupAtomicOperationConverterUnitSpec extends Specif def description = converter.convertDescription(input) then: - description instanceof ResizeOracleBMCSServerGroupDescription + description instanceof ResizeOracleServerGroupDescription when: def operation = converter.convertOperation(input) then: - operation instanceof ResizeOracleBMCSServerGroupAtomicOperation + operation instanceof ResizeOracleServerGroupAtomicOperation } } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/handler/BasicOracleBMCSDeployHandlerSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/handler/BasicOracleDeployHandlerSpec.groovy similarity index 71% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/handler/BasicOracleBMCSDeployHandlerSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/handler/BasicOracleDeployHandlerSpec.groovy index 12aa15c16e1..f1235ff3c7e 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/handler/BasicOracleBMCSDeployHandlerSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/handler/BasicOracleDeployHandlerSpec.groovy @@ -6,18 +6,18 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.handler +package com.netflix.spinnaker.clouddriver.oracle.deploy.handler import com.netflix.spinnaker.clouddriver.data.task.Task import com.netflix.spinnaker.clouddriver.data.task.TaskRepository import com.netflix.spinnaker.clouddriver.deploy.DeployDescription import com.netflix.spinnaker.clouddriver.model.ServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.OracleBMCSWorkRequestPoller -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.BasicOracleBMCSDeployDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view.OracleBMCSClusterProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService +import com.netflix.spinnaker.clouddriver.oracle.deploy.OracleWorkRequestPoller +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.BasicOracleDeployDescription +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.provider.view.OracleClusterProvider +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService import com.oracle.bmc.core.ComputeClient import com.oracle.bmc.core.VirtualNetworkClient import com.oracle.bmc.loadbalancer.LoadBalancerClient @@ -30,27 +30,27 @@ import com.oracle.bmc.loadbalancer.responses.GetLoadBalancerResponse import com.oracle.bmc.loadbalancer.responses.UpdateListenerResponse import spock.lang.Specification -class BasicOracleBMCSDeployHandlerSpec extends Specification { +class BasicOracleDeployHandlerSpec extends Specification { def "Handles correct description"(def desc, def result) { setup: - def handler = new BasicOracleBMCSDeployHandler() + def handler = new BasicOracleDeployHandler() expect: handler.handles(desc) == result where: desc || result - new BasicOracleBMCSDeployDescription() || true + new BasicOracleDeployDescription() || true Mock(DeployDescription) || false } def "Create server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.compartmentId >> "ocid.compartment.123" TaskRepository.threadLocalTask.set(Mock(Task)) - def desc = new BasicOracleBMCSDeployDescription() + def desc = new BasicOracleDeployDescription() desc.credentials = creds desc.capacity = new ServerGroup.Capacity(desired: 3) desc.application = "foo" @@ -63,12 +63,12 @@ class BasicOracleBMCSDeployHandlerSpec extends Specification { creds.computeClient >> computeClient def networkClient = Mock(VirtualNetworkClient) creds.networkClient >> networkClient - GroovySpy(OracleBMCSWorkRequestPoller, global: true) - def sgService = Mock(OracleBMCSServerGroupService) - def sg = new OracleBMCSServerGroup(launchConfig: ["createdTime": System.currentTimeMillis()]) - def handler = new BasicOracleBMCSDeployHandler() - handler.oracleBMCSServerGroupService = sgService - def sgProvider = Mock(OracleBMCSClusterProvider) + GroovySpy(OracleWorkRequestPoller, global: true) + def sgService = Mock(OracleServerGroupService) + def sg = new OracleServerGroup(launchConfig: ["createdTime": System.currentTimeMillis()]) + def handler = new BasicOracleDeployHandler() + handler.oracleServerGroupService = sgService + def sgProvider = Mock(OracleClusterProvider) handler.clusterProvider = sgProvider def sgViewMock = Mock(ServerGroup) def instanceCounts = new ServerGroup.InstanceCounts() @@ -93,7 +93,7 @@ class BasicOracleBMCSDeployHandlerSpec extends Specification { .build()]).build()).build() 1 * loadBalancerClient.createBackendSet(_) >> CreateBackendSetResponse.builder().build() 1 * loadBalancerClient.updateListener(_) >> UpdateListenerResponse.builder().opcWorkRequestId("wr1").build() - 2 * OracleBMCSWorkRequestPoller.poll(_, _, _, loadBalancerClient) >> null + 2 * OracleWorkRequestPoller.poll(_, _, _, loadBalancerClient) >> null 1 * sgProvider.getServerGroup(_, _, _) >> sgViewMock sgViewMock.instanceCounts >> instanceCounts } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/CreateOracleBMCSLoadBalancerAtomicOperationSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/CreateOracleLoadBalancerAtomicOperationSpec.groovy similarity index 65% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/CreateOracleBMCSLoadBalancerAtomicOperationSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/CreateOracleLoadBalancerAtomicOperationSpec.groovy index 40d2e5be27c..1773a8aa537 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/CreateOracleBMCSLoadBalancerAtomicOperationSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/CreateOracleLoadBalancerAtomicOperationSpec.groovy @@ -6,34 +6,34 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op +package com.netflix.spinnaker.clouddriver.oracle.deploy.op import com.netflix.spinnaker.clouddriver.data.task.Task import com.netflix.spinnaker.clouddriver.data.task.TaskRepository -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.OracleBMCSWorkRequestPoller -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.CreateLoadBalancerDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.deploy.OracleWorkRequestPoller +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.CreateLoadBalancerDescription +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.loadbalancer.LoadBalancerClient import com.oracle.bmc.loadbalancer.responses.CreateLoadBalancerResponse import spock.lang.Specification -class CreateOracleBMCSLoadBalancerAtomicOperationSpec extends Specification { +class CreateOracleLoadBalancerAtomicOperationSpec extends Specification { def "Create load balancer"() { setup: def desc = new CreateLoadBalancerDescription() desc.application = "foo" desc.stack = "dev" - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) def loadBalancerClient = Mock(LoadBalancerClient) creds.loadBalancerClient >> loadBalancerClient desc.credentials = creds desc.healthCheck = new CreateLoadBalancerDescription.HealthCheck() desc.listener = new CreateLoadBalancerDescription.Listener() - GroovySpy(OracleBMCSWorkRequestPoller, global: true) + GroovySpy(OracleWorkRequestPoller, global: true) TaskRepository.threadLocalTask.set(Mock(Task)) - def op = new CreateOracleBMCSLoadBalancerAtomicOperation(desc) + def op = new CreateOracleLoadBalancerAtomicOperation(desc) when: op.operate(null) @@ -41,7 +41,7 @@ class CreateOracleBMCSLoadBalancerAtomicOperationSpec extends Specification { then: 1 * loadBalancerClient.createLoadBalancer(_) >> CreateLoadBalancerResponse.builder().opcWorkRequestId("wr1").build() - 1 * OracleBMCSWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null + 1 * OracleWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null } } diff --git a/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/DestroyOracleServerGroupAtomicOperationSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/DestroyOracleServerGroupAtomicOperationSpec.groovy new file mode 100644 index 00000000000..71dc98dc108 --- /dev/null +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/DestroyOracleServerGroupAtomicOperationSpec.groovy @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2017 Oracle America, Inc. + * + * The contents of this file are subject to the Apache License Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * If a copy of the Apache License Version 2.0 was not distributed with this file, + * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html + */ +package com.netflix.spinnaker.clouddriver.oracle.deploy.op + +import com.netflix.spinnaker.clouddriver.data.task.Task +import com.netflix.spinnaker.clouddriver.data.task.TaskRepository +import com.netflix.spinnaker.clouddriver.oracle.deploy.OracleWorkRequestPoller +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.DestroyOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService +import com.oracle.bmc.loadbalancer.LoadBalancerClient +import com.oracle.bmc.loadbalancer.responses.DeleteBackendSetResponse +import spock.lang.Specification + +class DestroyOracleServerGroupAtomicOperationSpec extends Specification { + + def "Triggers destroying of a server group"() { + setup: + def destroyDesc = new DestroyOracleServerGroupDescription() + destroyDesc.serverGroupName = "sg1" + def creds = Mock(OracleNamedAccountCredentials) + def loadBalancerClient = Mock(LoadBalancerClient) + creds.loadBalancerClient >> loadBalancerClient + destroyDesc.credentials = creds + TaskRepository.threadLocalTask.set(Mock(Task)) + def sgService = Mock(OracleServerGroupService) + DestroyOracleServerGroupAtomicOperation op = new DestroyOracleServerGroupAtomicOperation(destroyDesc) + op.oracleServerGroupService = sgService + GroovySpy(OracleWorkRequestPoller, global: true) + + + when: + op.operate(null) + + then: + 1 * sgService.destroyServerGroup(_, _, "sg1") + 1 * sgService.getServerGroup(_, _, "sg1") >> new OracleServerGroup(loadBalancerId: "ocid.lb.oc1..12345") + 1 * loadBalancerClient.deleteBackendSet(_) >> DeleteBackendSetResponse.builder().opcWorkRequestId("wr1").build() + 1 * OracleWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null + } +} diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/DisableOracleBMCSServerGroupAtomicOperationSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/DisableOracleServerGroupAtomicOperationSpec.groovy similarity index 56% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/DisableOracleBMCSServerGroupAtomicOperationSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/DisableOracleServerGroupAtomicOperationSpec.groovy index 94bf79ee409..7711f46b30c 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/DisableOracleBMCSServerGroupAtomicOperationSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/DisableOracleServerGroupAtomicOperationSpec.groovy @@ -6,16 +6,16 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op +package com.netflix.spinnaker.clouddriver.oracle.deploy.op import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.clouddriver.data.task.Task import com.netflix.spinnaker.clouddriver.data.task.TaskRepository -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.OracleBMCSWorkRequestPoller -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.EnableDisableOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService +import com.netflix.spinnaker.clouddriver.oracle.deploy.OracleWorkRequestPoller +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.EnableDisableOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService import com.oracle.bmc.loadbalancer.LoadBalancerClient import com.oracle.bmc.loadbalancer.model.Listener import com.oracle.bmc.loadbalancer.model.LoadBalancer @@ -23,22 +23,22 @@ import com.oracle.bmc.loadbalancer.responses.GetLoadBalancerResponse import com.oracle.bmc.loadbalancer.responses.UpdateListenerResponse import spock.lang.Specification -class DisableOracleBMCSServerGroupAtomicOperationSpec extends Specification { +class DisableOracleServerGroupAtomicOperationSpec extends Specification { def "Triggers disabling of a server group"() { setup: - def disableDesc = new EnableDisableOracleBMCSServerGroupDescription() + def disableDesc = new EnableDisableOracleServerGroupDescription() disableDesc.serverGroupName = "sg1" - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) def loadBalancerClient = Mock(LoadBalancerClient) creds.loadBalancerClient >> loadBalancerClient disableDesc.credentials = creds - GroovySpy(OracleBMCSWorkRequestPoller, global: true) + GroovySpy(OracleWorkRequestPoller, global: true) TaskRepository.threadLocalTask.set(Mock(Task)) - def sgService = Mock(OracleBMCSServerGroupService) - DisableOracleBMCSServerGroupAtomicOperation op = new DisableOracleBMCSServerGroupAtomicOperation(disableDesc) - op.oracleBMCSServerGroupService = sgService + def sgService = Mock(OracleServerGroupService) + DisableOracleServerGroupAtomicOperation op = new DisableOracleServerGroupAtomicOperation(disableDesc) + op.oracleServerGroupService = sgService op.objectMapper = new ObjectMapper() @@ -47,9 +47,9 @@ class DisableOracleBMCSServerGroupAtomicOperationSpec extends Specification { then: 1 * sgService.disableServerGroup(_, _, "sg1") - 1 * sgService.getServerGroup(_, _, "sg1") >> new OracleBMCSServerGroup(loadBalancerId: "ocid.lb.oc1..12345") + 1 * sgService.getServerGroup(_, _, "sg1") >> new OracleServerGroup(loadBalancerId: "ocid.lb.oc1..12345") 1 * loadBalancerClient.getLoadBalancer(_) >> GetLoadBalancerResponse.builder().loadBalancer(LoadBalancer.builder().listeners(["sg1": Listener.builder().name("sg1").build()]).build()).build() 1 * loadBalancerClient.updateListener(_) >> UpdateListenerResponse.builder().opcWorkRequestId("wr1").build() - 1 * OracleBMCSWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null + 1 * OracleWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null } } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/EnableOracleBMCSServerGroupAtomicOperationSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/EnableOracleServerGroupAtomicOperationSpec.groovy similarity index 57% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/EnableOracleBMCSServerGroupAtomicOperationSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/EnableOracleServerGroupAtomicOperationSpec.groovy index f26d3d14dd9..b3798cfe01c 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/EnableOracleBMCSServerGroupAtomicOperationSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/EnableOracleServerGroupAtomicOperationSpec.groovy @@ -6,16 +6,16 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op +package com.netflix.spinnaker.clouddriver.oracle.deploy.op import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.clouddriver.data.task.Task import com.netflix.spinnaker.clouddriver.data.task.TaskRepository -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.OracleBMCSWorkRequestPoller -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.EnableDisableOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService +import com.netflix.spinnaker.clouddriver.oracle.deploy.OracleWorkRequestPoller +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.EnableDisableOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService import com.oracle.bmc.loadbalancer.LoadBalancerClient import com.oracle.bmc.loadbalancer.model.Listener import com.oracle.bmc.loadbalancer.model.LoadBalancer @@ -23,22 +23,22 @@ import com.oracle.bmc.loadbalancer.responses.GetLoadBalancerResponse import com.oracle.bmc.loadbalancer.responses.UpdateListenerResponse import spock.lang.Specification -class EnableOracleBMCSServerGroupAtomicOperationSpec extends Specification { +class EnableOracleServerGroupAtomicOperationSpec extends Specification { def "Triggers enabling of a server group"() { setup: - def enableDesc = new EnableDisableOracleBMCSServerGroupDescription() + def enableDesc = new EnableDisableOracleServerGroupDescription() enableDesc.serverGroupName = "sg1" - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) def loadBalancerClient = Mock(LoadBalancerClient) creds.loadBalancerClient >> loadBalancerClient enableDesc.credentials = creds - GroovySpy(OracleBMCSWorkRequestPoller, global: true) + GroovySpy(OracleWorkRequestPoller, global: true) TaskRepository.threadLocalTask.set(Mock(Task)) - def sgService = Mock(OracleBMCSServerGroupService) - EnableOracleBMCSServerGroupAtomicOperation op = new EnableOracleBMCSServerGroupAtomicOperation(enableDesc) - op.oracleBMCSServerGroupService = sgService + def sgService = Mock(OracleServerGroupService) + EnableOracleServerGroupAtomicOperation op = new EnableOracleServerGroupAtomicOperation(enableDesc) + op.oracleServerGroupService = sgService op.objectMapper = new ObjectMapper() when: @@ -46,12 +46,12 @@ class EnableOracleBMCSServerGroupAtomicOperationSpec extends Specification { then: 1 * sgService.enableServerGroup(_, _, "sg1") - 1 * sgService.getServerGroup(_, _, "sg1") >> new OracleBMCSServerGroup(loadBalancerId: "ocid.lb.oc1..12345") + 1 * sgService.getServerGroup(_, _, "sg1") >> new OracleServerGroup(loadBalancerId: "ocid.lb.oc1..12345") 1 * loadBalancerClient.getLoadBalancer(_) >> GetLoadBalancerResponse.builder() .loadBalancer(LoadBalancer.builder() .listeners(["sg1": Listener.builder() .defaultBackendSetName("sg1-old").build()]).build()).build() 1 * loadBalancerClient.updateListener(_) >> UpdateListenerResponse.builder().opcWorkRequestId("wr1").build() - 1 * OracleBMCSWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null + 1 * OracleWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null } } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/ResizeOracleBMCSServerGroupAtomicOperationSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/ResizeOracleServerGroupAtomicOperationSpec.groovy similarity index 62% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/ResizeOracleBMCSServerGroupAtomicOperationSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/ResizeOracleServerGroupAtomicOperationSpec.groovy index a41b6fc76f3..084cdb59e49 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/op/ResizeOracleBMCSServerGroupAtomicOperationSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/op/ResizeOracleServerGroupAtomicOperationSpec.groovy @@ -6,17 +6,17 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.op +package com.netflix.spinnaker.clouddriver.oracle.deploy.op import com.netflix.spinnaker.clouddriver.data.task.Task import com.netflix.spinnaker.clouddriver.data.task.TaskRepository import com.netflix.spinnaker.clouddriver.model.ServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.OracleBMCSWorkRequestPoller -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.ResizeOracleBMCSServerGroupDescription -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view.OracleBMCSClusterProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService +import com.netflix.spinnaker.clouddriver.oracle.deploy.OracleWorkRequestPoller +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.ResizeOracleServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.provider.view.OracleClusterProvider +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService import com.oracle.bmc.core.ComputeClient import com.oracle.bmc.core.VirtualNetworkClient import com.oracle.bmc.loadbalancer.LoadBalancerClient @@ -27,14 +27,14 @@ import com.oracle.bmc.loadbalancer.responses.GetLoadBalancerResponse import com.oracle.bmc.loadbalancer.responses.UpdateBackendSetResponse import spock.lang.Specification -class ResizeOracleBMCSServerGroupAtomicOperationSpec extends Specification { +class ResizeOracleServerGroupAtomicOperationSpec extends Specification { def "Resize server group"() { setup: - def resizeDesc = new ResizeOracleBMCSServerGroupDescription() + def resizeDesc = new ResizeOracleServerGroupDescription() resizeDesc.serverGroupName = "sg1" resizeDesc.capacity = new ServerGroup.Capacity(desired: 3) - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) def loadBalancerClient = Mock(LoadBalancerClient) creds.loadBalancerClient >> loadBalancerClient def computeClient = Mock(ComputeClient) @@ -42,15 +42,15 @@ class ResizeOracleBMCSServerGroupAtomicOperationSpec extends Specification { def networkClient = Mock(VirtualNetworkClient) creds.networkClient >> networkClient resizeDesc.credentials = creds - GroovySpy(OracleBMCSWorkRequestPoller, global: true) + GroovySpy(OracleWorkRequestPoller, global: true) TaskRepository.threadLocalTask.set(Mock(Task)) - def sgService = Mock(OracleBMCSServerGroupService) - ResizeOracleBMCSServerGroupAtomicOperation op = new ResizeOracleBMCSServerGroupAtomicOperation(resizeDesc) - op.oracleBMCSServerGroupService = sgService + def sgService = Mock(OracleServerGroupService) + ResizeOracleServerGroupAtomicOperation op = new ResizeOracleServerGroupAtomicOperation(resizeDesc) + op.oracleServerGroupService = sgService - def sgProvider = Mock(OracleBMCSClusterProvider) + def sgProvider = Mock(OracleClusterProvider) op.clusterProvider = sgProvider def sgViewMock = Mock(ServerGroup) def instanceCounts = new ServerGroup.InstanceCounts() @@ -62,14 +62,14 @@ class ResizeOracleBMCSServerGroupAtomicOperationSpec extends Specification { then: 1 * sgService.resizeServerGroup(_, _, "sg1", 3) - 1 * sgService.getServerGroup(_, _, "sg1") >> new OracleBMCSServerGroup(loadBalancerId: "ocid.lb.oc1..12345", name: "sg1", credentials: creds) + 1 * sgService.getServerGroup(_, _, "sg1") >> new OracleServerGroup(loadBalancerId: "ocid.lb.oc1..12345", name: "sg1", credentials: creds) 1 * loadBalancerClient.getLoadBalancer(_) >> GetLoadBalancerResponse.builder() .loadBalancer(LoadBalancer.builder() .backendSets(["sg1-template": BackendSet.builder() .healthChecker(HealthChecker.builder().build()) .build()]).build()).build() 1 * loadBalancerClient.updateBackendSet(_) >> UpdateBackendSetResponse.builder().opcWorkRequestId("wr1").build() - 1 * OracleBMCSWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null + 1 * OracleWorkRequestPoller.poll("wr1", _, _, loadBalancerClient) >> null 1 * sgProvider.getServerGroup(_, _, _) >> sgViewMock sgViewMock.instanceCounts >> instanceCounts } diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/DestroyOracleBMCSServerGroupDescriptionValidatorSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/DestroyOracleServerGroupDescriptionValidatorSpec.groovy similarity index 70% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/DestroyOracleBMCSServerGroupDescriptionValidatorSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/DestroyOracleServerGroupDescriptionValidatorSpec.groovy index 4ffcacda66c..ae4a185174a 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/DestroyOracleBMCSServerGroupDescriptionValidatorSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/DestroyOracleServerGroupDescriptionValidatorSpec.groovy @@ -6,25 +6,25 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.validator +package com.netflix.spinnaker.clouddriver.oracle.deploy.validator -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.DestroyOracleBMCSServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.DestroyOracleServerGroupDescription import org.springframework.validation.Errors import spock.lang.Shared import spock.lang.Specification -class DestroyOracleBMCSServerGroupDescriptionValidatorSpec extends Specification { +class DestroyOracleServerGroupDescriptionValidatorSpec extends Specification { @Shared - DestroyOracleBMCSServerGroupDescriptionValidator validator + DestroyOracleServerGroupDescriptionValidator validator void setupSpec() { - validator = new DestroyOracleBMCSServerGroupDescriptionValidator() + validator = new DestroyOracleServerGroupDescriptionValidator() } void "invalid description fails validation"() { setup: - def description = new DestroyOracleBMCSServerGroupDescription() + def description = new DestroyOracleServerGroupDescription() def errors = Mock(Errors) when: @@ -38,7 +38,7 @@ class DestroyOracleBMCSServerGroupDescriptionValidatorSpec extends Specification void "valid description passes validation"() { setup: - def description = new DestroyOracleBMCSServerGroupDescription( + def description = new DestroyOracleServerGroupDescription( accountName: "DEFAULT", region: "us-phoenix-1", serverGroupName: "my-group-01" diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/EnableDisableOracleBMCSServerGroupDescriptionValidatorSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/EnableDisableOracleServerGroupDescriptionValidatorSpec.groovy similarity index 66% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/EnableDisableOracleBMCSServerGroupDescriptionValidatorSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/EnableDisableOracleServerGroupDescriptionValidatorSpec.groovy index 5f221cacfea..89fa8e72a41 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/EnableDisableOracleBMCSServerGroupDescriptionValidatorSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/EnableDisableOracleServerGroupDescriptionValidatorSpec.groovy @@ -6,25 +6,25 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.validator +package com.netflix.spinnaker.clouddriver.oracle.deploy.validator -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.EnableDisableOracleBMCSServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.EnableDisableOracleServerGroupDescription import org.springframework.validation.Errors import spock.lang.Shared import spock.lang.Specification -class EnableDisableOracleBMCSServerGroupDescriptionValidatorSpec extends Specification { +class EnableDisableOracleServerGroupDescriptionValidatorSpec extends Specification { @Shared - EnableDisableOracleBMCSServerGroupDescriptionValidator validator + EnableDisableOracleServerGroupDescriptionValidator validator void setupSpec() { - validator = new EnableDisableOracleBMCSServerGroupDescriptionValidator() + validator = new EnableDisableOracleServerGroupDescriptionValidator() } void "invalid description fails validation"() { setup: - def description = new EnableDisableOracleBMCSServerGroupDescription() + def description = new EnableDisableOracleServerGroupDescription() def errors = Mock(Errors) when: @@ -37,7 +37,7 @@ class EnableDisableOracleBMCSServerGroupDescriptionValidatorSpec extends Specifi void "valid description passes validation"() { setup: - def description = new EnableDisableOracleBMCSServerGroupDescription( + def description = new EnableDisableOracleServerGroupDescription( region: "us-phoenix-1", accountName: "DEFAULT" ) diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/ResizeOracleBMCSServerGroupDescriptionValidatorSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/ResizeOracleServerGroupDescriptionValidatorSpec.groovy similarity index 70% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/ResizeOracleBMCSServerGroupDescriptionValidatorSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/ResizeOracleServerGroupDescriptionValidatorSpec.groovy index 4266e787540..c0770512e03 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/ResizeOracleBMCSServerGroupDescriptionValidatorSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/ResizeOracleServerGroupDescriptionValidatorSpec.groovy @@ -6,24 +6,24 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.validator +package com.netflix.spinnaker.clouddriver.oracle.deploy.validator -import com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.description.ResizeOracleBMCSServerGroupDescription +import com.netflix.spinnaker.clouddriver.oracle.deploy.description.ResizeOracleServerGroupDescription import org.springframework.validation.Errors import spock.lang.Shared import spock.lang.Specification -class ResizeOracleBMCSServerGroupDescriptionValidatorSpec extends Specification { +class ResizeOracleServerGroupDescriptionValidatorSpec extends Specification { - @Shared ResizeOracleBMCSServerGroupDescriptionValidator validator + @Shared ResizeOracleServerGroupDescriptionValidator validator void setupSpec() { - validator = new ResizeOracleBMCSServerGroupDescriptionValidator() + validator = new ResizeOracleServerGroupDescriptionValidator() } void "invalid description fails validation"() { setup: - def description = new ResizeOracleBMCSServerGroupDescription() + def description = new ResizeOracleServerGroupDescription() def errors = Mock(Errors) when: @@ -37,7 +37,7 @@ class ResizeOracleBMCSServerGroupDescriptionValidatorSpec extends Specification void "pass validation with proper description inputs"() { setup: - def description = new ResizeOracleBMCSServerGroupDescription( + def description = new ResizeOracleServerGroupDescription( serverGroupName: "spinnaker-test-v000", region: "us-phoenix-1", accountName: "DEFAULT" diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/StandardOracleBMCSAttributeValidatorSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/StandardOracleAttributeValidatorSpec.groovy similarity index 78% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/StandardOracleBMCSAttributeValidatorSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/StandardOracleAttributeValidatorSpec.groovy index 72a9b5beb02..54c31126795 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/deploy/validator/StandardOracleBMCSAttributeValidatorSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/deploy/validator/StandardOracleAttributeValidatorSpec.groovy @@ -6,17 +6,17 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.deploy.validator +package com.netflix.spinnaker.clouddriver.oracle.deploy.validator import org.springframework.validation.Errors import spock.lang.Specification -class StandardOracleBMCSAttributeValidatorSpec extends Specification { +class StandardOracleAttributeValidatorSpec extends Specification { void "validateNotEmptyString ok"() { setup: def errors = Mock(Errors) - def validator = new StandardOracleBMCSAttributeValidator("context", errors) + def validator = new StandardOracleAttributeValidator("context", errors) when: validator.validateNotEmptyString("DEFAULT", "accountName") diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSImageCachingAgentSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleImageCachingAgentSpec.groovy similarity index 78% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSImageCachingAgentSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleImageCachingAgentSpec.groovy index f68d0954652..73705708c3c 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSImageCachingAgentSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleImageCachingAgentSpec.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.Region import com.oracle.bmc.core.ComputeClient import com.oracle.bmc.core.model.Image @@ -20,21 +20,21 @@ import com.oracle.bmc.core.responses.ListShapesResponse import spock.lang.Shared import spock.lang.Specification -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.IMAGES +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.IMAGES -class OracleBMCSImageCachingAgentSpec extends Specification { +class OracleImageCachingAgentSpec extends Specification { @Shared ObjectMapper objectMapper = new ObjectMapper() def "agent has correct agentType"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.compartmentId = "bar" creds.region = Region.US_PHOENIX_1.regionId - def agent = new OracleBMCSImageCachingAgent("", creds, objectMapper) - def expectedAgentType = "${creds.name}/${creds.region}/${OracleBMCSImageCachingAgent.class.simpleName}" + def agent = new OracleImageCachingAgent("", creds, objectMapper) + def expectedAgentType = "${creds.name}/${creds.region}/${OracleImageCachingAgent.class.simpleName}" when: def agentType = agent.getAgentType() @@ -45,11 +45,11 @@ class OracleBMCSImageCachingAgentSpec extends Specification { def "agent handles null items in listImages rsp"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) def computeClient = Mock(ComputeClient) computeClient.listImages(_) >> ListImagesResponse.builder().build() creds.computeClient >> computeClient - def agent = new OracleBMCSImageCachingAgent("", creds, objectMapper) + def agent = new OracleImageCachingAgent("", creds, objectMapper) when: def cacheResult = agent.loadData(null) @@ -61,7 +61,7 @@ class OracleBMCSImageCachingAgentSpec extends Specification { def "agent creates correct cache result item, filtering out unavailable images and adding shapes"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.region = Region.US_PHOENIX_1.regionId def computeClient = Mock(ComputeClient) @@ -76,7 +76,7 @@ class OracleBMCSImageCachingAgentSpec extends Specification { computeClient.listImages(_) >> ListImagesResponse.builder().items(images).build() computeClient.listShapes(_) >> ListShapesResponse.builder().items(shapes).build() creds.computeClient >> computeClient - def agent = new OracleBMCSImageCachingAgent("", creds, objectMapper) + def agent = new OracleImageCachingAgent("", creds, objectMapper) when: def cacheResult = agent.loadData(null) diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSInstanceCachingAgentSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleInstanceCachingAgentSpec.groovy similarity index 77% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSInstanceCachingAgentSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleInstanceCachingAgentSpec.groovy index b7ac403216d..da0c2197b27 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSInstanceCachingAgentSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleInstanceCachingAgentSpec.groovy @@ -7,11 +7,11 @@ * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.Region import com.oracle.bmc.core.ComputeClient import com.oracle.bmc.core.model.Instance @@ -19,21 +19,21 @@ import com.oracle.bmc.core.responses.ListInstancesResponse import spock.lang.Shared import spock.lang.Specification -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.INSTANCES +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.INSTANCES -class OracleBMCSInstanceCachingAgentSpec extends Specification { +class OracleInstanceCachingAgentSpec extends Specification { @Shared ObjectMapper objectMapper = new ObjectMapper() def "agent has correct agentType"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.compartmentId = "bar" creds.region = Region.US_PHOENIX_1.regionId - def agent = new OracleBMCSInstanceCachingAgent("", creds, objectMapper) - def expectedAgentType = "${creds.name}/${creds.region}/${OracleBMCSInstanceCachingAgent.class.simpleName}" + def agent = new OracleInstanceCachingAgent("", creds, objectMapper) + def expectedAgentType = "${creds.name}/${creds.region}/${OracleInstanceCachingAgent.class.simpleName}" when: def agentType = agent.getAgentType() @@ -44,11 +44,11 @@ class OracleBMCSInstanceCachingAgentSpec extends Specification { def "agent handles null items in listNetworks rsp"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) def computeClient = Mock(ComputeClient) computeClient.listInstances(_) >> ListInstancesResponse.builder().build() creds.computeClient >> computeClient - def agent = new OracleBMCSInstanceCachingAgent("", creds, objectMapper) + def agent = new OracleInstanceCachingAgent("", creds, objectMapper) when: def cacheResult = agent.loadData(null) @@ -60,7 +60,7 @@ class OracleBMCSInstanceCachingAgentSpec extends Specification { def "agent creates correct cache result items"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.region = Region.US_PHOENIX_1.regionId def computeClient = Mock(ComputeClient) @@ -73,7 +73,7 @@ class OracleBMCSInstanceCachingAgentSpec extends Specification { computeClient.listInstances(_) >> ListInstancesResponse.builder().items(instances).build() creds.computeClient >> computeClient - def agent = new OracleBMCSInstanceCachingAgent("", creds, objectMapper) + def agent = new OracleInstanceCachingAgent("", creds, objectMapper) when: def cacheResult = agent.loadData(null) diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSNetworkCachingAgentSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleNetworkCachingAgentSpec.groovy similarity index 80% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSNetworkCachingAgentSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleNetworkCachingAgentSpec.groovy index edcd00a13ab..0a5f5f58343 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSNetworkCachingAgentSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleNetworkCachingAgentSpec.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.Region import com.oracle.bmc.core.VirtualNetworkClient import com.oracle.bmc.core.model.Vcn @@ -18,19 +18,19 @@ import com.oracle.bmc.core.responses.ListVcnsResponse import spock.lang.Shared import spock.lang.Specification -class OracleBMCSNetworkCachingAgentSpec extends Specification { +class OracleNetworkCachingAgentSpec extends Specification { @Shared ObjectMapper objectMapper = new ObjectMapper() def "agent has correct agentType"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.compartmentId = "bar" creds.region = Region.US_PHOENIX_1.regionId - def agent = new OracleBMCSNetworkCachingAgent("", creds, objectMapper) - def expectedAgentType = "${creds.name}/${creds.region}/${OracleBMCSNetworkCachingAgent.class.simpleName}" + def agent = new OracleNetworkCachingAgent("", creds, objectMapper) + def expectedAgentType = "${creds.name}/${creds.region}/${OracleNetworkCachingAgent.class.simpleName}" when: def agentType = agent.getAgentType() @@ -41,11 +41,11 @@ class OracleBMCSNetworkCachingAgentSpec extends Specification { def "agent handles null items in listNetworks rsp"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) def networkClient = Mock(VirtualNetworkClient) networkClient.listVcns(_) >> ListVcnsResponse.builder().build() creds.networkClient >> networkClient - def agent = new OracleBMCSNetworkCachingAgent("", creds, objectMapper) + def agent = new OracleNetworkCachingAgent("", creds, objectMapper) when: def cacheResult = agent.loadData(null) @@ -57,7 +57,7 @@ class OracleBMCSNetworkCachingAgentSpec extends Specification { def "agent creates correct cache result item, filtering out unavailable vcns"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.region = Region.US_PHOENIX_1.regionId def networkClient = Mock(VirtualNetworkClient) @@ -73,7 +73,7 @@ class OracleBMCSNetworkCachingAgentSpec extends Specification { networkClient.listVcns(_) >> ListVcnsResponse.builder().items(vcns).build() creds.networkClient >> networkClient - def agent = new OracleBMCSNetworkCachingAgent("", creds, objectMapper) + def agent = new OracleNetworkCachingAgent("", creds, objectMapper) when: def cacheResult = agent.loadData(null) diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSecurityGroupCachingAgentSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSecurityGroupCachingAgentSpec.groovy similarity index 80% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSecurityGroupCachingAgentSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSecurityGroupCachingAgentSpec.groovy index 8623a3c0d18..5f74321711d 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSecurityGroupCachingAgentSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSecurityGroupCachingAgentSpec.groovy @@ -6,12 +6,12 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spectator.api.Registry -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.Region import com.oracle.bmc.core.VirtualNetworkClient import com.oracle.bmc.core.model.SecurityList @@ -21,20 +21,20 @@ import com.oracle.bmc.core.responses.ListVcnsResponse import spock.lang.Shared import spock.lang.Specification -class OracleBMCSSecurityGroupCachingAgentSpec extends Specification { +class OracleSecurityGroupCachingAgentSpec extends Specification { @Shared ObjectMapper objectMapper = new ObjectMapper() def "agent has correct agentType"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.compartmentId = "bar" creds.region = Region.US_PHOENIX_1.regionId def registry = Mock(Registry) - def agent = new OracleBMCSSecurityGroupCachingAgent("", creds, objectMapper, registry) - def expectedAgentType = "${creds.name}/${creds.region}/${OracleBMCSSecurityGroupCachingAgent.class.simpleName}" + def agent = new OracleSecurityGroupCachingAgent("", creds, objectMapper, registry) + def expectedAgentType = "${creds.name}/${creds.region}/${OracleSecurityGroupCachingAgent.class.simpleName}" when: def agentType = agent.getAgentType() @@ -45,12 +45,12 @@ class OracleBMCSSecurityGroupCachingAgentSpec extends Specification { def "agent handles null items in list rsp"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) def registry = Mock(Registry) def networkClient = Mock(VirtualNetworkClient) networkClient.listVcns(_) >> ListVcnsResponse.builder().build() creds.networkClient >> networkClient - def agent = new OracleBMCSSecurityGroupCachingAgent("", creds, objectMapper, registry) + def agent = new OracleSecurityGroupCachingAgent("", creds, objectMapper, registry) when: def cacheResult = agent.loadData(null) @@ -62,7 +62,7 @@ class OracleBMCSSecurityGroupCachingAgentSpec extends Specification { def "agent creates correct cache result items"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.region = Region.US_PHOENIX_1.regionId def registry = Mock(Registry) @@ -78,7 +78,7 @@ class OracleBMCSSecurityGroupCachingAgentSpec extends Specification { networkClient.listVcns(_) >> ListVcnsResponse.builder().items(vcns).build() networkClient.listSecurityLists(_) >> ListSecurityListsResponse.builder().items(secLists).build() creds.networkClient >> networkClient - def agent = new OracleBMCSSecurityGroupCachingAgent("", creds, objectMapper, registry) + def agent = new OracleSecurityGroupCachingAgent("", creds, objectMapper, registry) when: def cacheResult = agent.loadData(null) diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSServerGroupCachingAgentSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleServerGroupCachingAgentSpec.groovy similarity index 63% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSServerGroupCachingAgentSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleServerGroupCachingAgentSpec.groovy index bebede1995a..186e578afca 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSServerGroupCachingAgentSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleServerGroupCachingAgentSpec.groovy @@ -6,30 +6,30 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials -import com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup.OracleBMCSServerGroupService +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.service.servergroup.OracleServerGroupService import com.oracle.bmc.Region import spock.lang.Shared import spock.lang.Specification -class OracleBMCSServerGroupCachingAgentSpec extends Specification { +class OracleServerGroupCachingAgentSpec extends Specification { @Shared ObjectMapper objectMapper = new ObjectMapper() def "agent has correct agentType"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name >> "foo" creds.compartmentId >> "bar" creds.region >> Region.US_PHOENIX_1.regionId - def agent = new OracleBMCSServerGroupCachingAgent("", creds, objectMapper, null) - def expectedAgentType = "${creds.name}/${creds.region}/${OracleBMCSServerGroupCachingAgent.class.simpleName}" + def agent = new OracleServerGroupCachingAgent("", creds, objectMapper, null) + def expectedAgentType = "${creds.name}/${creds.region}/${OracleServerGroupCachingAgent.class.simpleName}" when: def agentType = agent.getAgentType() @@ -40,12 +40,12 @@ class OracleBMCSServerGroupCachingAgentSpec extends Specification { def "agent handles null items in list server group result"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name >> "foo" creds.region >> Region.US_PHOENIX_1.regionId - def sgService = Mock(OracleBMCSServerGroupService) + def sgService = Mock(OracleServerGroupService) sgService.listAllServerGroups(_) >> [] - def agent = new OracleBMCSServerGroupCachingAgent("", creds, objectMapper, sgService) + def agent = new OracleServerGroupCachingAgent("", creds, objectMapper, sgService) when: def cacheResult = agent.loadData(null) @@ -57,12 +57,12 @@ class OracleBMCSServerGroupCachingAgentSpec extends Specification { def "agent creates correct cache result items"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name >> "foo" creds.region >> Region.US_PHOENIX_1.regionId - def sgService = Mock(OracleBMCSServerGroupService) - sgService.listAllServerGroups(_) >> [new OracleBMCSServerGroup(name: "foo-v001", targetSize: 5)] - def agent = new OracleBMCSServerGroupCachingAgent("", creds, objectMapper, sgService) + def sgService = Mock(OracleServerGroupService) + sgService.listAllServerGroups(_) >> [new OracleServerGroup(name: "foo-v001", targetSize: 5)] + def agent = new OracleServerGroupCachingAgent("", creds, objectMapper, sgService) when: def cacheResult = agent.loadData(null) diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSubnetCachingAgentSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSubnetCachingAgentSpec.groovy similarity index 79% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSubnetCachingAgentSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSubnetCachingAgentSpec.groovy index db7157d3057..35bdb9d5f8f 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/agent/OracleBMCSSubnetCachingAgentSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/agent/OracleSubnetCachingAgentSpec.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.agent +package com.netflix.spinnaker.clouddriver.oracle.provider.agent import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.Region import com.oracle.bmc.core.VirtualNetworkClient import com.oracle.bmc.core.model.Subnet @@ -20,21 +20,21 @@ import com.oracle.bmc.core.responses.ListVcnsResponse import spock.lang.Shared import spock.lang.Specification -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.SUBNETS +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.SUBNETS -class OracleBMCSSubnetCachingAgentSpec extends Specification { +class OracleSubnetCachingAgentSpec extends Specification { @Shared ObjectMapper objectMapper = new ObjectMapper() def "agent has correct agentType"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.compartmentId = "bar" creds.region = Region.US_PHOENIX_1.regionId - def agent = new OracleBMCSSubnetCachingAgent("", creds, objectMapper) - def expectedAgentType = "${creds.name}/${creds.region}/${OracleBMCSSubnetCachingAgent.class.simpleName}" + def agent = new OracleSubnetCachingAgent("", creds, objectMapper) + def expectedAgentType = "${creds.name}/${creds.region}/${OracleSubnetCachingAgent.class.simpleName}" when: def agentType = agent.getAgentType() @@ -45,11 +45,11 @@ class OracleBMCSSubnetCachingAgentSpec extends Specification { def "agent handles null items in listSubnets rsp"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) def networkClient = Mock(VirtualNetworkClient) networkClient.listVcns(_) >> ListVcnsResponse.builder().build() creds.networkClient >> networkClient - def agent = new OracleBMCSSubnetCachingAgent("", creds, objectMapper) + def agent = new OracleSubnetCachingAgent("", creds, objectMapper) when: def cacheResult = agent.loadData(null) @@ -61,7 +61,7 @@ class OracleBMCSSubnetCachingAgentSpec extends Specification { def "agent creates correct cache result item, filtering out unavailable subnets"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name = "foo" creds.region = Region.US_PHOENIX_1.regionId def networkClient = Mock(VirtualNetworkClient) @@ -77,7 +77,7 @@ class OracleBMCSSubnetCachingAgentSpec extends Specification { networkClient.listVcns(_) >> ListVcnsResponse.builder().items([vcn]).build() networkClient.listSubnets(_) >> ListSubnetsResponse.builder().items(subnets).build() creds.networkClient >> networkClient - def agent = new OracleBMCSSubnetCachingAgent("", creds, objectMapper) + def agent = new OracleSubnetCachingAgent("", creds, objectMapper) when: def cacheResult = agent.loadData(null) diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSClusterProviderSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleClusterProviderSpec.groovy similarity index 69% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSClusterProviderSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleClusterProviderSpec.groovy index 06a1eae2b87..9c36810c63c 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSClusterProviderSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleClusterProviderSpec.groovy @@ -6,31 +6,31 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.Cache import com.netflix.spinnaker.cats.cache.CacheData -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSInstance -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.model.OracleInstance +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.netflix.spinnaker.clouddriver.security.AccountCredentialsProvider import spock.lang.Specification -class OracleBMCSClusterProviderSpec extends Specification { +class OracleClusterProviderSpec extends Specification { def "get a server group from the cache"() { setup: def cache = Mock(Cache) def ap = Mock(AccountCredentialsProvider) ap.getCredentials(_) >> null - def clusterProvider = new OracleBMCSClusterProvider(null, new ObjectMapper(), ap, cache) + def clusterProvider = new OracleClusterProvider(null, new ObjectMapper(), ap, cache) def identifiers = Mock(Collection) def attributes = ["name": "foo-v001", "targetSize": 5] def mockData = Mock(CacheData) Collection cacheData = [mockData] - def id = "${OracleBMCSCloudProvider.ID}:${Keys.Namespace.SERVER_GROUPS}:foo-test:account1:us-phoenix-1:foo-test-v001" + def id = "${OracleCloudProvider.ID}:${Keys.Namespace.SERVER_GROUPS}:foo-test:account1:us-phoenix-1:foo-test-v001" when: def serverGroup = clusterProvider.getServerGroup("account1", "us-phoenix-1", "foo-test-v001") @@ -49,17 +49,17 @@ class OracleBMCSClusterProviderSpec extends Specification { def "get a cluster from the cache"() { setup: def cache = Mock(Cache) - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.name >> "account1" def accountCredentialsProvider = Mock(AccountCredentialsProvider) accountCredentialsProvider.getCredentials(_) >> creds - def instanceProvider = Mock(OracleBMCSInstanceProvider) - instanceProvider.getInstance(_, _, _) >> new OracleBMCSInstance() - def clusterProvider = new OracleBMCSClusterProvider(instanceProvider, new ObjectMapper(), accountCredentialsProvider, cache) + def instanceProvider = Mock(OracleInstanceProvider) + instanceProvider.getInstance(_, _, _) >> new OracleInstance() + def clusterProvider = new OracleClusterProvider(instanceProvider, new ObjectMapper(), accountCredentialsProvider, cache) def attributes = ["name": "foo-test-v001", "targetSize": 5, "instances": [["name": "blah"]]] def mockData = Mock(CacheData) Collection cacheData = [mockData] - def id = "${OracleBMCSCloudProvider.ID}:${Keys.Namespace.SERVER_GROUPS}:foo-test:account1:us-phoenix-1:foo-test-v001" + def id = "${OracleCloudProvider.ID}:${Keys.Namespace.SERVER_GROUPS}:foo-test:account1:us-phoenix-1:foo-test-v001" when: def cluster = clusterProvider.getCluster("foo", "account1", "foo-test") diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSImageProviderSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleImageProviderSpec.groovy similarity index 70% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSImageProviderSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleImageProviderSpec.groovy index ba89a799d16..ee80704fb96 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSImageProviderSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleImageProviderSpec.groovy @@ -6,33 +6,33 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.Cache import com.netflix.spinnaker.cats.cache.CacheData -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider import spock.lang.Specification -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.IMAGES +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.IMAGES -class OracleBMCSImageProviderSpec extends Specification { +class OracleImageProviderSpec extends Specification { def "get all images from cache"() { setup: def cache = Mock(Cache) - def imageProvider = new OracleBMCSImageProvider(cache, new ObjectMapper()) + def imageProvider = new OracleImageProvider(cache, new ObjectMapper()) def identifiers = Mock(Collection) def attributes = ["displayName": "My Image", "id": "ocid.image.123", "compatibleShapes": ["small"]] def mockData = Mock(CacheData) Collection cacheData = [mockData] - def id = "${OracleBMCSCloudProvider.ID}:${IMAGES}:DEFAULT:us-phoenix-1:ocid.image.123" + def id = "${OracleCloudProvider.ID}:${IMAGES}:DEFAULT:us-phoenix-1:ocid.image.123" when: def results = imageProvider.getAll() then: - 1 * cache.filterIdentifiers(IMAGES.ns, "${OracleBMCSCloudProvider.ID}:$IMAGES:*:*:*") >> identifiers + 1 * cache.filterIdentifiers(IMAGES.ns, "${OracleCloudProvider.ID}:$IMAGES:*:*:*") >> identifiers 1 * cache.getAll(IMAGES.ns, identifiers, _) >> cacheData 1 * mockData.id >> id mockData.attributes >> attributes diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSInstanceProviderSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleInstanceProviderSpec.groovy similarity index 90% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSInstanceProviderSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleInstanceProviderSpec.groovy index 2d1a6570412..321871e5bda 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSInstanceProviderSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleInstanceProviderSpec.groovy @@ -7,18 +7,18 @@ * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.core.type.TypeReference import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.DefaultCacheData import com.netflix.spinnaker.cats.mem.InMemoryCache import com.netflix.spinnaker.clouddriver.model.HealthState -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys import com.oracle.bmc.core.model.Instance import spock.lang.Specification -class OracleBMCSInstanceProviderSpec extends Specification { +class OracleInstanceProviderSpec extends Specification { def "get instance"(def account, def region, def id, def res) { setup: @@ -28,7 +28,7 @@ class OracleBMCSInstanceProviderSpec extends Specification { buildInstanceCacheData(2, "R2", "A2", Instance.LifecycleState.Starting), buildInstanceCacheData(3, "R2", "A2", Instance.LifecycleState.Provisioning) ]) - def instanceProvider = new OracleBMCSInstanceProvider(cache, new ObjectMapper(), null) + def instanceProvider = new OracleInstanceProvider(cache, new ObjectMapper(), null) expect: instanceProvider.getInstance(account, region, id)?.name == res.name diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSNetworkProviderSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleNetworkProviderSpec.groovy similarity index 70% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSNetworkProviderSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleNetworkProviderSpec.groovy index 49edeae9dc7..1750c93961d 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSNetworkProviderSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleNetworkProviderSpec.groovy @@ -6,32 +6,32 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.Cache import com.netflix.spinnaker.cats.cache.CacheData -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys import spock.lang.Specification -class OracleBMCSNetworkProviderSpec extends Specification { +class OracleNetworkProviderSpec extends Specification { def "get all networks from cache"() { setup: def cache = Mock(Cache) - def networkProvider = new OracleBMCSNetworkProvider(cache, new ObjectMapper()) + def networkProvider = new OracleNetworkProvider(cache, new ObjectMapper()) def identifiers = Mock(Collection) def attributes = ["displayName": "My Vcn", "id": "ocid.vcn.123"] def mockData = Mock(CacheData) Collection cacheData = [mockData] - def id = "${OracleBMCSCloudProvider.ID}:${Keys.Namespace.NETWORKS}:My Vcn:ocid.vcn.123:us-phoenix-1:DEFAULT" + def id = "${OracleCloudProvider.ID}:${Keys.Namespace.NETWORKS}:My Vcn:ocid.vcn.123:us-phoenix-1:DEFAULT" when: def results = networkProvider.getAll() then: - 1 * cache.filterIdentifiers(Keys.Namespace.NETWORKS.ns, "${OracleBMCSCloudProvider.ID}:$Keys.Namespace.NETWORKS:*:*:*:*") >> identifiers + 1 * cache.filterIdentifiers(Keys.Namespace.NETWORKS.ns, "${OracleCloudProvider.ID}:$Keys.Namespace.NETWORKS:*:*:*:*") >> identifiers 1 * cache.getAll(Keys.Namespace.NETWORKS.ns, identifiers, _) >> cacheData 1 * mockData.attributes >> attributes 1 * mockData.id >> id diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSSecurityGroupProviderSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleSecurityGroupProviderSpec.groovy similarity index 84% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSSecurityGroupProviderSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleSecurityGroupProviderSpec.groovy index 9f1ab640a73..cca944000e5 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSSecurityGroupProviderSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleSecurityGroupProviderSpec.groovy @@ -6,21 +6,21 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.core.type.TypeReference import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.DefaultCacheData import com.netflix.spinnaker.cats.mem.InMemoryCache -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys import com.oracle.bmc.core.model.IngressSecurityRule import com.oracle.bmc.core.model.PortRange import com.oracle.bmc.core.model.SecurityList import com.oracle.bmc.core.model.TcpOptions import spock.lang.Specification -class OracleBMCSSecurityGroupProviderSpec extends Specification { +class OracleSecurityGroupProviderSpec extends Specification { def "get all"() { setup: @@ -31,7 +31,7 @@ class OracleBMCSSecurityGroupProviderSpec extends Specification { buildSecGroupCacheData(3, "R2", "A1"), buildSecGroupCacheData(4, "R2", "A1"), ]) - def securityGroupProvider = new OracleBMCSSecurityGroupProvider(cache, new ObjectMapper()) + def securityGroupProvider = new OracleSecurityGroupProvider(cache, new ObjectMapper()) when: def results = securityGroupProvider.getAll(true).sort { a, b -> a.name.compareTo(b.name) } @@ -41,7 +41,7 @@ class OracleBMCSSecurityGroupProviderSpec extends Specification { results.first().name == "Sec Group 1" results.first().accountName == "A1" results.first().region == "R1" - results.first().cloudProvider == OracleBMCSCloudProvider.ID + results.first().cloudProvider == OracleCloudProvider.ID results.first().inboundRules.size() == 1 } @@ -54,7 +54,7 @@ class OracleBMCSSecurityGroupProviderSpec extends Specification { buildSecGroupCacheData(3, "R2", "A1"), buildSecGroupCacheData(4, "R2", "A1"), ]) - def securityGroupProvider = new OracleBMCSSecurityGroupProvider(cache, new ObjectMapper()) + def securityGroupProvider = new OracleSecurityGroupProvider(cache, new ObjectMapper()) when: def results = securityGroupProvider.getAll(false).sort { a, b -> a.name.compareTo(b.name) } @@ -73,7 +73,7 @@ class OracleBMCSSecurityGroupProviderSpec extends Specification { buildSecGroupCacheData(3, "R2", "A1"), buildSecGroupCacheData(4, "R2", "A1"), ]) - def securityGroupProvider = new OracleBMCSSecurityGroupProvider(cache, new ObjectMapper()) + def securityGroupProvider = new OracleSecurityGroupProvider(cache, new ObjectMapper()) expect: securityGroupProvider.getAllByRegion(true, region).collect { it.name } as Set == res as Set @@ -93,7 +93,7 @@ class OracleBMCSSecurityGroupProviderSpec extends Specification { buildSecGroupCacheData(3, "R2", "A1"), buildSecGroupCacheData(4, "R2", "A2"), ]) - def securityGroupProvider = new OracleBMCSSecurityGroupProvider(cache, new ObjectMapper()) + def securityGroupProvider = new OracleSecurityGroupProvider(cache, new ObjectMapper()) expect: securityGroupProvider.getAllByAccount(true, account).collect { it.name } as Set == res as Set @@ -113,7 +113,7 @@ class OracleBMCSSecurityGroupProviderSpec extends Specification { buildSecGroupCacheData(1, "R3", "A1"), buildSecGroupCacheData(2, "R4", "A2"), ]) - def securityGroupProvider = new OracleBMCSSecurityGroupProvider(cache, new ObjectMapper()) + def securityGroupProvider = new OracleSecurityGroupProvider(cache, new ObjectMapper()) when: def results = securityGroupProvider.getAllByAccountAndName(true, "A1", "Sec Group 1") @@ -134,7 +134,7 @@ class OracleBMCSSecurityGroupProviderSpec extends Specification { buildSecGroupCacheData(4, "R2", "A1"), buildSecGroupCacheData(5, "R2", "A2"), ]) - def securityGroupProvider = new OracleBMCSSecurityGroupProvider(cache, new ObjectMapper()) + def securityGroupProvider = new OracleSecurityGroupProvider(cache, new ObjectMapper()) expect: securityGroupProvider.getAllByAccountAndRegion(true, account, region).collect { it.name } as Set == res as Set @@ -153,7 +153,7 @@ class OracleBMCSSecurityGroupProviderSpec extends Specification { buildSecGroupCacheData(2, "R2", "A2"), buildSecGroupCacheData(1, "R3", "A1"), ]) - def securityGroupProvider = new OracleBMCSSecurityGroupProvider(cache, new ObjectMapper()) + def securityGroupProvider = new OracleSecurityGroupProvider(cache, new ObjectMapper()) when: def result = securityGroupProvider.get("A1", "R3", "Sec Group 1", "ocid.vcn.123") diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSSubnetProviderSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleSubnetProviderSpec.groovy similarity index 69% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSSubnetProviderSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleSubnetProviderSpec.groovy index 35ebb8725b2..225e78d9230 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/provider/view/OracleBMCSSubnetProviderSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/provider/view/OracleSubnetProviderSpec.groovy @@ -6,34 +6,34 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.provider.view +package com.netflix.spinnaker.clouddriver.oracle.provider.view import com.fasterxml.jackson.databind.ObjectMapper import com.netflix.spinnaker.cats.cache.Cache import com.netflix.spinnaker.cats.cache.CacheData -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSCloudProvider -import com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys +import com.netflix.spinnaker.clouddriver.oracle.OracleCloudProvider +import com.netflix.spinnaker.clouddriver.oracle.cache.Keys import spock.lang.Specification -import static com.netflix.spinnaker.clouddriver.oraclebmcs.cache.Keys.Namespace.SUBNETS +import static com.netflix.spinnaker.clouddriver.oracle.cache.Keys.Namespace.SUBNETS -class OracleBMCSSubnetProviderSpec extends Specification { +class OracleSubnetProviderSpec extends Specification { def "get all subnets from cache"() { setup: def cache = Mock(Cache) - def subnetProvider = new OracleBMCSSubnetProvider(cache, new ObjectMapper()) + def subnetProvider = new OracleSubnetProvider(cache, new ObjectMapper()) def identifiers = Mock(Collection) def attributes = ["displayName": "My Subnet", "id": "ocid.subnet.123", "availabilityDomain": "AD1", "securityListIds": ["ocid.seclist.123"]] def mockData = Mock(CacheData) Collection cacheData = [mockData] - def id = "${OracleBMCSCloudProvider.ID}:${SUBNETS}:ocid.subnet.123:us-phoenix-1:DEFAULT" + def id = "${OracleCloudProvider.ID}:${SUBNETS}:ocid.subnet.123:us-phoenix-1:DEFAULT" when: def results = subnetProvider.getAll() then: - 1 * cache.filterIdentifiers(SUBNETS.ns, "${OracleBMCSCloudProvider.ID}:$SUBNETS:*:*:*") >> identifiers + 1 * cache.filterIdentifiers(SUBNETS.ns, "${OracleCloudProvider.ID}:$SUBNETS:*:*:*") >> identifiers 1 * cache.getAll(SUBNETS.ns, identifiers, _) >> cacheData 1 * mockData.attributes >> attributes 1 * mockData.id >> id diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/DefaultOracleBMCSServerGroupServiceSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/DefaultOracleServerGroupServiceSpec.groovy similarity index 75% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/DefaultOracleBMCSServerGroupServiceSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/DefaultOracleServerGroupServiceSpec.groovy index aa8057a94df..11d2aba97ac 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/DefaultOracleBMCSServerGroupServiceSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/DefaultOracleServerGroupServiceSpec.groovy @@ -6,31 +6,31 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup +package com.netflix.spinnaker.clouddriver.oracle.service.servergroup import com.netflix.spinnaker.clouddriver.data.task.Task -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSInstance -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.model.OracleInstance +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.Region import com.oracle.bmc.core.ComputeClient import com.oracle.bmc.core.model.Instance import com.oracle.bmc.core.responses.LaunchInstanceResponse import spock.lang.Specification -class DefaultOracleBMCSServerGroupServiceSpec extends Specification { +class DefaultOracleServerGroupServiceSpec extends Specification { def "create server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getName() >> "foo" creds.getRegion() >> Region.US_PHOENIX_1.regionId creds.getComputeClient() >> Mock(ComputeClient) - def persistence = Mock(OracleBMCSServerGroupPersistence) - def sgService = new DefaultOracleBMCSServerGroupService(persistence) + def persistence = Mock(OracleServerGroupPersistence) + def sgService = new DefaultOracleServerGroupService(persistence) when: - def sg = new OracleBMCSServerGroup( + def sg = new OracleServerGroup( name: "sg1", region: creds.region, zone: "ad1", @@ -57,14 +57,14 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { def "resize (increase) server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getName() >> "foo" creds.getRegion() >> Region.US_PHOENIX_1.regionId creds.getComputeClient() >> Mock(ComputeClient) def task = Mock(Task) - def persistence = Mock(OracleBMCSServerGroupPersistence) - def sgService = new DefaultOracleBMCSServerGroupService(persistence) - def sg = new OracleBMCSServerGroup( + def persistence = Mock(OracleServerGroupPersistence) + def sgService = new DefaultOracleServerGroupService(persistence) + def sg = new OracleServerGroup( name: "sg1", region: creds.region, zone: "ad1", @@ -95,14 +95,14 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { def "resize (decrease) server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getName() >> "foo" creds.getRegion() >> Region.US_PHOENIX_1.regionId creds.getComputeClient() >> Mock(ComputeClient) def task = Mock(Task) - def persistence = Mock(OracleBMCSServerGroupPersistence) - def sgService = new DefaultOracleBMCSServerGroupService(persistence) - def sg = new OracleBMCSServerGroup( + def persistence = Mock(OracleServerGroupPersistence) + def sgService = new DefaultOracleServerGroupService(persistence) + def sg = new OracleServerGroup( name: "sg1", region: creds.region, zone: "ad1", @@ -116,11 +116,11 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { "createdTime" : System.currentTimeMillis() ], instances: [ - new OracleBMCSInstance(name: "a"), - new OracleBMCSInstance(name: "b"), - new OracleBMCSInstance(name: "c"), - new OracleBMCSInstance(name: "d"), - new OracleBMCSInstance(name: "e") + new OracleInstance(name: "a"), + new OracleInstance(name: "b"), + new OracleInstance(name: "c"), + new OracleInstance(name: "d"), + new OracleInstance(name: "e") ], targetSize: 5, credentials: creds @@ -138,14 +138,14 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { def "enable server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getName() >> "foo" creds.getRegion() >> Region.US_PHOENIX_1.regionId creds.getComputeClient() >> Mock(ComputeClient) def task = Mock(Task) - def persistence = Mock(OracleBMCSServerGroupPersistence) - def sgService = new DefaultOracleBMCSServerGroupService(persistence) - def sg = new OracleBMCSServerGroup( + def persistence = Mock(OracleServerGroupPersistence) + def sgService = new DefaultOracleServerGroupService(persistence) + def sg = new OracleServerGroup( name: "sg1", region: creds.region, zone: "ad1", @@ -174,14 +174,14 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { def "disable server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getName() >> "foo" creds.getRegion() >> Region.US_PHOENIX_1.regionId creds.getComputeClient() >> Mock(ComputeClient) def task = Mock(Task) - def persistence = Mock(OracleBMCSServerGroupPersistence) - def sgService = new DefaultOracleBMCSServerGroupService(persistence) - def sg = new OracleBMCSServerGroup( + def persistence = Mock(OracleServerGroupPersistence) + def sgService = new DefaultOracleServerGroupService(persistence) + def sg = new OracleServerGroup( name: "sg1", region: creds.region, zone: "ad1", @@ -210,14 +210,14 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { def "destroy server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getName() >> "foo" creds.getRegion() >> Region.US_PHOENIX_1.regionId creds.getComputeClient() >> Mock(ComputeClient) def task = Mock(Task) - def persistence = Mock(OracleBMCSServerGroupPersistence) - def sgService = new DefaultOracleBMCSServerGroupService(persistence) - def sg = new OracleBMCSServerGroup( + def persistence = Mock(OracleServerGroupPersistence) + def sgService = new DefaultOracleServerGroupService(persistence) + def sg = new OracleServerGroup( name: "sg1", region: creds.region, zone: "ad1", @@ -231,11 +231,11 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { "createdTime" : System.currentTimeMillis() ], instances: [ - new OracleBMCSInstance(name: "a"), - new OracleBMCSInstance(name: "b"), - new OracleBMCSInstance(name: "c"), - new OracleBMCSInstance(name: "d"), - new OracleBMCSInstance(name: "e") + new OracleInstance(name: "a"), + new OracleInstance(name: "b"), + new OracleInstance(name: "c"), + new OracleInstance(name: "d"), + new OracleInstance(name: "e") ], targetSize: 5, credentials: creds, @@ -253,13 +253,13 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { def "get server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getName() >> "foo" creds.getRegion() >> Region.US_PHOENIX_1.regionId creds.getComputeClient() >> Mock(ComputeClient) - def persistence = Mock(OracleBMCSServerGroupPersistence) - def sgService = new DefaultOracleBMCSServerGroupService(persistence) - def sg = new OracleBMCSServerGroup( + def persistence = Mock(OracleServerGroupPersistence) + def sgService = new DefaultOracleServerGroupService(persistence) + def sg = new OracleServerGroup( name: "foo-v001", region: creds.region, zone: "ad1", @@ -287,13 +287,13 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { def "list all server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getName() >> "foo" creds.getRegion() >> Region.US_PHOENIX_1.regionId creds.getComputeClient() >> Mock(ComputeClient) - def persistence = Mock(OracleBMCSServerGroupPersistence) - def sgService = new DefaultOracleBMCSServerGroupService(persistence) - def sg = new OracleBMCSServerGroup( + def persistence = Mock(OracleServerGroupPersistence) + def sgService = new DefaultOracleServerGroupService(persistence) + def sg = new OracleServerGroup( name: "foo-v001", region: creds.region, zone: "ad1", @@ -322,12 +322,12 @@ class DefaultOracleBMCSServerGroupServiceSpec extends Specification { def "list server group names by cluster"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getName() >> "foo" creds.getRegion() >> Region.US_PHOENIX_1.regionId creds.getComputeClient() >> Mock(ComputeClient) - def persistence = Mock(OracleBMCSServerGroupPersistence) - def sgService = new DefaultOracleBMCSServerGroupService(persistence) + def persistence = Mock(OracleServerGroupPersistence) + def sgService = new DefaultOracleServerGroupService(persistence) when: def serverGroups = sgService.listServerGroupNamesByClusterName(creds, "foo-test") diff --git a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSServerGroupPersistenceSpec.groovy b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OracleServerGroupPersistenceSpec.groovy similarity index 67% rename from clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSServerGroupPersistenceSpec.groovy rename to clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OracleServerGroupPersistenceSpec.groovy index 93daa1f3690..bc01941771d 100644 --- a/clouddriver-oracle-bmcs/src/test/groovy/com/netflix/spinnaker/clouddriver/oraclebmcs/service/servergroup/OracleBMCSServerGroupPersistenceSpec.groovy +++ b/clouddriver-oracle/src/test/groovy/com/netflix/spinnaker/clouddriver/oracle/service/servergroup/OracleServerGroupPersistenceSpec.groovy @@ -6,11 +6,11 @@ * If a copy of the Apache License Version 2.0 was not distributed with this file, * You can obtain one at https://www.apache.org/licenses/LICENSE-2.0.html */ -package com.netflix.spinnaker.clouddriver.oraclebmcs.service.servergroup +package com.netflix.spinnaker.clouddriver.oracle.service.servergroup import com.fasterxml.jackson.databind.ObjectMapper -import com.netflix.spinnaker.clouddriver.oraclebmcs.model.OracleBMCSServerGroup -import com.netflix.spinnaker.clouddriver.oraclebmcs.security.OracleBMCSNamedAccountCredentials +import com.netflix.spinnaker.clouddriver.oracle.model.OracleServerGroup +import com.netflix.spinnaker.clouddriver.oracle.security.OracleNamedAccountCredentials import com.oracle.bmc.objectstorage.ObjectStorageClient import com.oracle.bmc.objectstorage.model.ListObjects import com.oracle.bmc.objectstorage.model.ObjectSummary @@ -19,15 +19,15 @@ import spock.lang.Specification import java.nio.charset.Charset -class OracleBMCSServerGroupPersistenceSpec extends Specification { +class OracleServerGroupPersistenceSpec extends Specification { def "upsert server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getCompartmentId() >> "foo" creds.getObjectStorageClient() >> Mock(ObjectStorageClient) - OracleBMCSServerGroupPersistence persistence = new OracleBMCSServerGroupPersistence() - def sg = new OracleBMCSServerGroup(name: "foo-v001", credentials: creds, launchConfig: ["compartmentId": "foo"]) + OracleServerGroupPersistence persistence = new OracleServerGroupPersistence() + def sg = new OracleServerGroup(name: "foo-v001", credentials: creds, launchConfig: ["compartmentId": "foo"]) when: persistence.upsertServerGroup(sg) @@ -40,11 +40,11 @@ class OracleBMCSServerGroupPersistenceSpec extends Specification { def "delete server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getCompartmentId() >> "foo" creds.getObjectStorageClient() >> Mock(ObjectStorageClient) - OracleBMCSServerGroupPersistence persistence = new OracleBMCSServerGroupPersistence() - def sg = new OracleBMCSServerGroup(name: "foo-v001", credentials: creds, launchConfig: ["compartmentId": "foo"]) + OracleServerGroupPersistence persistence = new OracleServerGroupPersistence() + def sg = new OracleServerGroup(name: "foo-v001", credentials: creds, launchConfig: ["compartmentId": "foo"]) when: persistence.deleteServerGroup(sg) @@ -57,15 +57,15 @@ class OracleBMCSServerGroupPersistenceSpec extends Specification { def "get server group"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getCompartmentId() >> "foo" creds.getObjectStorageClient() >> Mock(ObjectStorageClient) - OracleBMCSServerGroupPersistence persistence = new OracleBMCSServerGroupPersistence() - def sg = new OracleBMCSServerGroup(name: "foo-v001", launchConfig: ["compartmentId": "foo"]) + OracleServerGroupPersistence persistence = new OracleServerGroupPersistence() + def sg = new OracleServerGroup(name: "foo-v001", launchConfig: ["compartmentId": "foo"]) def objectMapper = new ObjectMapper(); def json = objectMapper.writeValueAsString(sg); def is = new ByteArrayInputStream(json.getBytes(Charset.forName("UTF-8"))) - def OracleBMCSPersistenceContext ctx = new OracleBMCSPersistenceContext(creds) + def OraclePersistenceContext ctx = new OraclePersistenceContext(creds) ctx.namespace = "ns1" ctx.bucketChecked = true @@ -80,11 +80,11 @@ class OracleBMCSServerGroupPersistenceSpec extends Specification { def "list server group names"() { setup: - def creds = Mock(OracleBMCSNamedAccountCredentials) + def creds = Mock(OracleNamedAccountCredentials) creds.getCompartmentId() >> "foo" creds.getObjectStorageClient() >> Mock(ObjectStorageClient) - OracleBMCSServerGroupPersistence persistence = new OracleBMCSServerGroupPersistence() - def OracleBMCSPersistenceContext ctx = new OracleBMCSPersistenceContext(creds) + OracleServerGroupPersistence persistence = new OracleServerGroupPersistence() + def OraclePersistenceContext ctx = new OraclePersistenceContext(creds) ctx.namespace = "ns1" ctx.bucketChecked = true diff --git a/clouddriver-web/clouddriver-web.gradle b/clouddriver-web/clouddriver-web.gradle index 37cfecf3645..98da8727d30 100644 --- a/clouddriver-web/clouddriver-web.gradle +++ b/clouddriver-web/clouddriver-web.gradle @@ -39,7 +39,7 @@ dependencies { compile project(':clouddriver-eureka') compile project(':clouddriver-elasticsearch') compile project(':clouddriver-elasticsearch-aws') - compile project(':clouddriver-oracle-bmcs') + compile project(':clouddriver-oracle') compile project(':clouddriver-dcos') compile project(':clouddriver-titus') diff --git a/clouddriver-web/config/clouddriver.yml b/clouddriver-web/config/clouddriver.yml index 77574753b9d..5e19c9064e2 100644 --- a/clouddriver-web/config/clouddriver.yml +++ b/clouddriver-web/config/clouddriver.yml @@ -285,8 +285,8 @@ cf: artifactUsername: ${cf.repo.username} artifactPassword: ${cf.repo.password} -oraclebmcs: - enabled: ${ORACLEBMCS_ENABLED:false} +oracle: + enabled: ${ORACLE_ENABLED:false} spring: jackson: diff --git a/clouddriver-web/src/main/groovy/com/netflix/spinnaker/clouddriver/Main.groovy b/clouddriver-web/src/main/groovy/com/netflix/spinnaker/clouddriver/Main.groovy index f39b42b4512..a87d03c0b48 100644 --- a/clouddriver-web/src/main/groovy/com/netflix/spinnaker/clouddriver/Main.groovy +++ b/clouddriver-web/src/main/groovy/com/netflix/spinnaker/clouddriver/Main.groovy @@ -32,7 +32,7 @@ import com.netflix.spinnaker.clouddriver.google.GoogleConfiguration import com.netflix.spinnaker.clouddriver.jobs.config.LocalJobConfig import com.netflix.spinnaker.clouddriver.kubernetes.KubernetesConfiguration import com.netflix.spinnaker.clouddriver.openstack.OpenstackConfiguration -import com.netflix.spinnaker.clouddriver.oraclebmcs.OracleBMCSConfiguration +import com.netflix.spinnaker.clouddriver.oracle.OracleConfiguration import com.netflix.spinnaker.clouddriver.security.config.SecurityConfig import com.netflix.spinnaker.clouddriver.titus.config.TitusConfiguration @@ -63,7 +63,7 @@ import java.security.Security AppengineConfiguration, AppengineStorageConfiguration, GoogleConfiguration, - OracleBMCSConfiguration, + OracleConfiguration, KubernetesConfiguration, OpenstackConfiguration, DockerRegistryConfiguration, diff --git a/settings.gradle b/settings.gradle index 890a40b8711..20ff8778009 100644 --- a/settings.gradle +++ b/settings.gradle @@ -34,7 +34,7 @@ include 'clouddriver-core', 'clouddriver-openstack', 'clouddriver-appengine', 'clouddriver-artifacts', - 'clouddriver-oracle-bmcs', + 'clouddriver-oracle', 'clouddriver-titus', 'cats:cats-core', 'cats:cats-redis',