With a shared credential store the configuration of one compute service leaks 
in all others, causing the wrong credentials to be used when not overridden.

The particular problem this fixes - [Azure sets default username/password for 
images](https://github.com/jclouds/jclouds-labs/blob/master/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeProviderMetadata.java#L98)
 which leaks to other providers (through 
[GetLoginForProviderFromPropertiesAndStoreCredentialsOrReturnNull](https://github.com/jclouds/jclouds/blob/master/compute/src/main/java/org/jclouds/compute/config/GetLoginForProviderFromPropertiesAndStoreCredentialsOrReturnNull.java#L51)),
 causing the wrong username/password to be used.
Even if the credentials are scoped to a specific provider in the map, it still 
will cause cross-talk between differently configured compute services. The 
cache should only apply to the current compute service.
You can view, comment on, or merge this pull request online at:

  https://github.com/jclouds/jclouds/pull/1119

-- Commit Summary --

  * Use separate credential stores per context

-- File Changes --

    M core/src/main/java/org/jclouds/rest/config/CredentialStoreModule.java (11)
    M core/src/test/java/org/jclouds/rest/CredentialStoreModuleTest.java (42)

-- Patch Links --

https://github.com/jclouds/jclouds/pull/1119.patch
https://github.com/jclouds/jclouds/pull/1119.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1119

Reply via email to