Repository: incubator-brooklyn Updated Branches: refs/heads/master 4ea52475f -> 1adccdae1
Fix for BROOKLYN-169 - CreateUserPolicy always resets the password - Added parameter (RESET_LOGIN_USER) - RESET_LOGIN_USER is false by default - RESET_LOGIN_USER controls when login password to be reset Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/6f986cb9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/6f986cb9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/6f986cb9 Branch: refs/heads/master Commit: 6f986cb9c3be23d1681ab2392329cd95d400030b Parents: ac88adc Author: Yavor Yanchev <[email protected]> Authored: Wed Sep 2 23:03:08 2015 +0300 Committer: Yavor Yanchev <[email protected]> Committed: Wed Sep 9 15:19:26 2015 +0300 ---------------------------------------------------------------------- .../apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java | 9 ++++++++- .../policy/jclouds/os/CreateUserPolicyLiveTest.java | 1 + .../brooklyn/policy/jclouds/os/CreateUserPolicyTest.java | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6f986cb9/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java ---------------------------------------------------------------------- diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java b/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java index 292a28a..2ad0dde 100644 --- a/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java +++ b/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java @@ -87,6 +87,12 @@ public class CreateUserPolicy extends AbstractPolicy implements SensorEventListe "createuser.vm.user.credentials", "The \"<user> : <password> @ <hostname>:<port>\""); + @SetFromFlag("resetLoginUser") + public static final ConfigKey<Boolean> RESET_LOGIN_USER = ConfigKeys.newBooleanConfigKey( + "createuser.vm.user.resetLoginUser", + "Whether to reset the password used for user login", + false); + public void setEntity(EntityLocal entity) { super.setEntity(entity); subscribe(entity, AbstractEntity.LOCATION_ADDED, this); @@ -110,6 +116,7 @@ public class CreateUserPolicy extends AbstractPolicy implements SensorEventListe protected void addUser(Entity entity, SshMachineLocation machine) { boolean grantSudo = getRequiredConfig(GRANT_SUDO); + boolean resetPassword = getRequiredConfig(RESET_LOGIN_USER); String user = getRequiredConfig(VM_USERNAME); String password = Identifiers.makeRandomId(12); String hostname = machine.getAddress().getHostName(); @@ -125,7 +132,7 @@ public class CreateUserPolicy extends AbstractPolicy implements SensorEventListe .adminUsername(user) .adminPassword(password) .grantSudoToAdminUser(false) - .resetLoginPassword(true) + .resetLoginPassword(resetPassword) .loginPassword(password) .authorizeAdminPublicKey(false) .adminPublicKey("ignored") http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6f986cb9/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyLiveTest.java ---------------------------------------------------------------------- diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyLiveTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyLiveTest.java index 0fe9b24..72b2083 100644 --- a/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyLiveTest.java +++ b/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyLiveTest.java @@ -73,6 +73,7 @@ public class CreateUserPolicyLiveTest extends BrooklynAppLiveTestSupport { app.createAndManageChild(EntitySpec.create(TestEntity.class) .policy(PolicySpec.create(CreateUserPolicy.class) .configure(CreateUserPolicy.GRANT_SUDO, true) + .configure(CreateUserPolicy.RESET_LOGIN_USER, true) .configure(CreateUserPolicy.VM_USERNAME, newUsername))); TestEntity entity = (TestEntity) Iterables.getOnlyElement(app.getChildren()); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6f986cb9/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java ---------------------------------------------------------------------- diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java index e423528..82b6dfa 100644 --- a/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java +++ b/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java @@ -107,6 +107,7 @@ public class CreateUserPolicyTest extends BrooklynAppUnitTestSupport { app.createAndManageChild(EntitySpec.create(TestEntity.class) .policy(PolicySpec.create(CreateUserPolicy.class) .configure(CreateUserPolicy.GRANT_SUDO, true) + .configure(CreateUserPolicy.RESET_LOGIN_USER, false) .configure(CreateUserPolicy.VM_USERNAME, newUsername))); TestEntity entity = (TestEntity) Iterables.getOnlyElement(app.getChildren()); app.start(ImmutableList.of(machine));
