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));

Reply via email to