@Inject PopulateDefaultLoginCredentialsForImageStrategy(@Named(TEMPLATE) String templateSpec, RsaSshKeyPairGenerator keyPairGenerator) throws NoSuchAlgorithmException { this.templateBuilder = TemplateBuilderSpec.parse(checkNotNull(templateSpec, "template builder spec")); checkNotNull(templateBuilder.getLoginUser(), "template builder spec must provide a loginUser"); this.keyPairGenerator = checkNotNull(keyPairGenerator, "keypair generator"); }
@Inject PopulateDefaultLoginCredentialsForImageStrategy(@Named(TEMPLATE) String templateSpec, RsaSshKeyPairGenerator keyPairGenerator) throws NoSuchAlgorithmException { this.templateBuilder = TemplateBuilderSpec.parse(checkNotNull(templateSpec, "template builder spec")); checkNotNull(templateBuilder.getLoginUser(), "template builder spec must provide a loginUser"); this.keyPairGenerator = checkNotNull(keyPairGenerator, "keypair generator"); }
.getClusterUser() : clusterSpec.getTemplate().getLoginUser();
.getClusterUser() : clusterSpec.getTemplate().getLoginUser();
@Override public LoginCredentials apply(Object image) { return LoginCredentials.builder() .authenticateSudo(templateBuilder.getAuthenticateSudo() != null ? templateBuilder.getAuthenticateSudo() : false) .privateKey(compoundKey) .user(templateBuilder.getLoginUser()).build(); }
@Override public LoginCredentials apply(Object image) { return LoginCredentials.builder() .authenticateSudo(templateBuilder.getAuthenticateSudo() != null ? templateBuilder.getAuthenticateSudo() : false) .privateKey(compoundKey) .user(templateBuilder.getLoginUser()).build(); }
@Override protected Properties setupProperties() { Properties overrides = super.setupProperties(); String spec = setIfTestSystemPropertyPresent(overrides, provider + ".template"); if (spec != null) { template = TemplateBuilderSpec.parse(spec); if (template.getLoginUser() != null) { Iterable<String> userPass = Splitter.on(':').split(template.getLoginUser()); Builder loginCredentialsBuilder = LoginCredentials.builder(); loginCredentialsBuilder.user(Iterables.get(userPass, 0)); if (Iterables.size(userPass) == 2) loginCredentialsBuilder.password(Iterables.get(userPass, 1)); if (template.getAuthenticateSudo() != null) loginCredentialsBuilder.authenticateSudo(template.getAuthenticateSudo()); loginCredentials = loginCredentialsBuilder.build(); } } return overrides; }
@Override protected Properties setupProperties() { Properties overrides = super.setupProperties(); String spec = setIfTestSystemPropertyPresent(overrides, provider + ".template"); if (spec != null) { templateBuilderSpec = TemplateBuilderSpec.parse(spec); if (templateBuilderSpec.getLoginUser() != null) { Iterable<String> userPass = Splitter.on(':').split(templateBuilderSpec.getLoginUser()); Builder loginCredentialsBuilder = LoginCredentials.builder(); loginCredentialsBuilder.user(Iterables.get(userPass, 0)); if (Iterables.size(userPass) == 2) loginCredentialsBuilder.password(Iterables.get(userPass, 1)); if (templateBuilderSpec.getAuthenticateSudo() != null) loginCredentialsBuilder.authenticateSudo(templateBuilderSpec.getAuthenticateSudo()); loginCredentials = loginCredentialsBuilder.build(); } } return overrides; }
protected void tryOverrideUsingPropertyKey(String propertyKey) { // isolate tests from eachother, as default credentialStore is static Module credentialStoreModule = new CredentialStoreModule(new CopyInputStreamInputSupplierMap( new ConcurrentHashMap<String, InputSupplier<InputStream>>())); ComputeServiceContext context = null; try { Properties overrides = setupProperties(); String login = template != null && template.getLoginUser() != null ? template.getLoginUser() : "foo:bar"; overrides.setProperty(propertyKey + ".image.login-user", login); boolean auth = template != null && template.getAuthenticateSudo() != null ? template.getAuthenticateSudo() : true; overrides.setProperty(propertyKey + ".image.authenticate-sudo", auth + ""); context = createView(overrides, ImmutableSet.<Module>of(credentialStoreModule)); Iterable<String> userPass = Splitter.on(':').split(login); String user = Iterables.get(userPass, 0); String pass = Iterables.size(userPass) > 1 ? Iterables.get(userPass, 1) : null; assertEquals(context.getComputeService().templateBuilder().build().getImage().getDefaultCredentials(), LoginCredentials.builder().user(user).password(pass).authenticateSudo(auth).build()); } finally { if (context != null) { context.close(); } } }
protected void tryOverrideUsingPropertyKey(String propertyKey) { // isolate tests from eachother, as default credentialStore is static Module credentialStoreModule = new CredentialStoreModule( new ConcurrentHashMap<String, ByteSource>()); ComputeServiceContext context = null; try { Properties overrides = setupProperties(); String login = templateBuilderSpec != null && templateBuilderSpec.getLoginUser() != null ? templateBuilderSpec .getLoginUser() : "foo:bar"; overrides.setProperty(propertyKey + ".image.login-user", login); boolean auth = templateBuilderSpec != null && templateBuilderSpec.getAuthenticateSudo() != null ? templateBuilderSpec .getAuthenticateSudo() : true; overrides.setProperty(propertyKey + ".image.authenticate-sudo", auth + ""); context = createView(overrides, ImmutableSet.<Module>of(credentialStoreModule)); Iterable<String> userPass = Splitter.on(':').split(login); String user = Iterables.get(userPass, 0); String pass = Iterables.size(userPass) > 1 ? Iterables.get(userPass, 1) : null; assertEquals(context.getComputeService().templateBuilder().build().getImage().getDefaultCredentials(), LoginCredentials.builder().user(user).password(pass).authenticateSudo(auth).build()); } finally { if (context != null) { context.close(); } } }
protected Properties setupComputeProperties() { Properties overrides = new Properties(); overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true"); overrides.setProperty(Constants.PROPERTY_RELAX_HOSTNAME, "true"); computeProvider = setIfTestSystemPropertyPresent(overrides, provider + ".compute.provider"); computeIdentity = setIfTestSystemPropertyPresent(overrides, provider + ".compute.identity"); computeCredential = setIfTestSystemPropertyPresent(overrides, provider + ".compute.credential"); computeEndpoint = setIfTestSystemPropertyPresent(overrides, provider + ".compute.endpoint"); computeApiversion = setIfTestSystemPropertyPresent(overrides, provider + ".compute.api-version"); computeBuildversion = setIfTestSystemPropertyPresent(overrides, provider + ".compute.build-version"); String spec = setIfTestSystemPropertyPresent(overrides, provider + ".compute.template"); if (spec != null) { template = TemplateBuilderSpec.parse(spec); if (template.getLoginUser() != null) { Iterable<String> userPass = Splitter.on(':').split(template.getLoginUser()); Builder loginCredentialsBuilder = LoginCredentials.builder(); loginCredentialsBuilder.user(Iterables.get(userPass, 0)); if (Iterables.size(userPass) == 2) loginCredentialsBuilder.password(Iterables.get(userPass, 1)); if (template.getAuthenticateSudo() != null) loginCredentialsBuilder.authenticateSudo(template.getAuthenticateSudo()); loginCredentials = loginCredentialsBuilder.build(); } } return overrides; }
protected Properties setupComputeProperties() { Properties overrides = new Properties(); overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true"); overrides.setProperty(Constants.PROPERTY_RELAX_HOSTNAME, "true"); computeProvider = setIfTestSystemPropertyPresent(overrides, provider + ".compute.provider"); computeIdentity = setIfTestSystemPropertyPresent(overrides, provider + ".compute.identity"); computeCredential = setIfTestSystemPropertyPresent(overrides, provider + ".compute.credential"); computeEndpoint = setIfTestSystemPropertyPresent(overrides, provider + ".compute.endpoint"); computeApiversion = setIfTestSystemPropertyPresent(overrides, provider + ".compute.api-version"); computeBuildversion = setIfTestSystemPropertyPresent(overrides, provider + ".compute.build-version"); String spec = setIfTestSystemPropertyPresent(overrides, provider + ".compute.template"); if (spec != null) { template = TemplateBuilderSpec.parse(spec); if (template.getLoginUser() != null) { Iterable<String> userPass = Splitter.on(':').split(template.getLoginUser()); Builder loginCredentialsBuilder = LoginCredentials.builder(); loginCredentialsBuilder.user(Iterables.get(userPass, 0)); if (Iterables.size(userPass) == 2) loginCredentialsBuilder.password(Iterables.get(userPass, 1)); if (template.getAuthenticateSudo() != null) loginCredentialsBuilder.authenticateSudo(template.getAuthenticateSudo()); loginCredentials = loginCredentialsBuilder.build(); } } return overrides; }
if (spec != null) { template = TemplateBuilderSpec.parse(spec); if (template.getLoginUser() != null) { Iterable<String> userPass = Splitter.on(':').split( template.getLoginUser()); Builder loginCredentialsBuilder = LoginCredentials.builder(); loginCredentialsBuilder.user(Iterables.get(userPass, 0));