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
