You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2015/03/17 20:44:44 UTC

[1/7] incubator-brooklyn git commit: Unclutter brooklyn-rest-client BrooklynApi

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master 2a3292027 -> e4b5f2428


Unclutter brooklyn-rest-client BrooklynApi

Organize constructors in an order that makes sense.
Use the painless way of RESTeasy to provide credentials within HTTP
requests.


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/99ff8c9c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/99ff8c9c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/99ff8c9c

Branch: refs/heads/master
Commit: 99ff8c9c0a8f9a6af14db8e469271619f6472b3b
Parents: f3e0430
Author: Ciprian Ciubotariu <ch...@gmx.net>
Authored: Fri Mar 13 23:25:22 2015 +0200
Committer: Ciprian Ciubotariu <ch...@gmx.net>
Committed: Fri Mar 13 23:25:22 2015 +0200

----------------------------------------------------------------------
 .../java/brooklyn/rest/client/BrooklynApi.java  | 35 +++++++++++---------
 1 file changed, 19 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/99ff8c9c/usage/rest-client/src/main/java/brooklyn/rest/client/BrooklynApi.java
----------------------------------------------------------------------
diff --git a/usage/rest-client/src/main/java/brooklyn/rest/client/BrooklynApi.java b/usage/rest-client/src/main/java/brooklyn/rest/client/BrooklynApi.java
index 1dbdf6c..7bcff46 100644
--- a/usage/rest-client/src/main/java/brooklyn/rest/client/BrooklynApi.java
+++ b/usage/rest-client/src/main/java/brooklyn/rest/client/BrooklynApi.java
@@ -50,6 +50,9 @@ import brooklyn.rest.api.SensorApi;
 import brooklyn.rest.api.ServerApi;
 import brooklyn.rest.api.UsageApi;
 import brooklyn.rest.api.VersionApi;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.Credentials;
+import org.apache.http.auth.UsernamePasswordCredentials;
 
 /**
  * @author Adam Lowe
@@ -69,32 +72,32 @@ public class BrooklynApi {
     }
 
     public BrooklynApi(URL endpoint, String username, String password) {
-        this(endpoint.toString(), username, password);
+        this(endpoint.toString(), new UsernamePasswordCredentials(username, password));
     }
 
-    public BrooklynApi(final String endpoint, final String username, final String password) {
+    public BrooklynApi(String endpoint, String username, String password) {
+        this(endpoint, new UsernamePasswordCredentials(username, password));
+    }
+
+    public BrooklynApi(URL endpoint, Credentials credentials) {
+        this(endpoint.toString(), credentials);
+    }
+
+    public BrooklynApi(String endpoint, Credentials credentials) {
         URL target = null;
         try {
             target = new URL(checkNotNull(endpoint, "endpoint"));
         } catch (MalformedURLException e) {
             throw new IllegalArgumentException(e);
         }
-        this.target = endpoint;
 
-        // Resteasy is a big pain.
-        DefaultHttpClient client = new DefaultHttpClient();
-        if (username != null && password != null) {
-            clientExecutor = new ApacheHttpClient4Executor(client) {
-                @Override
-                public ClientResponse execute(ClientRequest request) throws Exception {
-                    String token = username + ":" + password;
-                    String base64Token = Base64.encodeBase64String(token.getBytes(Charsets.UTF_8));
-                    request.header("Authorization", "Basic " + base64Token);
-                    return super.execute(request);
-                }
-            };
+        this.target = endpoint;
+        if (credentials != null) {
+            DefaultHttpClient httpClient = new DefaultHttpClient();
+            httpClient.getCredentialsProvider().setCredentials(AuthScope.ANY, credentials);
+            this.clientExecutor = new ApacheHttpClient4Executor(httpClient);
         } else {
-            clientExecutor = new ApacheHttpClient4Executor(client);
+            this.clientExecutor = ClientRequest.getDefaultExecutor();
         }
     }
 


[5/7] incubator-brooklyn git commit: Riak Linux - sysctl optimizations

Posted by he...@apache.org.
Riak Linux - sysctl optimizations


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/66bdefb0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/66bdefb0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/66bdefb0

Branch: refs/heads/master
Commit: 66bdefb0432be09f67013a7688411cd03c5d088a
Parents: 6b0af95
Author: Valentin Aitken <bo...@gmail.com>
Authored: Tue Mar 17 18:05:11 2015 +0200
Committer: Valentin Aitken <bo...@gmail.com>
Committed: Tue Mar 17 18:12:06 2015 +0200

----------------------------------------------------------------------
 .../entity/nosql/riak/RiakNodeSshDriver.java    | 21 +++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/66bdefb0/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
index f1d2465..00e304f 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
@@ -26,7 +26,6 @@ import java.util.Map;
 
 import brooklyn.util.ssh.BashCommands;
 import brooklyn.util.task.ssh.SshTasks;
-import com.google.api.client.util.Joiner;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -43,6 +42,7 @@ import brooklyn.util.os.Os;
 import brooklyn.util.task.DynamicTasks;
 import brooklyn.util.text.Strings;
 
+import com.google.common.base.Joiner;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
@@ -253,6 +253,25 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
             commands.add(sudo("chown -R riak:riak " + getRiakEtcDir()));
         }
 
+        if(osDetails.isLinux()) {
+            ImmutableMap<String, String> sysctl = ImmutableMap.<String, String>builder()
+                    .put("vm.swappiness", "0")
+                    .put("net.core.somaxconn", "40000")
+                    .put("net.ipv4.tcp_max_syn_backlog", "40000")
+                    .put("net.ipv4.tcp_sack",  "1")
+                    .put("net.ipv4.tcp_window_scaling",  "15")
+                    .put("net.ipv4.tcp_fin_timeout",     "1")
+                    .put("net.ipv4.tcp_keepalive_intvl", "30")
+                    .put("net.ipv4.tcp_tw_reuse",        "1")
+                    .put("net.ipv4.tcp_moderate_rcvbuf", "1")
+                    .build();
+
+            // TODO platform_*_dir
+            // TODO riak config log
+
+            commands.add( sudo("sysctl " + Joiner.on(' ').withKeyValueSeparator("=").join(sysctl)));
+        }
+
         ScriptHelper customizeScript = newScript(CUSTOMIZING)
                 .failOnNonZeroResultCode()
                 .body.append(commands);


[2/7] incubator-brooklyn git commit: Ignore netbeans files

Posted by he...@apache.org.
Ignore netbeans files


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/f3373691
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/f3373691
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/f3373691

Branch: refs/heads/master
Commit: f337369143d8dce7364a7e19ba8688af122f591a
Parents: 99ff8c9
Author: Ciprian Ciubotariu <ch...@gmx.net>
Authored: Fri Nov 28 15:22:25 2014 +0200
Committer: Ciprian Ciubotariu <ch...@gmx.net>
Committed: Fri Mar 13 23:27:42 2015 +0200

----------------------------------------------------------------------
 .gitignore | 3 +++
 pom.xml    | 2 ++
 2 files changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f3373691/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 045e2de..ed439f2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,9 @@ test-output/
 .idea/
 *.iml
 
+nbactions.xml
+nb-configuration.xml
+
 prodDb.*
 
 *.log

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f3373691/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 402ba2b..bfbf96f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1013,6 +1013,8 @@
                                 Excluding sandbox because not part of distribution: not in tgz, and not uploaded to maven-central.
                             -->
                             <exclude>sandbox/**</exclude>
+                            <exclude>**/nbactions.xml</exclude>
+                            <exclude>**/nb-configuration.xml</exclude>
                         </excludes>
                     </configuration>
                 </plugin>


[7/7] incubator-brooklyn git commit: This closes #552

Posted by he...@apache.org.
This closes #552


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/e4b5f242
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/e4b5f242
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/e4b5f242

Branch: refs/heads/master
Commit: e4b5f2428239315aa6a13b670ea6fd506976d4cb
Parents: c62c91c 66bdefb
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Mar 17 19:44:33 2015 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Mar 17 19:44:33 2015 +0000

----------------------------------------------------------------------
 .../brooklyn/entity/nosql/riak/RiakNode.java    |  3 +-
 .../entity/nosql/riak/RiakNodeSshDriver.java    | 56 ++++++++------------
 .../java/brooklyn/util/ssh/BashCommands.java    | 35 +++++++++++-
 3 files changed, 57 insertions(+), 37 deletions(-)
----------------------------------------------------------------------



[3/7] incubator-brooklyn git commit: Riak Linux

Posted by he...@apache.org.
Riak Linux

- Move the utility methods to the appropriate
  BashCommands class


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/bddb4311
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/bddb4311
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/bddb4311

Branch: refs/heads/master
Commit: bddb4311c3c1892b2ef2a64bb55e618e9be030d7
Parents: f3e0430
Author: Valentin Aitken <bo...@gmail.com>
Authored: Sat Mar 14 23:58:38 2015 +0200
Committer: Valentin Aitken <bo...@gmail.com>
Committed: Sat Mar 14 23:58:38 2015 +0200

----------------------------------------------------------------------
 .../entity/nosql/riak/RiakNodeSshDriver.java    | 31 -----------------
 .../java/brooklyn/util/ssh/BashCommands.java    | 35 ++++++++++++++++++--
 2 files changed, 33 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/bddb4311/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
index aed7ceb..37ddc1f 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
@@ -201,37 +201,6 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                 .build();
     }
 
-    private static String addSbinPathCommand() {
-        return "export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
-    }
-
-    /**
-     * Returns a command which
-     * executes <code>statement</code> only if <code>command</code> is NOT found in <code>$PATH</code>
-     *
-     * @param command
-     * @param statement
-     * @return command
-     */
-    private static String ifNotExecutable(String command, String statement) {
-        return String.format("{ { test ! -z `which %s`; } || { %s; } }", command, statement);
-    }
-
-    private static String ifExecutableElse(String command, String ifTrue, String otherwise) {
-        return com.google.common.base.Joiner.on('\n').join(
-                ifExecutableElse(command, ImmutableList.<String>of(ifTrue), ImmutableList.<String>of(otherwise)));
-    }
-
-    private static ImmutableList<String> ifExecutableElse(String command, List<String> ifTrue, List<String> otherwise) {
-        return ImmutableList.<String>builder()
-                .add(String.format("if test -z `which %s`; then", command))
-                .addAll(ifTrue)
-                .add("else")
-                .addAll(otherwise)
-                .add("fi")
-                .build();
-    }
-
     protected List<String> installMac() {
         String saveAs = resolver.getFilename();
         String url = entity.getAttribute(RiakNode.DOWNLOAD_URL_MAC).toString();

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/bddb4311/utils/common/src/main/java/brooklyn/util/ssh/BashCommands.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/brooklyn/util/ssh/BashCommands.java b/utils/common/src/main/java/brooklyn/util/ssh/BashCommands.java
index b59d973..21b87d1 100644
--- a/utils/common/src/main/java/brooklyn/util/ssh/BashCommands.java
+++ b/utils/common/src/main/java/brooklyn/util/ssh/BashCommands.java
@@ -138,6 +138,10 @@ public class BashCommands {
 //        return "{ sudo -n -S -i -u "+user+" -- "+BashStringEscapes.wrapBash(command)+" ; }";
 //    }
 
+    public static String addSbinPathCommand() {
+        return "export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
+    }
+
     /** executes a command, then as user tees the output to the given file. 
      * useful e.g. for appending to a file which is only writable by root or a priveleged user. */
     public static String executeCommandThenAsUserTeeOutputToFile(String commandWhoseOutputToWrite, String user, String file) {
@@ -200,14 +204,41 @@ public class BashCommands {
     }
 
     /**
+     * Returns a command which
+     * executes <code>statement</code> only if <code>command</code> is NOT found in <code>$PATH</code>
+     *
+     * @param command
+     * @param statement
+     * @return command
+     */
+    public static String ifNotExecutable(String command, String statement) {
+        return String.format("{ { test ! -z `which %s`; } || { %s; } }", command, statement);
+    }
+
+    /**
      * Returns a command that runs only if the specified executable exists on the path (using `which`).
      * if the command runs and fails that exit is preserved (but if the executable is not on the path exit code is zero).
-     * @see #ifFileExistsElse0(String, String) for implementation discussion, using <code>{ { test -z `which executable` && true ; } || command ; } 
+     * @see #ifFileExistsElse0(String, String) for implementation discussion, using <code>{ { test -z `which executable` && true ; } || command ; }
      */
     public static String onlyIfExecutableMissing(String executable, String command) {
         return alternativesGroup(format("which %s", executable), command);
     }
-    
+
+    public static String ifExecutableElse(String command, String ifTrue, String otherwise) {
+        return com.google.common.base.Joiner.on('\n').join(
+                ifExecutableElse(command, ImmutableList.<String>of(ifTrue), ImmutableList.<String>of(otherwise)));
+    }
+
+    public static ImmutableList<String> ifExecutableElse(String command, List<String> ifTrue, List<String> otherwise) {
+        return ImmutableList.<String>builder()
+                .add(String.format("if test -z `which %s`; then", command))
+                .addAll(ifTrue)
+                .add("else")
+                .addAll(otherwise)
+                .add("fi")
+                .build();
+    }
+
     /**
      * Returns a sequence of chained commands that runs until one of them fails (i.e. joined by '&&')
      * This currently runs as a subshell (so exits are swallowed) but behaviour may be changed imminently. 


[4/7] incubator-brooklyn git commit: Riak Linux

Posted by he...@apache.org.
Riak Linux

- Add versioning support for the default
  Linux installations from packagecloud


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/6b0af953
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/6b0af953
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/6b0af953

Branch: refs/heads/master
Commit: 6b0af9530619682a4e96728063e384d061a1f053
Parents: bddb431
Author: Valentin Aitken <bo...@gmail.com>
Authored: Sun Mar 15 02:45:21 2015 +0200
Committer: Valentin Aitken <bo...@gmail.com>
Committed: Sun Mar 15 02:45:21 2015 +0200

----------------------------------------------------------------------
 .../nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java | 3 ++-
 .../main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java  | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6b0af953/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
index 0dbc833..ef9556d 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
@@ -45,7 +45,8 @@ public interface RiakNode extends SoftwareProcess {
 
     @SetFromFlag("version")
     ConfigKey<String> SUGGESTED_VERSION = ConfigKeys.newConfigKeyWithDefault(SoftwareProcess.SUGGESTED_VERSION,
-            "2.0.2");
+            "Version to install. Example 2.0.2, 2.0.5",
+            "2.0.5");
 
     // vm.args and app.config are used for pre-version 2.0.0. Later versions use the (simplified) riak.conf
     // see https://github.com/joedevivo/ricon/blob/master/cuttlefish.md

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6b0af953/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
index 37ddc1f..f1d2465 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
@@ -190,14 +190,14 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
     private ImmutableList<String> installDebianBased() {
         return ImmutableList.<String>builder()
                 .add("curl https://packagecloud.io/install/repositories/basho/riak/script.deb | " + BashCommands.sudo("bash"))
-                .add(BashCommands.sudo("apt-get install --assume-yes riak"))
+                .add(BashCommands.sudo("apt-get install --assume-yes riak=" + getEntity().getFullVersion() + "-1"))
                 .build();
     }
 
     private ImmutableList<String> installRpmBased() {
         return ImmutableList.<String>builder()
                 .add("curl https://packagecloud.io/install/repositories/basho/riak/script.rpm | " + BashCommands.sudo("bash"))
-                .add(BashCommands.sudo("yum install -y riak"))
+                .add(BashCommands.sudo("yum install -y riak-" + getEntity().getFullVersion() + "-1"))
                 .build();
     }
 


[6/7] incubator-brooklyn git commit: This closes #551

Posted by he...@apache.org.
This closes #551


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/c62c91c3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/c62c91c3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/c62c91c3

Branch: refs/heads/master
Commit: c62c91c37993ce33cfec81aad1dfe6444fabea6a
Parents: 2a32920 f337369
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Mar 17 19:44:30 2015 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Mar 17 19:44:30 2015 +0000

----------------------------------------------------------------------
 .gitignore                                      |  3 ++
 pom.xml                                         |  2 ++
 .../java/brooklyn/rest/client/BrooklynApi.java  | 35 +++++++++++---------
 3 files changed, 24 insertions(+), 16 deletions(-)
----------------------------------------------------------------------