From afc3816f0c336db2a73bb69646d8986e1132d0eb Mon Sep 17 00:00:00 2001 From: Adam Gordon Date: Thu, 2 Mar 2017 11:38:39 -0800 Subject: [PATCH] feat(instances): add more account metadata * added account metadata to instance metadata map for use in insight links. --- .../netflix/spinnaker/gate/services/InstanceService.groovy | 3 ++- .../spinnaker/gate/services/InstanceServiceSpec.groovy | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gate-web/src/main/groovy/com/netflix/spinnaker/gate/services/InstanceService.groovy b/gate-web/src/main/groovy/com/netflix/spinnaker/gate/services/InstanceService.groovy index 246418fbc..a65ffe523 100644 --- a/gate-web/src/main/groovy/com/netflix/spinnaker/gate/services/InstanceService.groovy +++ b/gate-web/src/main/groovy/com/netflix/spinnaker/gate/services/InstanceService.groovy @@ -40,7 +40,8 @@ class InstanceService { Map getForAccountAndRegion(String account, String region, String instanceId) { HystrixFactory.newMapCommand(GROUP, "getInstancesForAccountAndRegion-${providerLookupService.providerForAccount(account)}") { - def instanceDetails = clouddriverService.getInstanceDetails(account, region, instanceId) + def accountDetails = clouddriverService.getAccount(account) + def instanceDetails = clouddriverService.getInstanceDetails(account, region, instanceId) << accountDetails def instanceContext = instanceDetails.collectEntries { return it.value instanceof String ? [it.key, it.value] : [it.key, ""] } as Map diff --git a/gate-web/src/test/groovy/com/netflix/spinnaker/gate/services/InstanceServiceSpec.groovy b/gate-web/src/test/groovy/com/netflix/spinnaker/gate/services/InstanceServiceSpec.groovy index ca51cb46d..fbe143412 100644 --- a/gate-web/src/test/groovy/com/netflix/spinnaker/gate/services/InstanceServiceSpec.groovy +++ b/gate-web/src/test/groovy/com/netflix/spinnaker/gate/services/InstanceServiceSpec.groovy @@ -27,18 +27,19 @@ class InstanceServiceSpec extends Specification { def service = new InstanceService( clouddriverService: Mock(ClouddriverService) { 1 * getInstanceDetails(_, _, _) >> { return [privateIpAddress: "10.0.0.1", map: [:]] } + 1 * getAccount(_) >> { return [awsAccount: "prod"] } }, providerLookupService: Stub(ProviderLookupService) { providerForAccount(_) >> "test" }, insightConfiguration: new InsightConfiguration( - instance: [new InsightConfiguration.Link(url: '${account}-${region}-${instanceId}-{DNE}-${privateIpAddress}')] + instance: [new InsightConfiguration.Link(url: '${account}-${awsAccount}-${region}-${instanceId}-{DNE}-${privateIpAddress}')] ) ) expect: service.getForAccountAndRegion("account", "region", "instanceId").insightActions*.url == [ - "account-region-instanceId-{DNE}-10.0.0.1" + "account-prod-region-instanceId-{DNE}-10.0.0.1" ] }