Skip to content

Commit

Permalink
feat(google): Deprecate google.gce.bakeryDefaults in favor of google.…
Browse files Browse the repository at this point in the history
…bakeryDefaults (#186)

This makes the google config more similar to that of the other providers.

The config in rosco-web was left untouched, since it would override
existing configurations of rosco with this change in place.
  • Loading branch information
lwander committed Mar 2, 2017
1 parent 75fca2a commit 4bfc83d
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,24 +30,44 @@ public class GCEBakeHandler extends CloudProviderBakeHandler {

private static final String IMAGE_NAME_TOKEN = "googlecompute: A disk image was created:"

private static singletonBakeryDefaults = null

ImageNameFactory imageNameFactory = new ImageNameFactory()


@Autowired
RoscoGoogleConfiguration.GCEBakeryDefaults gceBakeryDefaults

@Autowired
@Deprecated // Deprecated for consistency with other providers. See `gceBakeryDefaults`.
RoscoGoogleConfiguration.GCEBakeryDefaults deprecatedGCEBakeryDefaults

@Autowired
RoscoGoogleConfiguration.GoogleConfigurationProperties googleConfigurationProperties

public GCEBakeHandler() {
singletonBakeryDefaults = null
}

@Override
def getBakeryDefaults() {
return gceBakeryDefaults
RoscoGoogleConfiguration.GCEBakeryDefaults getBakeryDefaults() {
if (singletonBakeryDefaults == null) {
singletonBakeryDefaults = new RoscoGoogleConfiguration.GCEBakeryDefaults()
singletonBakeryDefaults.baseImages = (gceBakeryDefaults?.baseImages ?: []) + (deprecatedGCEBakeryDefaults?.baseImages ?: [])
singletonBakeryDefaults.network = gceBakeryDefaults?.network ?: deprecatedGCEBakeryDefaults?.network
singletonBakeryDefaults.subnetwork = gceBakeryDefaults?.subnetwork ?: deprecatedGCEBakeryDefaults?.subnetwork
singletonBakeryDefaults.templateFile = gceBakeryDefaults?.templateFile ?: deprecatedGCEBakeryDefaults?.templateFile
singletonBakeryDefaults.zone = gceBakeryDefaults?.zone ?: deprecatedGCEBakeryDefaults?.zone
singletonBakeryDefaults.useInternalIp = gceBakeryDefaults?.useInternalIp != null ? gceBakeryDefaults?.useInternalIp : deprecatedGCEBakeryDefaults?.useInternalIp
}
return singletonBakeryDefaults
}

@Override
BakeOptions getBakeOptions() {
new BakeOptions(
cloudProvider: BakeRequest.CloudProviderType.gce,
baseImages: gceBakeryDefaults?.baseImages?.collect { it.baseImage }
baseImages: bakeryDefaults?.baseImages?.collect { it.baseImage }
)
}

Expand All @@ -58,7 +78,7 @@ public class GCEBakeHandler extends CloudProviderBakeHandler {

@Override
def findVirtualizationSettings(String region, BakeRequest bakeRequest) {
def virtualizationSettings = gceBakeryDefaults?.baseImages.find {
def virtualizationSettings = bakeryDefaults?.baseImages?.find {
it.baseImage.id == bakeRequest.base_os
}?.virtualizationSettings

Expand All @@ -80,8 +100,8 @@ public class GCEBakeHandler extends CloudProviderBakeHandler {

def parameterMap = [
gce_project_id : managedGoogleAccount.project,
gce_zone : gceBakeryDefaults.zone,
gce_network : gceBakeryDefaults.network,
gce_zone : bakeryDefaults?.zone,
gce_network : bakeryDefaults?.network,
gce_target_image: imageName
]

Expand All @@ -97,12 +117,12 @@ public class GCEBakeHandler extends CloudProviderBakeHandler {
parameterMap.gce_account_file = managedGoogleAccount.jsonPath
}

if (gceBakeryDefaults.subnetwork) {
parameterMap.gce_subnetwork = gceBakeryDefaults.subnetwork
if (bakeryDefaults?.subnetwork) {
parameterMap.gce_subnetwork = bakeryDefaults.subnetwork
}

if (gceBakeryDefaults.useInternalIp != null) {
parameterMap.gce_use_internal_ip = gceBakeryDefaults.useInternalIp
if (bakeryDefaults?.useInternalIp != null) {
parameterMap.gce_use_internal_ip = bakeryDefaults?.useInternalIp
}

if (bakeRequest.build_info_url) {
Expand All @@ -118,7 +138,7 @@ public class GCEBakeHandler extends CloudProviderBakeHandler {

@Override
String getTemplateFileName(BakeOptions.BaseImage baseImage) {
return baseImage.templateFile ?: gceBakeryDefaults.templateFile
return baseImage.templateFile ?: bakeryDefaults?.templateFile
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ class RoscoGoogleConfiguration {

@Bean
@ConfigurationProperties('google.gce.bakeryDefaults')
GCEBakeryDefaults deprecatedGCEBakeryDefaults() {
new GCEBakeryDefaults()
}

@Bean
@ConfigurationProperties('google.bakeryDefaults')
GCEBakeryDefaults gceBakeryDefaults() {
new GCEBakeryDefaults()
}
Expand Down

0 comments on commit 4bfc83d

Please sign in to comment.