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 2016/01/30 04:38:26 UTC

[01/29] incubator-brooklyn git commit: Updated blueprints and managing

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master 9d5ba14b9 -> a6f32193d


Updated blueprints and managing


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

Branch: refs/heads/master
Commit: 30853249d1f01d5b0d754fec31eea8b51ed22cd3
Parents: 5644e28
Author: Duncan Godwin <du...@cloudsoftcorp.com>
Authored: Fri Jan 15 11:51:42 2016 +0000
Committer: Duncan Godwin <du...@cloudsoftcorp.com>
Committed: Fri Jan 15 12:04:29 2016 +0000

----------------------------------------------------------------------
 brooklyn-docs/guide/start/blueprints.md        | 46 ++++++++++-----------
 brooklyn-docs/guide/start/managing.md          | 44 ++++++++++----------
 brooklyn-docs/guide/start/running.md           |  4 +-
 brooklyn-docs/guide/yaml/test/test-entities.md |  2 +
 4 files changed, 49 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30853249/brooklyn-docs/guide/start/blueprints.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/blueprints.md b/brooklyn-docs/guide/start/blueprints.md
index 90d1d48..0c52de9 100644
--- a/brooklyn-docs/guide/start/blueprints.md
+++ b/brooklyn-docs/guide/start/blueprints.md
@@ -6,14 +6,14 @@ children:
 - { section: Launching from a Blueprint, title: Blueprint } 
 ---
 
-Blueprints are the descriptors or patterns which describe how Apache Brooklyn should deploy applications.
+Blueprints are descriptors or patterns which describe how Apache Brooklyn should deploy applications. Blueprints are written in [YAML](https://en.wikipedia.org/wiki/YAML){:target="_blank"} and all of the entities available are defined in the __[Brooklyn Catalog](../../learnmore/catalog/)__.
 
 ## Launching from a Blueprint
 
-We'll start by deploying an application with a simple YAML blueprint containing a Tomcat server.
+We'll start by deploying an application with a simple YAML blueprint containing an [Apache Tomcat](https://tomcat.apache.org/){:target="_blank"} server.
 
 Copy the blueprint below into a text file, "myapp.yaml", in your workspace (Note, to copy the file you can
-hover your mouse over the right side of the text box below to get a Javascript "copy" button.)
+hover your mouse over the right side of the text box below to get a Javascript "copy" button).
 
 {% highlight yaml %}
 name: Tomcat
@@ -25,9 +25,9 @@ services:
 
 ## Locations
 
-Before you create an application with the configuration you need to modify the YAML to specify a location. Locations in Apache Brooklyn are server resources Brooklyn can use to deploy applications. These locations may be servers or cloud providers which provide access to servers. 
+Before you can create an application with this configuration, you need to modify the YAML to specify a location. Locations in Apache Brooklyn are server resources which Brooklyn can use to deploy applications. These locations may be servers or cloud providers which provide access to servers. 
 
-In order to configure the location Apache Brooklyn launches an application, replace the ```location:``` element with values for your chosen target environment, here are some examples for the variouss location types.
+In order to configure the location in which Apache Brooklyn launches an application, replace the ```location:``` element with values for your chosen target environment. Here are some examples of the various location types:
 
 {::options parse_block_html="true" /}
 
@@ -35,21 +35,20 @@ In order to configure the location Apache Brooklyn launches an application, repl
     <li class="active impl-1-tab"><a data-target="#impl-1, .impl-1-tab" data-toggle="tab" href="#">Vagrant</a></li>
     <li class="impl-2-tab"><a data-target="#impl-2, .impl-2-tab" data-toggle="tab" href="#">Clouds</a></li>
     <li class="impl-3-tab"><a data-target="#impl-3, .impl-3-tab" data-toggle="tab" href="#">BYON</a></li>
-    <li class="impl-4-tab"><a data-target="#impl-4, .impl-4-tab" data-toggle="tab" href="#">Localhost</a></li>
 </ul>
 
 <div class="tab-content">
 <div id="impl-1" class="tab-pane fade in active">
 
-The Vagrant configuration described in [Running Apache Brooklyn](./running.html), on the previous page is the **recommended** way of running this tutorial. This configuration comes with four blank vagrant configurations called byon1 to byon4
+The Vagrant configuration described in [Running Apache Brooklyn](./running.html), on the previous page is the recommended way of running this tutorial. This configuration comes with four blank vagrant configurations called byon1 to byon4.
 
-These can be launched by entering the following line into the terminal in the vagrant configuration directory.
+These can be launched by entering the following command into the terminal in the vagrant configuration directory.
 
 {% highlight bash %}
  $ vagrant up byon1 byon2 byon3 byon4
 {% endhighlight %}
 
-The location in "myapp.yaml" can then be replaced by the following YAML to launch to these
+The location in "myapp.yaml" can then be replaced with the following YAML to launch using these.
 
 {% highlight yaml %}
 location:
@@ -66,9 +65,9 @@ location:
 </div>
 <div id="impl-2" class="tab-pane fade">
 
-Apache Brooklyn uses [Apcahe jclouds](http://jclouds.apache.org/) to support a range of cloud locations. More information on the range of providers and configurations is available [here](../ops/locations/#clouds).
+Apache Brooklyn uses [Apcahe jclouds](http://jclouds.apache.org/){:target="_blank"} to support a range of cloud locations. More information on the range of providers and configurations is available [here](../ops/locations/#clouds){:target="_blank"}.
 
-As an example here is a configuration for [Amazon Web Services (AWS)](http://www.aws.amazon.com). Swap the identity and credential with your AWS account details then replace the location in your "myapp.yaml" with this.
+As an example, here is a configuration for [Amazon Web Services (AWS)](http://www.aws.amazon.com){:target="_blank"}. Swap the identity and credential with your AWS account details, then replace the location in your "myapp.yaml" with this.
 
 {% highlight yaml %}
 location:
@@ -80,7 +79,9 @@ location:
 </div>
 <div id="impl-3" class="tab-pane fade">
 
-The Bring Your Own Nodes (BYON) configuration allows Apache Brooklyn to make use of already available servers. These can be specified by a list of IP addresses with a user and password as shown below. More information including the full range of configuration options is available [here](../ops/locations/#byon). 
+The Bring Your Own Nodes (BYON) configuration allows Apache Brooklyn to make use of already available servers. These can be specified by a list of IP addresses with a user and password as shown below. More information including the full range of configuration options is available [here](../ops/locations/#byon){:target="_blank"}. 
+
+Replace the hosts, user and password in the example below with your own server details, then replace the location in your "myapp.yaml" with this.
 
 {% highlight yaml %}
 location:
@@ -95,36 +96,35 @@ location:
 {% endhighlight %}
 
 </div>
-<div id="impl-4" class="tab-pane fade">
-
-</div>
 </div>
 
 ---
 
-**Note**: For instructions on setting up a variety of locations or storing credentials/locations in a file on disk rather than in the blueprint see __[Locations](../ops/locations)__ in the Operations section of the User Guide.
+**Note**: For instructions on setting up a variety of locations or storing credentials/locations in a file on disk rather than in the blueprint, see __[Locations](../ops/locations)__ in the Operations section of the User Guide.
 
 ## Deploying the Application
 
-First, log in to brooklyn with the command line tool (CLI) by typing:
+First, log in to brooklyn with the command line interface (CLI) tool by typing:
 {% highlight bash %}
 $ br login http://localhost:8081/
 {% endhighlight %}
 
-To secure the Apache Brooklyn instance you can add a username and password to Brooklyn's properties file, as described in the User Guide [here](../ops/brooklyn_properties.html). 
-Then the login command will require the additional parameters of the userid and password.
+To secure the Apache Brooklyn instance, you can add a username and password to Brooklyn's properties file, as described in the User Guide [here](../ops/brooklyn_properties.html){:target="_blank"}. 
+If this is configured, the login command will then require additional parameters for the userid and password.
 
 Now you can create the application with the command below:
 
 {% highlight bash %}
-$ br deploy myapp.yaml
+$ br deploy myapp.yaml 
+{% endhighlight %}
+<pre>
 Id:       hTPAF19s   
 Name:     Tomcat   
-Status:   In progress   
-{% endhighlight %}
+Status:   In progress  
+</pre>
 
 Depending on your choice of location it may take some time for the application to start, the next page describes how 
-you can monitor the progress of the application deployment and verify its successful deployment.
+you can monitor the progress of the application deployment and verify if it was successful.
 
 ## Next
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30853249/brooklyn-docs/guide/start/managing.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/managing.md b/brooklyn-docs/guide/start/managing.md
index da027a7..63742f9 100644
--- a/brooklyn-docs/guide/start/managing.md
+++ b/brooklyn-docs/guide/start/managing.md
@@ -16,28 +16,6 @@ children:
 So far we have touched on Brooklyn's ability to *deploy* an application blueprint to a cloud provider, but this just 
 the beginning. The sections below outline how to manage the application that has been deployed.
 
-
-## Scopes in CLI commands
-Many commands require a "scope" expression to indicate the target on which they operate. The scope expressions are
-as follows (values in brackets are aliases for the scope):
-
-- ```application``` APP-ID   (app, a)  
- Selects an application, e.g. "br app myapp"  
-- ```entity```      ENT-ID   (ent, e)  
- Selects an entity within an application scope, e.g. ```br app myapp ent myserver```  
-- ```effector```    EFF-ID   (eff, f)  
- Selects an effector of an entity or application, e.g. ```br a myapp e myserver eff xyz```  
-- ```config```      CONF-KEY (conf, con, c)  
- Selects a configuration key of an entity e.g. ```br a myapp e myserver config jmx.agent.mode```  
-- ```activity```    ACT-ID   (act, v)  
- Selects an activity of an entity e.g. ```br a myapp e myserver act iHG7sq1```  
-
-For example
-{% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r config
-{% endhighlight %}
-runs the ```config``` command with application scope of ```Tomcat``` and entity scope of ```TomcatServer:Wx7r```.
-
 ## Applications
 
 Having created the application we can query its status.  We can find a summary of all deployed apps:
@@ -353,6 +331,28 @@ $ br app Tomcat ent TomcatServer:Wx7r act KLTxDkoa stderr
 {% endhighlight %}
 
 
+## Scopes in CLI commands
+Many commands require a "scope" expression to indicate the target on which they operate. The scope expressions are
+as follows (values in brackets are aliases for the scope):
+
+- ```application``` APP-ID   (app, a)  
+ Selects an application, e.g. "br app myapp"  
+- ```entity```      ENT-ID   (ent, e)  
+ Selects an entity within an application scope, e.g. ```br app myapp ent myserver```  
+- ```effector```    EFF-ID   (eff, f)  
+ Selects an effector of an entity or application, e.g. ```br a myapp e myserver eff xyz```  
+- ```config```      CONF-KEY (conf, con, c)  
+ Selects a configuration key of an entity e.g. ```br a myapp e myserver config jmx.agent.mode```  
+- ```activity```    ACT-ID   (act, v)  
+ Selects an activity of an entity e.g. ```br a myapp e myserver act iHG7sq1```  
+
+For example
+{% highlight bash %}
+$ br app Tomcat ent TomcatServer:Wx7r config
+{% endhighlight %}
+runs the ```config``` command with application scope of ```Tomcat``` and entity scope of ```TomcatServer:Wx7r```.
+
+
 ## Next
 
 We will look next at a slightly more complex example, which will illustrate the capabilities of Brooklyn's

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30853249/brooklyn-docs/guide/start/running.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/running.md b/brooklyn-docs/guide/start/running.md
index 3fefeb5..74dc687 100644
--- a/brooklyn-docs/guide/start/running.md
+++ b/brooklyn-docs/guide/start/running.md
@@ -7,7 +7,7 @@ menu_parent: index.md
 
 This guide will walk you through deploying an example 3-tier web application to a public cloud, and demonstrate the autoscaling capabilities of the Brooklyn platform.
 
-An overview of core [Brooklyn concepts](./concept-quickstart.html) is available for reference.
+An overview of core [Brooklyn concepts](./concept-quickstart.html){:target="_blank"} is available for reference.
 
 Two methods of deployment are detailed in this tutorial, using virtualisation with Vagrant and a local install. Both assume that you are using Linux or Mac OS X.
 
@@ -128,7 +128,7 @@ By default it can be accessed by opening [127.0.0.1:8081](http://127.0.0.1:8081)
 
 The rest of this getting started guide uses the Apache Brooklyn command line interface (CLI). To use this, download and install the tool as described on the [CLI GitHub page](https://github.com/brooklyncentral/brooklyn-cli){:target="_blank"}.
 
-The CLI provides the command `br`, it's full usage is described in the user manual which can be found [here](../ops/cli/)
+The CLI provides the command `br`, it's full usage is described in the user manual which can be found [here](../ops/cli/){:target="_blank"}
 
 ## Next
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30853249/brooklyn-docs/guide/yaml/test/test-entities.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/yaml/test/test-entities.md b/brooklyn-docs/guide/yaml/test/test-entities.md
index 2b9fdfe..a81a3d6 100644
--- a/brooklyn-docs/guide/yaml/test/test-entities.md
+++ b/brooklyn-docs/guide/yaml/test/test-entities.md
@@ -37,6 +37,7 @@ Timeouts on child entities should be set relative to the start of the `ParallelT
 The `LoopOverGroupMembersTestCase` entity is configured with a target group and a test specification. For each member of the targeted group, the test case will create a TargetableTestComponent entity from the supplied test specification and set the components target to be the group member.
 
 {% highlight yaml %}
+{% readj example_yaml/entities/loopovergroupmembers-entity.yaml %}
 {% endhighlight %}
 
 #### Parameters
@@ -49,6 +50,7 @@ The `LoopOverGroupMembersTestCase` entity is configured with a target group and
 The `InfrastructureDeploymentTestCase` will first create and deploy an infrastructure from the `infrastructure.deployment.spec` config. It will then retrieve a deployment location by getting the value of the infrastructures `infrastructure.deployment.location.sensor` sensor. It will then create and deploy all entities from the `infrastructure.deployment.spec` config to the deployment location.
 
 {% highlight yaml %}
+{% readj example_yaml/entities/infrastructuredeploymenttestcase-entity.yaml %}
 {% endhighlight %}
 
 #### Parameters


[07/29] incubator-brooklyn git commit: update make-release-artifacts to work with current repo structure

Posted by he...@apache.org.
update make-release-artifacts to work with current repo structure


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

Branch: refs/heads/master
Commit: 9fdca59d230a3459955be4914d569a2dfea0c74b
Parents: b28ba02
Author: John McCabe <jo...@johnmccabe.net>
Authored: Thu Jan 21 18:42:08 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Thu Jan 21 18:42:08 2016 +0000

----------------------------------------------------------------------
 brooklyn-dist/release/make-release-artifacts.sh | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/9fdca59d/brooklyn-dist/release/make-release-artifacts.sh
----------------------------------------------------------------------
diff --git a/brooklyn-dist/release/make-release-artifacts.sh b/brooklyn-dist/release/make-release-artifacts.sh
index 476a6e3..dfdd976 100755
--- a/brooklyn-dist/release/make-release-artifacts.sh
+++ b/brooklyn-dist/release/make-release-artifacts.sh
@@ -18,7 +18,9 @@
 # under the License.
 #
 
-# creates a source release - this is a .tar.gz file containing all the source code files that are permitted to be released.
+# Creates the following releases with archives (.tar.gz/.zip), signatures and checksums:
+#   binary  (-bin)     - contains the brooklyn dist binary release
+#   source  (-src)     - contains all the source code files that are permitted to be released
 
 set -e
 
@@ -179,7 +181,7 @@ mkdir -p ${bin_staging_dir}
 # * release (where this is running, and people who *have* the release don't need to make it)
 # * jars and friends (these are sometimes included for tests, but those are marked as skippable,
 #     and apache convention does not allow them in source builds; see PR #365
-rsync -rtp --exclude .git\* --exclude docs/ --exclude sandbox/ --exclude release/ --exclude '**/*.[ejw]ar' . ${staging_dir}/${release_name}-src
+rsync -rtp --exclude .git\* --exclude brooklyn-docs/ --exclude brooklyn-library/sandbox/ --exclude brooklyn-dist/release/ --exclude '**/*.[ejw]ar' . ${staging_dir}/${release_name}-src
 
 rm -rf ${artifact_dir}
 mkdir -p ${artifact_dir}
@@ -210,10 +212,10 @@ fi
 # Perform the build and deploy to Nexus staging repository
 ( cd ${src_staging_dir} && mvn deploy -Papache-release )
 ## To test the script without a big deploy, use the line below instead of above
-#( cd ${src_staging_dir} && cd usage/dist && mvn clean install )
+#( cd ${src_staging_dir} && mvn clean install )
 
 # Re-pack the archive with the correct names
-tar xzf ${src_staging_dir}/usage/dist/target/brooklyn-dist-${current_version}-dist.tar.gz -C ${bin_staging_dir}
+tar xzf ${src_staging_dir}/brooklyn-dist/dist/target/brooklyn-dist-${current_version}-dist.tar.gz -C ${bin_staging_dir}
 mv ${bin_staging_dir}/brooklyn-dist-${current_version} ${bin_staging_dir}/${release_name}-bin
 
 ( cd ${bin_staging_dir} && tar czf ${artifact_dir}/${artifact_name}-bin.tar.gz ${release_name}-bin )


[13/29] incubator-brooklyn git commit: load locations from catalog, strip unnecessary properties - vagrant-catalog.bom loaded on startup in the systemd service unit

Posted by he...@apache.org.
load locations from catalog, strip unnecessary properties
- vagrant-catalog.bom loaded on startup in the systemd service unit


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

Branch: refs/heads/master
Commit: 8dee3a62fbbc3ca00a5ded4ed6488c7439621eb4
Parents: dc7e8c4
Author: John McCabe <jo...@johnmccabe.net>
Authored: Fri Jan 22 15:48:14 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Fri Jan 22 15:48:14 2016 +0000

----------------------------------------------------------------------
 .../src/main/vagrant/files/brooklyn.properties  | 323 +------------------
 .../src/main/vagrant/files/brooklyn.service     |   2 +-
 .../src/main/vagrant/files/vagrant-catalog.bom  |  82 +++++
 3 files changed, 84 insertions(+), 323 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8dee3a62/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
index e68f9a6..22f8688 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
@@ -1,325 +1,4 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# This is Brooklyn's dot-properties file.
-# It should be located at "~/.brooklyn/brooklyn.properties" for automatic loading,
-# or can be specified as a CLI option with --localProperties /path/to/these.properties.
-
-##################################  Welcome!  ############################################
-
-# It's great to have you here.
-
-# Getting Started options have been pulled to the top. There's a formatting guide at the
-# very bottom.
-
-############################ Getting Started Options  ####################################
-
-## GUI Security
-
-## NOTE: in production it is highly recommended to set this, as otherwise it will not require login,
-## not will it be encrypted (though for safety if security is not set it will only bind to loopback)
-
-## Edit the name(s) and passwords as appropriate to your system:
-
-# brooklyn.webconsole.security.users=admin,bob
-# brooklyn.webconsole.security.user.admin.password=password
-# brooklyn.webconsole.security.user.bob.password=bobsword
-
-## If you prefer to run with https (on port 8443 by default), uncomment this:
-
-# brooklyn.webconsole.security.https.required=true
-
-
-# By default we have AWS set up (but with invalid credentials!).  Many, many other
-# providers are supported.
-
-## Amazon EC2 Credentials
-# These should be an "Access Key ID" and "Secret Access Key" for your account.
-# This is configured at https://console.aws.amazon.com/iam/home?#security_credential .
-
-brooklyn.location.jclouds.aws-ec2.identity = AKA_YOUR_ACCESS_KEY_ID
-brooklyn.location.jclouds.aws-ec2.credential = <access-key-hex-digits>
-
-# Beware of trailing spaces in your cloud credentials. This will cause unexpected
-# 401: unauthorized responses.
-
-## Using Other Clouds
-# 1. Cast your eyes down this document to find your preferred cloud in the Named Locations
-#    section, and the examples.
-# 2. Uncomment the relevant line(s) for your provider.
-# 3. ADD  -.identity and -.credential lines for your provider, similar to the AWS ones above,
-#    replacing 'aws-ec2' with jcloud's id for your cloud.
-
-
-## Deploying to Localhost
-## see: info on locations at brooklyn.io
-#
-## ~/.ssh/id_rsa is Brooklyn's default location
-# brooklyn.location.localhost.privateKeyFile = ~/.ssh/id_rsa
-## Passphrases are supported, but not required
-# brooklyn.location.localhost.privateKeyPassphrase = s3cr3tpassphrase
-
-## Geoscaling Service - used for the Global Web Fabric demo
-## see: the global web example at brooklyn.io
-## https://www.geoscaling.com/dns2/
-## other services may take similar configuration similarly; or can usually be set in YAML
-# brooklyn.geoscaling.username = USERNAME
-# brooklyn.geoscaling.password = PASSWORD
-# brooklyn.geoscaling.primaryDomain = DOMAIN
-
-
-##########################  Getting Started Complete!  ###################################
-
-# That's it, although you may want to read through these options...
-
-################################ Brooklyn Options ########################################
-
-## Brooklyn Management Base Directory: specify where management data should be stored on this server;
-## ~/.brooklyn/ is the default but you could use something like /opt/brooklyn/state/
-## (provided this process has write permissions)
-# brooklyn.base.dir=~/.brooklyn/
-
-## Brooklyn On-Box Directory: specify where data should be stored on managed hosts;
-## for most locations a directory off home is the default (but using /tmp/brooklyn-user/ on localhost),
-## however you could specify something like /opt/brooklyn-managed-process/ (creation and permissions are handled)
-# onbox.base.dir=~/brooklyn-managed-process/
-
-## Additional security: Allow all - if you know what you are doing!
-## (Or you can also plug in e.g. LDAP security etc here)
 # Disabling security on the Vagrant Brooklyn instance for training purposes
 brooklyn.webconsole.security.provider = org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider
 
-## Optionally disallow deployment to localhost (or any other location)
-# brooklyn.location.localhost.enabled=false
-
-## Scripting Behaviour
-
-## keep scripts around after running them (usually in /tmp)
-# brooklyn.ssh.config.noDeleteAfterExec = true
-
-## Misc Cloud Settings
-## brooklyn will fail a node if the cloud machine doesn't come up, but you can tell it to retry:
-# brooklyn.location.jclouds.machineCreateAttempts = 3
-## many cloud machines don't have sufficient entropy for lots of encrypted networking, so fake it:
-# brooklyn.location.jclouds.installDevUrandom=true
-
-## Sets a minimium ram property for all jclouds locations. Recommended to avoid getting m1.micros on AWS!
-brooklyn.location.jclouds.minRam = 2048
-
-## When setting up a new cloud machine Brooklyn creates a user with the same name as the user running
-## Brooklyn on the management server, but you can force a different user here:
-# brooklyn.location.jclouds.user=brooklyn
-## And you can force a password or key (by default it will use the keys in ~/.ssh/id_rsa{,.pub}
-# brooklyn.location.jclouds.password=s3cr3t
-
-################################ Named Locations ########################################
-
-# Named locations appear in the web console. If using the command line or YAML it may be
-# just as easy to use the jclouds:<provider> locations and specify additional properties there.
-
-## Example: AWS Virginia using Rightscale 6.3 64bit Centos AMI and Large Instances
-# brooklyn.location.named.aws-va-centos-large = jclouds:aws-ec2:us-east-1
-# brooklyn.location.named.aws-va-centos-large.imageId=us-east-1/ami-7d7bfc14
-# brooklyn.location.named.aws-va-centos-large.user=brooklyn
-# brooklyn.location.named.aws-va-centos-large.minRam=4096
-
-## You can also nest these:
-# brooklyn.location.named.aws-acct-two = jclouds:aws-ec2
-# brooklyn.location.named.aws-acct-two.identity = AKA_ACCT_TWO
-# brooklyn.location.named.aws-acct-two.credential = <access-key-hex-digits>
-# brooklyn.location.named.aws-acct-two-singapore = named:aws-acct-two
-# brooklyn.location.named.aws-acct-two-singapore.region = ap-southeast-1
-# brooklyn.location.named.aws-acct-two-singapore.displayName = AWS Singapore (Acct Two)
-
-# For convenience some common defaults:
-brooklyn.location.named.aws-california = jclouds:aws-ec2:us-west-1
-brooklyn.location.named.aws-oregon = jclouds:aws-ec2:us-west-2
-brooklyn.location.named.aws-ireland = jclouds:aws-ec2:eu-west-1
-brooklyn.location.named.aws-tokyo = jclouds:aws-ec2:ap-northeast-1
-
-## Google Compute
-## The credentials for GCE come from the "APIs & auth -> Credentials" page,
-## creating a "Service Account" of type JSON, then extracting
-## the client_email as the identity and private_key as the identity,
-## keeping new lines as \n (exactly as in the JSON supplied)
-# brooklyn.location.jclouds.google-compute-engine.identity=1234567890-somet1mesArand0mU1Dhere@developer.gserviceaccount.com
-# brooklyn.location.jclouds.google-compute-engine.credential=-----BEGIN PRIVATE KEY----- \nMIIblahablahblah \nblahblahblah \n-----END PRIVATE KEY-----
-# brooklyn.location.named.Google\ US = jclouds:google-compute-engine
-# brooklyn.location.named.Google\ US.region=us-central1-a
-# brooklyn.location.named.Google\ EU = jclouds:google-compute-engine
-# brooklyn.location.named.Google\ EU.region=europe-west1-a
-## the following flags for GCE are recommended
-## specify the network to use - otherwise it creates new networks each time and you hit quotas pretty quickly
-## you may have to manually create this network AND enable a firewall rule EG  tcp:1-65535;udp:1-65535;icmp
-## (fix for this is in progress)
-# brooklyn.location.jclouds.google-compute-engine.networkName=brooklyn-default-network
-## gce images have bad entropy, this ensures they have noisy /dev/random (even if the "randomness" is not quite as random)
-# brooklyn.location.jclouds.google-compute-engine.installDevUrandom=true
-## gce images often start with iptables turned on; turn it off unless your blueprints are iptables-aware
-# brooklyn.location.jclouds.google-compute-engine.stopIptables=true
-
-## HP Cloud - also Ubuntu 12.04 LTS
-## You specify your HP Credentials like this:
-# brooklyn.location.jclouds.hpcloud-compute.identity = projectname:username
-# brooklyn.location.jclouds.hpcloud-compute.credential = password
-## where username and password are the same as logging in to the web console, and
-## projectname can be found here: https://account.hpcloud.com/projects
-#�brooklyn.location.named.HP\ Cloud\ Arizona-1 = jclouds:hpcloud-compute:az-1.region-a.geo-1
-# brooklyn.location.named.HP\ Cloud\ Arizona-1.imageId = az-1.region-a.geo-1/75845
-# brooklyn.location.named.HP\ Cloud\ Arizona-1.user = ubuntu
-
-## Softlayer - need a key from the gui, under "administrative -> user administration -> api-access
-# brooklyn.location.jclouds.softlayer.identity=username
-# brooklyn.location.jclouds.softlayer.credential=<private-key-hex-digits>
-## locations
-# brooklyn.location.named.Softlayer\ Dallas=jclouds:softlayer:dal05
-# brooklyn.location.named.Softlayer\ Seattle=jclouds:softlayer:sea01
-# brooklyn.location.named.Softlayer\ Washington\ DC=jclouds:softlayer:wdc01
-# brooklyn.location.named.Softlayer\ Singapore\ 1=jclouds:softlayer:sng01
-# brooklyn.location.named.Softlayer\ Amsterdam\ 1=jclouds:softlayer:ams01
-
-
-## Brooklyn uses the jclouds multi-cloud library to access many clouds.
-## http://www.jclouds.org/documentation/reference/supported-providers/
-
-## Templates for many other clouds, but remember to add identity and credentials:
-
-# brooklyn.location.named.Bluelock = jclouds:bluelock-vcloud-zone01
-
-# brooklyn.location.named.CloudSigma\ Nevada = jclouds:cloudsigma-lvs
-# brooklyn.location.named.CloudSigma\ Zurich = jclouds:cloudsigma-zrh
-
-# brooklyn.location.named.ElasticHosts\ London = jclouds:elastichosts-lon-p
-# brooklyn.location.named.ElasticHosts\ Texas = jclouds:elastichosts-sat-p
-
-# brooklyn.location.named.GleSYS = jclouds:glesys
-
-# brooklyn.location.named.Go2Cloud = jclouds:go2cloud-jhb1
-
-# brooklyn.location.named.GoGrid = jclouds:gogrid
-
-# brooklyn.location.named.Green\ House\ Data = jclouds:greenhousedata-element-vcloud
-
-# brooklyn.location.named.Ninefold = jclouds:ninefold-compute
-
-# brooklyn.location.named.OpenHosting = jclouds:openhosting-east1
-
-# brooklyn.location.named.Rackspace\ Chicago\ (ord) = jclouds:rackspace-cloudservers-us:ORD
-# brooklyn.location.named.Rackspace\ Dallas\ (dfw) = jclouds:rackspace-cloudservers-us:DFW
-# brooklyn.location.named.Rackspace\ Hong\ Kong\ (hkg) = jclouds:rackspace-cloudservers-us:HKG
-# brooklyn.location.named.Rackspace\ Northern\ Virginia\ (iad) = jclouds:rackspace-cloudservers-us:IAD
-# brooklyn.location.named.Rackspace\ Sydney\ (syd) = jclouds:rackspace-cloudservers-us:SYD
-## for UK you will need a separate account with rackspace.co.uk
-# brooklyn.location.named.Rackspace\ London\ (lon) = jclouds:rackspace-cloudservers-uk
-
-## if you need to use Rackspace "first gen" API
-## (note the "next gen" api configured above seems to be faster)
-# brooklyn.location.jclouds.cloudservers-us.identity = YOURAPIKEY
-# brooklyn.location.jclouds.cloudservers-us.credential = YOURSECRETKEY
-# brooklyn.location.named.Rackspace\ US\ (First Gen) = jclouds:cloudservers-us
-## and as with next gen, first gen requires a separate acct for the UK:
-# brooklyn.location.jclouds.cloudservers-uk.identity = YOURAPIKEY
-# brooklyn.location.jclouds.cloudservers-uk.credential = YOURSECRETKEY
-# brooklyn.location.named.Rackspace\ UK\ (First Gen) = jclouds:cloudservers-uk
-
-# brooklyn.location.named.SeverLove = jclouds:serverlove-z1-man
-
-# brooklyn.location.named.SkaliCloud = jclouds:skalicloud-sdg-my
-
-# brooklyn.location.named.Stratogen = jclouds:stratogen-vcloud-mycloud
-
-# brooklyn.location.named.TryStack\ (Openstack) = jclouds:trystack-nova
-
-
-## Production pool of machines for my application (deploy to named:On-Prem\ Iron\ Example)
-# brooklyn.location.named.On-Prem\ Iron\ Example=byon:(hosts="10.9.1.1,10.9.1.2,produser2@10.9.2.{10,11,20-29}")
-# brooklyn.location.named.On-Prem\ Iron\ Example.user=produser1
-# brooklyn.location.named.On-Prem\ Iron\ Example.privateKeyFile=~/.ssh/produser_id_rsa
-# brooklyn.location.named.On-Prem\ Iron\ Example.privateKeyPassphrase=s3cr3tpassphrase
-
-## Various Private Clouds
-
-## Example: OpenStack Nova
-
-## openstack identity and credential are random strings of letters and numbers (TBC - still the case?)
-# brooklyn.location.named.My\ Openstack=jclouds:openstack-nova:https://9.9.9.9:9999/v2.0/
-
-## OpenStack Nova access information can be downloaded from the openstack web interface; for example, as openrc.sh file
-# brooklyn.location.named.My\ Openstack=jclouds:openstack-nova:keystone-url
-# brooklyn.location.named.My\ OpenStack.identity=your-tenant-name:your-user-name
-# brooklyn.location.named.My\ OpenStack.credential=your-password
-# brooklyn.location.named.My\ OpenStack.endpoint=your-keystone-url
-
-## The ID of the image must be configured according to the local OpenStack settings
-## Use the command nova image-list to list all the available images
-## Use the command nova show <image-name> to get more details
-# brooklyn.location.named.My\ OpenStack.imageId=the-region-name/the-image-id
-
-## Virtual Machine flavors must match the ones created upfront according to the local OpenStack settings
-## Use the command nova flavor-list to list all the available options
-## Use the command nova flavor-show <flavor-name> to get more details
-# brooklyn.location.named.My\ OpenStack.hardwareId=the-region-name/the-flavor-id
-
-## (Optional) Configurations
-
-# brooklyn.location.named.My\ OpenStack.user=user-name-inside-the-instance
-
-## The keyPair must by created upfront. Both the following two options are required at the same time.
-# brooklyn.location.named.My\ OpenStack.keyPair=the-key-pair-name
-# brooklyn.location.named.My\ OpenStack.loginUser.privateKeyFile=/path/to/keypair.pem
-
-## Security groups must be created upfront (TBC - How to specify many security groups at one ?)
-# brooklyn.location.named.My\ OpenStack.securityGroups=universal
-
-# brooklyn.location.named.My\ OpenStack.openIptables=true
-# brooklyn.location.named.My\ OpenStack.selinux.disabled=true
-# brooklyn.location.named.My\ OpenStack.auto-create-floating-ips=true
-# brooklyn.location.named.My\ OpenStack.openstack-nova.auto-generate-keypairs=false
-
-## cloudstack identity and credential are rather long random strings of letters and numbers
-## you generate this in the cloudstack gui, under accounts, then "view users", then "generate key"
-## use the "api key" as the identity and "secret key" as the credential
-# brooklyn.location.named.My\ Cloudstack=jclouds:cloudstack:http://9.9.9.9:9999/client/api/
-
-## abiquo identity and credential are your login username/passed
-# brooklyn.location.named.My\ Abiquo=jclouds:abiquo:http://demonstration.abiquo.com/api/
-
-###############################  Formatting Guide  #######################################
-
-! Both # and ! mark lines as comments
-# The follow syntax are ALL valid.
-# example_key example_value
-# example_key : example_value
-# example_key = example_value
-# example_key=example_value
-
-# The backslash below tells Brooklyn to continue reading the value onto the next line.
-# example_key = A very \
-#          	long string!
-# Note all white space before 'long...' is ignored. Also '!' is kept as part of the string
-
-
-# Keys with spaces should be escaped with backslashes.
-# This is useful for named locations, as the name displayed in Brooklyn's web
-# interface is derived from the key name.
-# key\ with\ spaces = some\ value
-
-# Encoding for .properties must be ISO-8859-1, aka Latin-1.
-# All non-latin1 characters must be entered using unicode escape characters
-# polish_pangram = P\u00F3jd\u017A\u017Ce, ki\u0144 \
-#                  t\u0119 chmurno\u015B\u0107 w g\u0142\u0105b flaszy!
\ No newline at end of file
+# Note: BYON locations are loaded from the files/vagrant-catalog.bom on startup
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8dee3a62/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
index 04384a1..5fe2767 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
@@ -3,7 +3,7 @@ Description=Apache Brooklyn service
 Documentation=http://brooklyn.apache.org/documentation/index.html
 
 [Service]
-ExecStart=/home/vagrant/apache-brooklyn/bin/brooklyn launch --persist auto --persistenceDir /vagrant/brooklyn-persisted-state
+ExecStart=/home/vagrant/apache-brooklyn/bin/brooklyn launch --persist auto --persistenceDir /vagrant/brooklyn-persisted-state --catalogAdd /vagrant/files/vagrant-catalog.bom
 WorkingDirectory=/home/vagrant/apache-brooklyn
 Restart=on-abort
 User=vagrant

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8dee3a62/brooklyn-dist/vagrant/src/main/vagrant/files/vagrant-catalog.bom
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/vagrant-catalog.bom b/brooklyn-dist/vagrant/src/main/vagrant/files/vagrant-catalog.bom
new file mode 100644
index 0000000..d8b8450
--- /dev/null
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/vagrant-catalog.bom
@@ -0,0 +1,82 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+brooklyn.catalog:
+  items:
+  - id: byon1
+    name: Vagrant BYON VM 1
+    version: 0.9.0-SNAPSHOT  # BROOKLYN_VERSION
+    itemType: location
+    item:
+      type: byon
+      brooklyn.config:
+        user: vagrant
+        password: vagrant
+        hosts:
+        - 10.10.10.101
+
+  - id: byon2
+    name: Vagrant BYON VM 2
+    version: 0.9.0-SNAPSHOT  # BROOKLYN_VERSION
+    itemType: location
+    item:
+      type: byon
+      brooklyn.config:
+        user: vagrant
+        password: vagrant
+        hosts:
+        - 10.10.10.102
+
+  - id: byon3
+    name: Vagrant BYON VM 3
+    version: 0.9.0-SNAPSHOT  # BROOKLYN_VERSION
+    itemType: location
+    item:
+      type: byon
+      brooklyn.config:
+        user: vagrant
+        password: vagrant
+        hosts:
+        - 10.10.10.103
+
+  - id: byon4
+    name: Vagrant BYON VM 4
+    version: 0.9.0-SNAPSHOT  # BROOKLYN_VERSION
+    itemType: location
+    item:
+      type: byon
+      brooklyn.config:
+        user: vagrant
+        password: vagrant
+        hosts:
+        - 10.10.10.104
+
+  - id: byon-all
+    name: Vagrant BYON VM 1-4
+    version: 0.9.0-SNAPSHOT  # BROOKLYN_VERSION
+    itemType: location
+    item:
+      type: byon
+      brooklyn.config:
+        user: vagrant
+        password: vagrant
+        hosts:
+        - 10.10.10.101
+        - 10.10.10.102
+        - 10.10.10.103
+        - 10.10.10.104


[19/29] incubator-brooklyn git commit: Update storm dependency

Posted by he...@apache.org.
Update storm dependency

- exclude storm:carbonite transitive dependency


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

Branch: refs/heads/master
Commit: 552f4b776aab21d7ea8e42d0ac2f6e82ac5a398e
Parents: e14a16b
Author: Valentin Aitken <va...@cloudsoftcorp.com>
Authored: Tue Jan 26 23:55:40 2016 +0200
Committer: Valentin Aitken <va...@cloudsoftcorp.com>
Committed: Tue Jan 26 23:55:40 2016 +0200

----------------------------------------------------------------------
 brooklyn-library/pom.xml                    | 2 +-
 brooklyn-library/software/messaging/pom.xml | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/552f4b77/brooklyn-library/pom.xml
----------------------------------------------------------------------
diff --git a/brooklyn-library/pom.xml b/brooklyn-library/pom.xml
index 71b87f4..2b6ba8d 100644
--- a/brooklyn-library/pom.xml
+++ b/brooklyn-library/pom.xml
@@ -86,7 +86,7 @@
         <activemq.version>5.10.0</activemq.version>
         <rabbitmq-version>2.8.7</rabbitmq-version>
         <kafka.version>0.8.2.1</kafka.version>
-        <storm.version>0.8.2</storm.version>
+        <storm.version>0.9.0.1</storm.version>
         <redis.version>1.5.2</redis.version>
         
     </properties>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/552f4b77/brooklyn-library/software/messaging/pom.xml
----------------------------------------------------------------------
diff --git a/brooklyn-library/software/messaging/pom.xml b/brooklyn-library/software/messaging/pom.xml
index 83e7ef0..57b2ff0 100644
--- a/brooklyn-library/software/messaging/pom.xml
+++ b/brooklyn-library/software/messaging/pom.xml
@@ -181,7 +181,7 @@
         <!-- for storm -->
 		<dependency>
 			<groupId>storm</groupId>
-			<artifactId>storm</artifactId>
+			<artifactId>storm-core</artifactId>
 			<version>${storm.version}</version>
 			<!-- keep storm out of the jar-with-dependencies -->
             <scope>test</scope>
@@ -215,6 +215,10 @@
                     <groupId>commons-codec</groupId>
                     <artifactId>commons-codec</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>storm</groupId>
+                    <artifactId>carbonite</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 


[25/29] incubator-brooklyn git commit: fix the nondet cancellation test race observed previously

Posted by he...@apache.org.
fix the nondet cancellation test race observed previously


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

Branch: refs/heads/master
Commit: 627aaad9536b3c81700cf8bfb9135a065bcff220
Parents: 9d5ba14
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Jan 30 02:45:09 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Jan 30 02:45:09 2016 +0000

----------------------------------------------------------------------
 .../util/core/task/BasicExecutionManager.java   | 20 ++++++++++++++++++++
 .../core/task/DynamicSequentialTaskTest.java    |  6 +++++-
 2 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/627aaad9/brooklyn-server/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionManager.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionManager.java b/brooklyn-server/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionManager.java
index c75ad0b..ee15bec 100644
--- a/brooklyn-server/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionManager.java
+++ b/brooklyn-server/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionManager.java
@@ -59,6 +59,8 @@ import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.exceptions.RuntimeInterruptedException;
 import org.apache.brooklyn.util.text.Identifiers;
 import org.apache.brooklyn.util.text.Strings;
+import org.apache.brooklyn.util.time.CountdownTimer;
+import org.apache.brooklyn.util.time.Duration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -165,8 +167,26 @@ public class BasicExecutionManager implements ExecutionManager {
     }
     
     public void shutdownNow() {
+        shutdownNow(null);
+    }
+    
+    /** shuts down the executor, and if a duration is supplied awaits termination for that long.
+     * @return whether everything is terminated
+     */
+    @Beta
+    public boolean shutdownNow(Duration howLongToWaitForTermination) {
         runner.shutdownNow();
         delayedRunner.shutdownNow();
+        if (howLongToWaitForTermination!=null) {
+            CountdownTimer timer = howLongToWaitForTermination.countdownTimer();
+            try {
+                runner.awaitTermination(timer.getDurationRemaining().toMilliseconds(), TimeUnit.MILLISECONDS);
+                if (timer.isLive()) delayedRunner.awaitTermination(timer.getDurationRemaining().toMilliseconds(), TimeUnit.MILLISECONDS);
+            } catch (InterruptedException e) {
+                throw Exceptions.propagate(e);
+            }
+        }
+        return runner.isTerminated() && delayedRunner.isTerminated();
     }
     
     public void addListener(ExecutionListener listener) {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/627aaad9/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java b/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
index 763c067..d74c7bf 100644
--- a/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
+++ b/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
@@ -88,7 +88,11 @@ public class DynamicSequentialTaskTest {
     
     @AfterMethod(alwaysRun=true)
     public void tearDown() throws Exception {
-        if (em != null) em.shutdownNow();
+        if (em != null) {
+            // need to await termination, otherwise interrupted-but-still-running threads 
+            // may update the cancellations/messages and interfere with subsequent tests
+            Assert.assertTrue(em.shutdownNow(Duration.FIVE_SECONDS));
+        }
     }
 
     @Test


[05/29] incubator-brooklyn git commit: Updated blueprints and managing

Posted by he...@apache.org.
Updated blueprints and managing


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

Branch: refs/heads/master
Commit: bb5f8e14094f921176f8bb2ae85666755a907dae
Parents: 3085324
Author: Duncan Godwin <du...@cloudsoftcorp.com>
Authored: Tue Jan 19 15:25:12 2016 +0000
Committer: Duncan Godwin <du...@cloudsoftcorp.com>
Committed: Tue Jan 19 15:25:12 2016 +0000

----------------------------------------------------------------------
 brooklyn-docs/guide/start/blueprints.md |  10 +-
 brooklyn-docs/guide/start/managing.md   | 134 +++++++++++++++++----------
 brooklyn-docs/guide/start/running.md    |   2 +-
 3 files changed, 91 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/bb5f8e14/brooklyn-docs/guide/start/blueprints.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/blueprints.md b/brooklyn-docs/guide/start/blueprints.md
index 0c52de9..4f271cc 100644
--- a/brooklyn-docs/guide/start/blueprints.md
+++ b/brooklyn-docs/guide/start/blueprints.md
@@ -6,7 +6,7 @@ children:
 - { section: Launching from a Blueprint, title: Blueprint } 
 ---
 
-Blueprints are descriptors or patterns which describe how Apache Brooklyn should deploy applications. Blueprints are written in [YAML](https://en.wikipedia.org/wiki/YAML){:target="_blank"} and all of the entities available are defined in the __[Brooklyn Catalog](../../learnmore/catalog/)__.
+Blueprints are descriptors or patterns which describe how Apache Brooklyn should deploy applications. Blueprints are written in [YAML](https://en.wikipedia.org/wiki/YAML){:target="_blank"} and all of the entities available are defined in the __[Brooklyn Catalog](../../website/learnmore/catalog/)__.
 
 ## Launching from a Blueprint
 
@@ -17,9 +17,9 @@ hover your mouse over the right side of the text box below to get a Javascript "
 
 {% highlight yaml %}
 name: Tomcat
-location:
 services:
-- serviceType: brooklyn.entity.webapp.tomcat.TomcatServer
+- type: org.apache.brooklyn.entity.webapp.tomcat.TomcatServer
+location: <your-location-definition-goes-here>
 {% endhighlight %}
 
 
@@ -48,7 +48,7 @@ These can be launched by entering the following command into the terminal in the
  $ vagrant up byon1 byon2 byon3 byon4
 {% endhighlight %}
 
-The location in "myapp.yaml" can then be replaced with the following YAML to launch using these.
+The location in "myapp.yaml" can now be replaced with the following YAML to launch using these vagrant servers.
 
 {% highlight yaml %}
 location:
@@ -110,7 +110,7 @@ $ br login http://localhost:8081/
 {% endhighlight %}
 
 To secure the Apache Brooklyn instance, you can add a username and password to Brooklyn's properties file, as described in the User Guide [here](../ops/brooklyn_properties.html){:target="_blank"}. 
-If this is configured, the login command will then require additional parameters for the userid and password.
+If this is configured, the login command will require an additional parameter for the userid and will then prompt for a password.
 
 Now you can create the application with the command below:
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/bb5f8e14/brooklyn-docs/guide/start/managing.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/managing.md b/brooklyn-docs/guide/start/managing.md
index 63742f9..cffd3a1 100644
--- a/brooklyn-docs/guide/start/managing.md
+++ b/brooklyn-docs/guide/start/managing.md
@@ -13,28 +13,40 @@ children:
 
 
 
-So far we have touched on Brooklyn's ability to *deploy* an application blueprint to a cloud provider, but this just 
-the beginning. The sections below outline how to manage the application that has been deployed.
+So far we have gone through Apache Brooklyn's ability to *deploy* an application blueprint to a location, but this just 
+the beginning. Next we will outline how to *manage* the application that has been deployed.
 
 ## Applications
 
-Having created the application we can query its status.  We can find a summary of all deployed apps:
+Having created the application, we can find a summary of all deployed applications using:
 {% highlight bash %}
-$ br application
- Id         Name     Status    Location   
- hTPAF19s   Tomcat   RUNNING   ajVVAhER  
+$ br application  
 {% endhighlight %}
 
-```application``` can be shortened to one of the aliases ```app``` or just ```a```, for example:
-{% highlight bash %}
-$ br app
+<pre>
  Id         Name     Status    Location   
- hTPAF19s   Tomcat   RUNNING   ajVVAhER  
+ hTPAF19s   Tomcat   RUNNING   ajVVAhER
+</pre>
+
+```application``` can be shortened to the alias ```app```, for example:
+{% highlight bash %}
+$ br app  
 {% endhighlight %}
+<pre>
+ Id         Name     Status    Location   
+ hTPAF19s   Tomcat   RUNNING   ajVVAhER
+</pre>
+
+A full list of abbreviations such as this can be found in the [CLI reference guide](../ops/cli/cli-ref-guide.html#abbreviations){:target="_blank"}.
+
+In the above example the Id `hTPAF19s` and the Name `Tomcat` are shown. You can use either of these handles to monitor and control the application. The Id shown for your application will be different to this but the name should be the same, note that if you are running multiple applications the Name may not be unique.
+
+Using the name `Tomcat` we can get the application details:
 
-You can find the details of a given application, using its name or ID.
 {% highlight bash %}
 $ br app Tomcat
+{% endhighlight %}
+<pre>
   Id:              hTPAF19s   
   Name:            Tomcat   
   Status:          RUNNING   
@@ -45,68 +57,71 @@ $ br app Tomcat
   LocationName:    FixedListMachineProvisioningLocation:ajVV   
   LocationSpec:    vagrantbyon   
   LocationType:    org.apache.brooklyn.location.byon.FixedListMachineProvisioningLocation  
-{% endhighlight %}
-
-To ease management of multiple applications, or even to reduce the amount of typing required, it is convenient
-to create an alias for the commonly used application scope:
-{% highlight bash %}
-alias tom="br app Tomcat"
-{% endhighlight %}
-
-To illustrate this we will assume the above alias for the rest of this section, but to avoid confusion 
-the examples in other sections will show the full command in all cases.
+</pre>
 
 We can explore the management hierarchy of all applications, which will show us the entities they are composed of.
 {% highlight bash %}
 $ br tree
+{% endhighlight %}
+<pre>
 |- Tomcat
 +- org.apache.brooklyn.entity.stock.BasicApplication
   |- TomcatServer:Wx7r
   +- org.apache.brooklyn.entity.webapp.tomcat.TomcatServer
-{% endhighlight %}
+</pre>
 
 You can view the blueprint for the application again:
 {% highlight bash %}
-$ tom spec
-"name: Tomcat\nlocation:\n  mylocation\nservices:\n- serviceType: brooklyn.entity.webapp.tomcat.TomcatServer\n"
+$ br app tomcat spec
 {% endhighlight %}
+<pre>
+"name: Tomcat\nlocation:\n  mylocation\nservices:\n- serviceType: brooklyn.entity.webapp.tomcat.TomcatServer\n"
+</pre>
 
 You can view the config of the application:
 {% highlight bash %}
-$ tom config
+$ br app tomcat config
+{% endhighlight %}
+<pre>
 Key                    Value   
 camp.template.id       l67i25CM   
 brooklyn.wrapper_app   true   
-{% endhighlight %}
+</pre>
 
 ## Entities
-To explore the entities of the application you can use the ```entity``` command. This will show the 
-immediate child entities of a given application or one of its child entities.
+
+An *Entity* is Apache Brooklyn's representation of a software package or service which it can control or interact with. All of the entities Apache Brooklyn can use are listed in the __[Brooklyn Catalog](../../website/learnmore/catalog/)__. 
+
+To list the entities of the application you can use the `entity` or `ent` command:
 
 {% highlight bash %}
 $ br app Tomcat entity
+{% endhighlight %}
+<pre>
 Id         Name                Type   
 Wx7r1C4e   TomcatServer:Wx7r   org.apache.brooklyn.entity.webapp.tomcat.TomcatServer      
-{% endhighlight %}
-
-```entity``` has aliases ```ent``` or ```e```.
+</pre>
 
 You can get summary information for an entity by providing its name (or ID).
 
 {% highlight bash %}
 $ br app Tomcat ent TomcatServer:Wx7r
+{% endhighlight %}
+<pre>
 Id:              Wx7r1C4e   
 Name:            TomcatServer:Wx7r   
 Status:          RUNNING   
 ServiceUp:       true   
 Type:            org.apache.brooklyn.entity.webapp.tomcat.TomcatServer   
 CatalogItemId:   null   
-{% endhighlight %}
+</pre>
 
 Also you can see the config of the entity with the ```config``` command.
 
 {% highlight bash %}
 $ br app Tomcat ent TomcatServer:Wx7r config
+{% endhighlight %}
+<pre>
 Key                       Value   
 jmx.agent.mode            JMXMP_AND_RMI   
 brooklyn.wrapper_app      true   
@@ -114,7 +129,7 @@ camp.template.id          yBcQuFZe
 onbox.base.dir            /home/vagrant/brooklyn-managed-processes   
 onbox.base.dir.resolved   true   
 install.unique_label      TomcatServer_7.0.65   
-{% endhighlight %}
+</pre>
 
 If an entity name is annoyingly long to type, the entity can be renamed:
 
@@ -124,25 +139,29 @@ $ br app Tomcat ent TomcatServer:Wx7r rename server
 
 ## Sensors
 
-"Sensors" on entities provide a real-time picture of the status and operation of an entity of the application.
+*Sensors* are properties which reflect the state of an *entity* and provide a real-time picture of an *entity* in an application.
 
 To view the sensors on the application itself, use the command below:
 
 {% highlight bash %}
 $ br app Tomcat sensor
+{% endhighlight %}
+<pre>
 Name                       Description                                                                             Value   
 service.isUp               Whether the service is active and availability (confirmed and monitored)                true   
 service.notUp.indicators   A map of namespaced indicators that the service is not up                               {}   
 service.problems           A map of namespaced indicators of problems with a service                               {}   
 service.state              Actual lifecycle state of the service                                                   "RUNNING"   
 service.state.expected     Last controlled change to service state, indicating what the expected state should be   "running @ 1450356994928 / Thu Dec 17 12:56:34 GMT 2015"
-{% endhighlight %}
+</pre>
 
 To explore all sensors available on an entity use the sensor command with an entity scope.
 Note, again, the name of the application or entity can be used or the ID:
 
 {% highlight bash %}
-br app Tomcat ent TomcatServer:Wx7r sensor
+$ br app Tomcat ent TomcatServer:Wx7r sensor
+{% endhighlight %}
+<pre>
 Name                                            Description                                                                                                      Value   
 download.addon.urls                             URL patterns for downloading named add-ons (will substitute things like ${version} automatically)                   
 download.url                                    URL pattern for downloading the installer (will substitute things like ${version} automatically)                 "http://download.nextag.com/apache/tomcat/tomcat-7/v${version}/bin/apache-tomcat-${version}.tar.gz"   
@@ -153,15 +172,17 @@ host.sshAddress                                 user@host:port for ssh'ing (or n
 host.subnet.address                             Host address as known internally in the subnet where it is running (if different to host.name)                   "10.10.10.101"   
 host.subnet.hostname                            Host name as known internally in the subnet where it is running (if different to host.name)                      "10.10.10.101"   
 # etc. etc.
-{% endhighlight %}
+</pre>
 
 
 To study selected sensors, give the command the sensor name as an argument
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r sensor webapp.url   
-"http://10.10.10.101:8080/"
+$ br app Tomcat ent TomcatServer:Wx7r sensor webapp.url  
 {% endhighlight %}
+<pre>
+"http://10.10.10.101:8080/"
+</pre>
 
 
 ## Effectors
@@ -171,16 +192,20 @@ with
 
 {% highlight bash %}
 $ br app Tomcat effector
+{% endhighlight %}
+<pre>
 Name            Description                                                                                                                                                                            Parameters   
 restart         Restart the process/service represented by an entity                                                                                                                                      
 start           Start the process/service represented by an entity                                                                                                                                     locations   
 stop            Stop the process/service represented by an entity                                                                                                                                         
-{% endhighlight %}
+</pre>
 
 For an entity supply the entity scope:
 
 {% highlight bash %}
 $ br app Tomcat ent TomcatServer:Wx7r effector
+{% endhighlight %}
+<pre>
 Name                              Description                                                                               Parameters   
 deploy                            Deploys the given artifact, from a source URL, to a given deployment filename/context     url,targetName   
 populateServiceNotUpDiagnostics   Populates the attribute service.notUp.diagnostics, with any available health indicators      
@@ -188,15 +213,17 @@ restart                           Restart the process/service represented by an
 start                             Start the process/service represented by an entity                                        locations   
 stop                              Stop the process/service represented by an entity                                         stopProcessMode,stopMachineMode   
 undeploy                          Undeploys the given context/artifact                                                      targetName   
-{% endhighlight %}
+</pre>
 
 To view just one effector's documentation, supply its name to the show command:
 
 {% highlight bash %}
 $ br app Tomcat ent TomcatServer:Wx7r effector deploy
+{% endhighlight %}
+<pre>
 Name            Description                                                                                                                                                                            Parameters   
 deploy          Deploys the given artifact, from a source URL, to a given deployment filename/context                                                                                                  url,targetName   
-{% endhighlight %}
+</pre>
 
 These effectors can be invoked using the command ```invoke```, supplying the application and entity id of the entity to 
 invoke the effector on.   
@@ -220,10 +247,12 @@ $ br app Tomcat ent TomcatServer:Wx7r stop
 Some effectors require parameters for their invocation, as in the example of ```deploy``` above.  
 
 {% highlight bash %}
-br app Tomcat ent TomcatServer:Wx7r effector deploy
+$ br app Tomcat ent TomcatServer:Wx7r effector deploy
+{% endhighlight %}
+<pre>
 Name     Description                                                                             Parameters   
 deploy   Deploys the given artifact, from a source URL, to a given deployment filename/context   url,targetName   
-{% endhighlight %}
+</pre>
 
 Now the effector can be invoked by supplying the parameters using ```--param parm=value``` or just ```-P parm=value```.
 
@@ -235,12 +264,14 @@ quotation characters from the returned sensor value.
 $ br app Tomcat ent TomcatServer:Wx7r effector deploy invoke -P url=https://tomcat.apache.org/tomcat-6.0-doc/appdev/sample/sample.war -P targetName=sample
 $ webapp=$(br app Tomcat ent TomcatServer:Wx7r sensor webapp.url | tr -d '"')
 $ curl $webapp/sample/
+{% endhighlight %}
+<pre>
 <html>
 <head>
 <title>Sample "Hello, World" Application</title>
 </head>
 # etc. etc.
-{% endhighlight %}
+</pre>
 
 
 ## Activities
@@ -251,6 +282,8 @@ To view a list of all activities associated with an entity simply use
 
 {% highlight bash %}
 $ br app Tomcat ent TomcatServer:Wx7r activity
+{% endhighlight %}
+<pre>
 Id         Task                                       Submitted                      Status      Streams   
 LtD5P1cb   start                                      Thu Dec 17 15:04:43 GMT 2015   Completed   
 l2qo4vTl   provisioning (FixedListMachineProvisi...   Thu Dec 17 15:04:43 GMT 2015   Completed   
@@ -258,12 +291,14 @@ wLD764HE   pre-start                                  Thu Dec 17 15:04:43 GMT 20
 KLTxDkoa   ssh: initializing on-box base dir ./b...   Thu Dec 17 15:04:43 GMT 2015   Completed   env,stderr,stdin,stdout   
 jwwcJWmF   start (processes)                          Thu Dec 17 15:04:43 GMT 2015   Completed        
 # etc. etc.
-{% endhighlight %}
+</pre>
 
 To view the details of an individual activity provide its ID:
 
 {% highlight bash %}
 $ br app Tomcat ent TomcatServer:Wx7r activity jwwcJWmF
+{% endhighlight %}
+<pre>
 Id:                  jwwcJWmF   
 DisplayName:         start (processes)   
 Description:            
@@ -280,7 +315,7 @@ Streams:
 DetailedStatus:      "Completed after 4m 16s
 
 No return value (null)"   
-{% endhighlight %}
+</pre>
 
 If an activity has failed, the "DetailedStatus" value will show information about the failure, as an aid to diagnosis.
 
@@ -289,6 +324,8 @@ of the activities to be investigated:
 
 {% highlight bash %}
 $ br app Tomcat ent TomcatServer:Wx7r activity -c jwwcJWmF
+{% endhighlight %}
+<pre>
 Id         Task                         Submitted                      Status   
 UpYRc3fw   copy-pre-install-resources   Thu Dec 17 15:04:43 GMT 2015   Completed   
 ig8sBHQr   pre-install                  Thu Dec 17 15:04:43 GMT 2015   Completed   
@@ -303,7 +340,7 @@ STavcRc8   pre-launch-command           Thu Dec 17 15:08:58 GMT 2015   Completed
 HKrYfH6h   launch                       Thu Dec 17 15:08:58 GMT 2015   Completed   
 T1m8VXbq   post-launch-command          Thu Dec 17 15:08:59 GMT 2015   Completed   
 n8eK5USE   post-launch                  Thu Dec 17 15:08:59 GMT 2015   Completed   
-{% endhighlight %}
+</pre>
 
 If an activity has associated input and output streams, these may be viewed by providing the activity scope and
 using the commands, ```env```, ```stdin```, ```stdout```, and ```stderr```.  For example, for the "initializing on-box base dir"
@@ -312,7 +349,6 @@ activity from the result of the earlier example,
 {% highlight bash %}
 $ br app Tomcat ent TomcatServer:Wx7r act KLTxDkoa stdout
 BASE_DIR_RESULT:/home/vagrant/brooklyn-managed-processes:BASE_DIR_RESULT
-
 {% endhighlight %}
 
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/bb5f8e14/brooklyn-docs/guide/start/running.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/running.md b/brooklyn-docs/guide/start/running.md
index 74dc687..5da792c 100644
--- a/brooklyn-docs/guide/start/running.md
+++ b/brooklyn-docs/guide/start/running.md
@@ -97,7 +97,7 @@ $ vagrant up brooklyn
 You can see if Apache Brooklyn launched OK by viewing the log files with the command
 
 {% highlight bash %}
-$ ssh brooklyn --command 'sudo journalctl -n15 -f -u brooklyn'
+$ vagrant ssh brooklyn --command 'sudo journalctl -n15 -f -u brooklyn'
 {% endhighlight %}
 
 </div>


[22/29] incubator-brooklyn git commit: This closes #1178

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


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

Branch: refs/heads/master
Commit: da1db577e83fbbe5dbcb53231deaaa6a1db30aeb
Parents: 9d5ba14 dc0ca05
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Jan 30 02:21:43 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Jan 30 02:21:43 2016 +0000

----------------------------------------------------------------------
 .../core/task/DynamicSequentialTaskTest.java    |  32 +---
 .../software/base/SoftwareProcessImpl.java      |   2 +-
 .../AutoScalerPolicyNoMoreMachinesTest.java     |  17 +-
 .../SystemServiceEnricherTest.java              |   4 +-
 .../org/apache/brooklyn/test/WebAppMonitor.java |   2 +-
 .../java/org/apache/brooklyn/test/Asserts.java  | 183 +++++++++++++++----
 .../brooklyn/util/time/CountdownTimer.java      |  23 ++-
 .../brooklyn/util/time/CountdownTimerTest.java  |   7 +
 8 files changed, 190 insertions(+), 80 deletions(-)
----------------------------------------------------------------------



[10/29] incubator-brooklyn git commit: add getting started vagrant env to release artifacts - following inclusion of Vagrant as a target in #1144 - previously at https://github.com/johnmccabe/vagrant-brooklyn-getting-started

Posted by he...@apache.org.
add getting started vagrant env to release artifacts
- following inclusion of Vagrant as a target in #1144
- previously at https://github.com/johnmccabe/vagrant-brooklyn-getting-started


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

Branch: refs/heads/master
Commit: de945b272cc32f3507d1ae21e98da1e33a4b4f18
Parents: 1d8b8e9
Author: John McCabe <jo...@johnmccabe.net>
Authored: Thu Jan 21 22:50:59 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Thu Jan 21 22:50:59 2016 +0000

----------------------------------------------------------------------
 brooklyn-dist/.gitignore                        |   1 +
 brooklyn-dist/pom.xml                           |   1 +
 brooklyn-dist/vagrant/pom.xml                   |  70 ++++
 .../src/main/config/build-distribution.xml      |  33 ++
 .../vagrant/src/main/vagrant/Vagrantfile        |  57 ++++
 .../src/main/vagrant/files/brooklyn.properties  | 325 +++++++++++++++++++
 .../src/main/vagrant/files/brooklyn.service     |  13 +
 .../vagrant/src/main/vagrant/files/logback.xml  |  12 +
 .../vagrant/src/main/vagrant/servers.yaml       |  47 +++
 9 files changed, 559 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de945b27/brooklyn-dist/.gitignore
----------------------------------------------------------------------
diff --git a/brooklyn-dist/.gitignore b/brooklyn-dist/.gitignore
index ed439f2..2ef22e4 100644
--- a/brooklyn-dist/.gitignore
+++ b/brooklyn-dist/.gitignore
@@ -28,5 +28,6 @@ prodDb.*
 brooklyn*.log.*
 
 *brooklyn-persisted-state/
+*.vagrant/
 
 ignored

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de945b27/brooklyn-dist/pom.xml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/pom.xml b/brooklyn-dist/pom.xml
index a2ecb3a..12ebdd9 100644
--- a/brooklyn-dist/pom.xml
+++ b/brooklyn-dist/pom.xml
@@ -76,6 +76,7 @@
         <module>downstream-parent</module>
         <module>all</module>
         <module>dist</module>
+        <module>vagrant</module>
         <module>archetypes/quickstart</module>
     </modules>
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de945b27/brooklyn-dist/vagrant/pom.xml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/pom.xml b/brooklyn-dist/vagrant/pom.xml
new file mode 100644
index 0000000..3fc1844
--- /dev/null
+++ b/brooklyn-dist/vagrant/pom.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+     http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>pom</packaging>
+
+    <artifactId>brooklyn-vagrant</artifactId>
+
+    <name>Brooklyn Vagrant Getting Started Environment</name>
+    <description>
+        Brooklyn Getting Started Vagrant environment archive, includes all required
+        files to start Brooklyn and sample BYON nodes for use.
+    </description>
+
+    <parent>
+        <groupId>org.apache.brooklyn</groupId>
+        <artifactId>brooklyn-dist-root</artifactId>
+        <version>0.9.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build-distribution-archive</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <appendAssemblyId>true</appendAssemblyId>
+                            <descriptors>
+                                <descriptor>src/main/config/build-distribution.xml</descriptor>
+                            </descriptors>
+                          <!-- finalName affects name in `target/` but we cannot influence name when it is attached/installed,
+                               so `apache-` prefix would be lost there. to keep it consistent this is commented out, 
+                               but would be nice to have if there is a way!
+                            <finalName>apache-brooklyn-${project.version}</finalName>
+                          -->
+                            <formats>
+                                <format>tar.gz</format>
+                                <format>zip</format>
+                            </formats>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de945b27/brooklyn-dist/vagrant/src/main/config/build-distribution.xml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/config/build-distribution.xml b/brooklyn-dist/vagrant/src/main/config/build-distribution.xml
new file mode 100644
index 0000000..823ad2a
--- /dev/null
+++ b/brooklyn-dist/vagrant/src/main/config/build-distribution.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+     http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+    <id>dist</id>
+    <formats><!-- empty, intended for caller to specify --></formats>
+    <fileSets>
+        <fileSet>
+            <directory>${project.basedir}/src/main/vagrant</directory>
+            <outputDirectory></outputDirectory>
+            <fileMode>0644</fileMode>
+            <directoryMode>0755</directoryMode>
+        </fileSet>
+    </fileSets>
+</assembly>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de945b27/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile b/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
new file mode 100644
index 0000000..f5f7927
--- /dev/null
+++ b/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
@@ -0,0 +1,57 @@
+# -*- mode: ruby -*-
+# # vi: set ft=ruby :
+
+# Specify minimum Vagrant version and Vagrant API version
+Vagrant.require_version ">= 1.8.1"
+VAGRANTFILE_API_VERSION = "2"
+
+# Update OS (Debian/RedHat based only)
+UPDATE_OS_CMD = "(sudo apt-get update && sudo apt-get -y upgrade) || (sudo yum -y update)"
+
+# Require YAML module
+require 'yaml'
+
+# Read YAML file with box details
+yaml_cfg = YAML.load_file(__dir__ + '/servers.yaml')
+
+# Create boxes
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+
+  # Iterate through server entries in YAML file
+  yaml_cfg["servers"].each do |server|
+    config.vm.define server["name"] do |server_config|
+      server_config.vm.box = server["box"]
+
+      server_config.vm.box_check_update = yaml_cfg["default_config"]["check_newer_vagrant_box"]
+
+      if server.has_key?("ip")
+        server_config.vm.network "private_network", ip: server["ip"]
+      end
+
+      if server.has_key?("forwarded_ports")
+        server["forwarded_ports"].each do |ports|
+          server_config.vm.network "forwarded_port", guest: ports["guest"], host: ports["host"], guest_ip: ports["guest_ip"]
+        end
+      end
+
+      server_config.vm.hostname = server["name"]
+      server_config.vm.provider :virtualbox do |vb|
+        vb.name = server["name"]
+        vb.memory = server["ram"]
+        vb.cpus = server["cpus"]
+      end
+
+      if yaml_cfg["default_config"]["run_os_update"]
+        server_config.vm.provision "shell", privileged: false, inline: UPDATE_OS_CMD
+      end
+
+      if server["shell"] && server["shell"]["cmd"]
+        server["shell"]["cmd"].each do |cmd|
+          server_config.vm.provision "shell", privileged: false, inline: cmd, env: server["shell"]["env"]
+        end
+      end
+
+      server_config.vm.post_up_message = server["post_up_message"]
+    end
+  end
+end
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de945b27/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
new file mode 100644
index 0000000..e68f9a6
--- /dev/null
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
@@ -0,0 +1,325 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+# This is Brooklyn's dot-properties file.
+# It should be located at "~/.brooklyn/brooklyn.properties" for automatic loading,
+# or can be specified as a CLI option with --localProperties /path/to/these.properties.
+
+##################################  Welcome!  ############################################
+
+# It's great to have you here.
+
+# Getting Started options have been pulled to the top. There's a formatting guide at the
+# very bottom.
+
+############################ Getting Started Options  ####################################
+
+## GUI Security
+
+## NOTE: in production it is highly recommended to set this, as otherwise it will not require login,
+## not will it be encrypted (though for safety if security is not set it will only bind to loopback)
+
+## Edit the name(s) and passwords as appropriate to your system:
+
+# brooklyn.webconsole.security.users=admin,bob
+# brooklyn.webconsole.security.user.admin.password=password
+# brooklyn.webconsole.security.user.bob.password=bobsword
+
+## If you prefer to run with https (on port 8443 by default), uncomment this:
+
+# brooklyn.webconsole.security.https.required=true
+
+
+# By default we have AWS set up (but with invalid credentials!).  Many, many other
+# providers are supported.
+
+## Amazon EC2 Credentials
+# These should be an "Access Key ID" and "Secret Access Key" for your account.
+# This is configured at https://console.aws.amazon.com/iam/home?#security_credential .
+
+brooklyn.location.jclouds.aws-ec2.identity = AKA_YOUR_ACCESS_KEY_ID
+brooklyn.location.jclouds.aws-ec2.credential = <access-key-hex-digits>
+
+# Beware of trailing spaces in your cloud credentials. This will cause unexpected
+# 401: unauthorized responses.
+
+## Using Other Clouds
+# 1. Cast your eyes down this document to find your preferred cloud in the Named Locations
+#    section, and the examples.
+# 2. Uncomment the relevant line(s) for your provider.
+# 3. ADD  -.identity and -.credential lines for your provider, similar to the AWS ones above,
+#    replacing 'aws-ec2' with jcloud's id for your cloud.
+
+
+## Deploying to Localhost
+## see: info on locations at brooklyn.io
+#
+## ~/.ssh/id_rsa is Brooklyn's default location
+# brooklyn.location.localhost.privateKeyFile = ~/.ssh/id_rsa
+## Passphrases are supported, but not required
+# brooklyn.location.localhost.privateKeyPassphrase = s3cr3tpassphrase
+
+## Geoscaling Service - used for the Global Web Fabric demo
+## see: the global web example at brooklyn.io
+## https://www.geoscaling.com/dns2/
+## other services may take similar configuration similarly; or can usually be set in YAML
+# brooklyn.geoscaling.username = USERNAME
+# brooklyn.geoscaling.password = PASSWORD
+# brooklyn.geoscaling.primaryDomain = DOMAIN
+
+
+##########################  Getting Started Complete!  ###################################
+
+# That's it, although you may want to read through these options...
+
+################################ Brooklyn Options ########################################
+
+## Brooklyn Management Base Directory: specify where management data should be stored on this server;
+## ~/.brooklyn/ is the default but you could use something like /opt/brooklyn/state/
+## (provided this process has write permissions)
+# brooklyn.base.dir=~/.brooklyn/
+
+## Brooklyn On-Box Directory: specify where data should be stored on managed hosts;
+## for most locations a directory off home is the default (but using /tmp/brooklyn-user/ on localhost),
+## however you could specify something like /opt/brooklyn-managed-process/ (creation and permissions are handled)
+# onbox.base.dir=~/brooklyn-managed-process/
+
+## Additional security: Allow all - if you know what you are doing!
+## (Or you can also plug in e.g. LDAP security etc here)
+# Disabling security on the Vagrant Brooklyn instance for training purposes
+brooklyn.webconsole.security.provider = org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider
+
+## Optionally disallow deployment to localhost (or any other location)
+# brooklyn.location.localhost.enabled=false
+
+## Scripting Behaviour
+
+## keep scripts around after running them (usually in /tmp)
+# brooklyn.ssh.config.noDeleteAfterExec = true
+
+## Misc Cloud Settings
+## brooklyn will fail a node if the cloud machine doesn't come up, but you can tell it to retry:
+# brooklyn.location.jclouds.machineCreateAttempts = 3
+## many cloud machines don't have sufficient entropy for lots of encrypted networking, so fake it:
+# brooklyn.location.jclouds.installDevUrandom=true
+
+## Sets a minimium ram property for all jclouds locations. Recommended to avoid getting m1.micros on AWS!
+brooklyn.location.jclouds.minRam = 2048
+
+## When setting up a new cloud machine Brooklyn creates a user with the same name as the user running
+## Brooklyn on the management server, but you can force a different user here:
+# brooklyn.location.jclouds.user=brooklyn
+## And you can force a password or key (by default it will use the keys in ~/.ssh/id_rsa{,.pub}
+# brooklyn.location.jclouds.password=s3cr3t
+
+################################ Named Locations ########################################
+
+# Named locations appear in the web console. If using the command line or YAML it may be
+# just as easy to use the jclouds:<provider> locations and specify additional properties there.
+
+## Example: AWS Virginia using Rightscale 6.3 64bit Centos AMI and Large Instances
+# brooklyn.location.named.aws-va-centos-large = jclouds:aws-ec2:us-east-1
+# brooklyn.location.named.aws-va-centos-large.imageId=us-east-1/ami-7d7bfc14
+# brooklyn.location.named.aws-va-centos-large.user=brooklyn
+# brooklyn.location.named.aws-va-centos-large.minRam=4096
+
+## You can also nest these:
+# brooklyn.location.named.aws-acct-two = jclouds:aws-ec2
+# brooklyn.location.named.aws-acct-two.identity = AKA_ACCT_TWO
+# brooklyn.location.named.aws-acct-two.credential = <access-key-hex-digits>
+# brooklyn.location.named.aws-acct-two-singapore = named:aws-acct-two
+# brooklyn.location.named.aws-acct-two-singapore.region = ap-southeast-1
+# brooklyn.location.named.aws-acct-two-singapore.displayName = AWS Singapore (Acct Two)
+
+# For convenience some common defaults:
+brooklyn.location.named.aws-california = jclouds:aws-ec2:us-west-1
+brooklyn.location.named.aws-oregon = jclouds:aws-ec2:us-west-2
+brooklyn.location.named.aws-ireland = jclouds:aws-ec2:eu-west-1
+brooklyn.location.named.aws-tokyo = jclouds:aws-ec2:ap-northeast-1
+
+## Google Compute
+## The credentials for GCE come from the "APIs & auth -> Credentials" page,
+## creating a "Service Account" of type JSON, then extracting
+## the client_email as the identity and private_key as the identity,
+## keeping new lines as \n (exactly as in the JSON supplied)
+# brooklyn.location.jclouds.google-compute-engine.identity=1234567890-somet1mesArand0mU1Dhere@developer.gserviceaccount.com
+# brooklyn.location.jclouds.google-compute-engine.credential=-----BEGIN PRIVATE KEY----- \nMIIblahablahblah \nblahblahblah \n-----END PRIVATE KEY-----
+# brooklyn.location.named.Google\ US = jclouds:google-compute-engine
+# brooklyn.location.named.Google\ US.region=us-central1-a
+# brooklyn.location.named.Google\ EU = jclouds:google-compute-engine
+# brooklyn.location.named.Google\ EU.region=europe-west1-a
+## the following flags for GCE are recommended
+## specify the network to use - otherwise it creates new networks each time and you hit quotas pretty quickly
+## you may have to manually create this network AND enable a firewall rule EG  tcp:1-65535;udp:1-65535;icmp
+## (fix for this is in progress)
+# brooklyn.location.jclouds.google-compute-engine.networkName=brooklyn-default-network
+## gce images have bad entropy, this ensures they have noisy /dev/random (even if the "randomness" is not quite as random)
+# brooklyn.location.jclouds.google-compute-engine.installDevUrandom=true
+## gce images often start with iptables turned on; turn it off unless your blueprints are iptables-aware
+# brooklyn.location.jclouds.google-compute-engine.stopIptables=true
+
+## HP Cloud - also Ubuntu 12.04 LTS
+## You specify your HP Credentials like this:
+# brooklyn.location.jclouds.hpcloud-compute.identity = projectname:username
+# brooklyn.location.jclouds.hpcloud-compute.credential = password
+## where username and password are the same as logging in to the web console, and
+## projectname can be found here: https://account.hpcloud.com/projects
+#�brooklyn.location.named.HP\ Cloud\ Arizona-1 = jclouds:hpcloud-compute:az-1.region-a.geo-1
+# brooklyn.location.named.HP\ Cloud\ Arizona-1.imageId = az-1.region-a.geo-1/75845
+# brooklyn.location.named.HP\ Cloud\ Arizona-1.user = ubuntu
+
+## Softlayer - need a key from the gui, under "administrative -> user administration -> api-access
+# brooklyn.location.jclouds.softlayer.identity=username
+# brooklyn.location.jclouds.softlayer.credential=<private-key-hex-digits>
+## locations
+# brooklyn.location.named.Softlayer\ Dallas=jclouds:softlayer:dal05
+# brooklyn.location.named.Softlayer\ Seattle=jclouds:softlayer:sea01
+# brooklyn.location.named.Softlayer\ Washington\ DC=jclouds:softlayer:wdc01
+# brooklyn.location.named.Softlayer\ Singapore\ 1=jclouds:softlayer:sng01
+# brooklyn.location.named.Softlayer\ Amsterdam\ 1=jclouds:softlayer:ams01
+
+
+## Brooklyn uses the jclouds multi-cloud library to access many clouds.
+## http://www.jclouds.org/documentation/reference/supported-providers/
+
+## Templates for many other clouds, but remember to add identity and credentials:
+
+# brooklyn.location.named.Bluelock = jclouds:bluelock-vcloud-zone01
+
+# brooklyn.location.named.CloudSigma\ Nevada = jclouds:cloudsigma-lvs
+# brooklyn.location.named.CloudSigma\ Zurich = jclouds:cloudsigma-zrh
+
+# brooklyn.location.named.ElasticHosts\ London = jclouds:elastichosts-lon-p
+# brooklyn.location.named.ElasticHosts\ Texas = jclouds:elastichosts-sat-p
+
+# brooklyn.location.named.GleSYS = jclouds:glesys
+
+# brooklyn.location.named.Go2Cloud = jclouds:go2cloud-jhb1
+
+# brooklyn.location.named.GoGrid = jclouds:gogrid
+
+# brooklyn.location.named.Green\ House\ Data = jclouds:greenhousedata-element-vcloud
+
+# brooklyn.location.named.Ninefold = jclouds:ninefold-compute
+
+# brooklyn.location.named.OpenHosting = jclouds:openhosting-east1
+
+# brooklyn.location.named.Rackspace\ Chicago\ (ord) = jclouds:rackspace-cloudservers-us:ORD
+# brooklyn.location.named.Rackspace\ Dallas\ (dfw) = jclouds:rackspace-cloudservers-us:DFW
+# brooklyn.location.named.Rackspace\ Hong\ Kong\ (hkg) = jclouds:rackspace-cloudservers-us:HKG
+# brooklyn.location.named.Rackspace\ Northern\ Virginia\ (iad) = jclouds:rackspace-cloudservers-us:IAD
+# brooklyn.location.named.Rackspace\ Sydney\ (syd) = jclouds:rackspace-cloudservers-us:SYD
+## for UK you will need a separate account with rackspace.co.uk
+# brooklyn.location.named.Rackspace\ London\ (lon) = jclouds:rackspace-cloudservers-uk
+
+## if you need to use Rackspace "first gen" API
+## (note the "next gen" api configured above seems to be faster)
+# brooklyn.location.jclouds.cloudservers-us.identity = YOURAPIKEY
+# brooklyn.location.jclouds.cloudservers-us.credential = YOURSECRETKEY
+# brooklyn.location.named.Rackspace\ US\ (First Gen) = jclouds:cloudservers-us
+## and as with next gen, first gen requires a separate acct for the UK:
+# brooklyn.location.jclouds.cloudservers-uk.identity = YOURAPIKEY
+# brooklyn.location.jclouds.cloudservers-uk.credential = YOURSECRETKEY
+# brooklyn.location.named.Rackspace\ UK\ (First Gen) = jclouds:cloudservers-uk
+
+# brooklyn.location.named.SeverLove = jclouds:serverlove-z1-man
+
+# brooklyn.location.named.SkaliCloud = jclouds:skalicloud-sdg-my
+
+# brooklyn.location.named.Stratogen = jclouds:stratogen-vcloud-mycloud
+
+# brooklyn.location.named.TryStack\ (Openstack) = jclouds:trystack-nova
+
+
+## Production pool of machines for my application (deploy to named:On-Prem\ Iron\ Example)
+# brooklyn.location.named.On-Prem\ Iron\ Example=byon:(hosts="10.9.1.1,10.9.1.2,produser2@10.9.2.{10,11,20-29}")
+# brooklyn.location.named.On-Prem\ Iron\ Example.user=produser1
+# brooklyn.location.named.On-Prem\ Iron\ Example.privateKeyFile=~/.ssh/produser_id_rsa
+# brooklyn.location.named.On-Prem\ Iron\ Example.privateKeyPassphrase=s3cr3tpassphrase
+
+## Various Private Clouds
+
+## Example: OpenStack Nova
+
+## openstack identity and credential are random strings of letters and numbers (TBC - still the case?)
+# brooklyn.location.named.My\ Openstack=jclouds:openstack-nova:https://9.9.9.9:9999/v2.0/
+
+## OpenStack Nova access information can be downloaded from the openstack web interface; for example, as openrc.sh file
+# brooklyn.location.named.My\ Openstack=jclouds:openstack-nova:keystone-url
+# brooklyn.location.named.My\ OpenStack.identity=your-tenant-name:your-user-name
+# brooklyn.location.named.My\ OpenStack.credential=your-password
+# brooklyn.location.named.My\ OpenStack.endpoint=your-keystone-url
+
+## The ID of the image must be configured according to the local OpenStack settings
+## Use the command nova image-list to list all the available images
+## Use the command nova show <image-name> to get more details
+# brooklyn.location.named.My\ OpenStack.imageId=the-region-name/the-image-id
+
+## Virtual Machine flavors must match the ones created upfront according to the local OpenStack settings
+## Use the command nova flavor-list to list all the available options
+## Use the command nova flavor-show <flavor-name> to get more details
+# brooklyn.location.named.My\ OpenStack.hardwareId=the-region-name/the-flavor-id
+
+## (Optional) Configurations
+
+# brooklyn.location.named.My\ OpenStack.user=user-name-inside-the-instance
+
+## The keyPair must by created upfront. Both the following two options are required at the same time.
+# brooklyn.location.named.My\ OpenStack.keyPair=the-key-pair-name
+# brooklyn.location.named.My\ OpenStack.loginUser.privateKeyFile=/path/to/keypair.pem
+
+## Security groups must be created upfront (TBC - How to specify many security groups at one ?)
+# brooklyn.location.named.My\ OpenStack.securityGroups=universal
+
+# brooklyn.location.named.My\ OpenStack.openIptables=true
+# brooklyn.location.named.My\ OpenStack.selinux.disabled=true
+# brooklyn.location.named.My\ OpenStack.auto-create-floating-ips=true
+# brooklyn.location.named.My\ OpenStack.openstack-nova.auto-generate-keypairs=false
+
+## cloudstack identity and credential are rather long random strings of letters and numbers
+## you generate this in the cloudstack gui, under accounts, then "view users", then "generate key"
+## use the "api key" as the identity and "secret key" as the credential
+# brooklyn.location.named.My\ Cloudstack=jclouds:cloudstack:http://9.9.9.9:9999/client/api/
+
+## abiquo identity and credential are your login username/passed
+# brooklyn.location.named.My\ Abiquo=jclouds:abiquo:http://demonstration.abiquo.com/api/
+
+###############################  Formatting Guide  #######################################
+
+! Both # and ! mark lines as comments
+# The follow syntax are ALL valid.
+# example_key example_value
+# example_key : example_value
+# example_key = example_value
+# example_key=example_value
+
+# The backslash below tells Brooklyn to continue reading the value onto the next line.
+# example_key = A very \
+#          	long string!
+# Note all white space before 'long...' is ignored. Also '!' is kept as part of the string
+
+
+# Keys with spaces should be escaped with backslashes.
+# This is useful for named locations, as the name displayed in Brooklyn's web
+# interface is derived from the key name.
+# key\ with\ spaces = some\ value
+
+# Encoding for .properties must be ISO-8859-1, aka Latin-1.
+# All non-latin1 characters must be entered using unicode escape characters
+# polish_pangram = P\u00F3jd\u017A\u017Ce, ki\u0144 \
+#                  t\u0119 chmurno\u015B\u0107 w g\u0142\u0105b flaszy!
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de945b27/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
new file mode 100644
index 0000000..04384a1
--- /dev/null
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Apache Brooklyn service
+Documentation=http://brooklyn.apache.org/documentation/index.html
+
+[Service]
+ExecStart=/home/vagrant/apache-brooklyn/bin/brooklyn launch --persist auto --persistenceDir /vagrant/brooklyn-persisted-state
+WorkingDirectory=/home/vagrant/apache-brooklyn
+Restart=on-abort
+User=vagrant
+Group=vagrant
+
+[Install]
+WantedBy=multi-user.target

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de945b27/brooklyn-dist/vagrant/src/main/vagrant/files/logback.xml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/logback.xml b/brooklyn-dist/vagrant/src/main/vagrant/files/logback.xml
new file mode 100644
index 0000000..77b3816
--- /dev/null
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/logback.xml
@@ -0,0 +1,12 @@
+<configuration scan="true">
+
+    <!-- to supply custom logging, either change this file, supply your own logback-main.xml
+         (overriding the default provided on the classpath) or any of the files it references;
+         see the Logging section of the Brooklyn web site for more information -->
+
+    <property name="logging.basename" scope="context" value="brooklyn" />
+    <property name="logging.dir" scope="context" value="/var/log/brooklyn/" />
+
+    <include resource="logback-main.xml"/>
+
+</configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de945b27/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml b/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
new file mode 100644
index 0000000..0bf133b
--- /dev/null
+++ b/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
@@ -0,0 +1,47 @@
+---
+default_config:
+    check_newer_vagrant_box: true
+    run_os_update: true
+servers:
+  - name: brooklyn
+    box: ubuntu/vivid64
+    ram: 2048
+    cpus: 4
+    ip: 10.10.10.100
+    shell:
+      env:
+        BROOKLYN_VERSION: 0.9.0-SNAPSHOT
+      cmd:
+        - sudo sh -c 'export DEBIAN_FRONTEND=noninteractive; apt-get install --yes openjdk-8-jre-headless'
+        - curl -s -S -J -O -L "https://www.apache.org/dyn/closer.cgi?action=download&filename=brooklyn/apache-brooklyn-${BROOKLYN_VERSION}/apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz"
+        - tar zxf apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz
+        - ln -s apache-brooklyn-${BROOKLYN_VERSION}-bin apache-brooklyn
+        - sudo mkdir -p /var/log/brooklyn
+        - sudo chown -R vagrant:vagrant /var/log/brooklyn
+        - sudo cp /vagrant/files/brooklyn.service /etc/systemd/system/brooklyn.service
+        - mkdir -p /home/vagrant/.brooklyn
+        - cp /vagrant/files/brooklyn.properties /home/vagrant/.brooklyn/
+        - chmod 600 /home/vagrant/.brooklyn/brooklyn.properties
+        - sudo systemctl start brooklyn
+        - sudo systemctl enable brooklyn
+  - name: byon1
+    box: ubuntu/vivid64
+    ram: 512
+    cpus: 2
+    ip: 10.10.10.101
+  - name: byon2
+    box: ubuntu/vivid64
+    ram: 512
+    cpus: 2
+    ip: 10.10.10.102
+  - name: byon3
+    box: ubuntu/vivid64
+    ram: 512
+    cpus: 2
+    ip: 10.10.10.103
+  - name: byon4
+    box: ubuntu/vivid64
+    ram: 512
+    cpus: 2
+    ip: 10.10.10.104
+...


[03/29] incubator-brooklyn git commit: Adding Vagrant Temp URL

Posted by he...@apache.org.
Adding Vagrant Temp URL


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

Branch: refs/heads/master
Commit: 5aca6ca2a94a8314821120b5ceb353da396af1f0
Parents: b5873c9
Author: Duncan Godwin <du...@cloudsoftcorp.com>
Authored: Thu Jan 14 12:35:44 2016 +0000
Committer: Duncan Godwin <du...@cloudsoftcorp.com>
Committed: Fri Jan 15 12:04:29 2016 +0000

----------------------------------------------------------------------
 brooklyn-docs/guide/start/running.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/5aca6ca2/brooklyn-docs/guide/start/running.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/running.md b/brooklyn-docs/guide/start/running.md
index 43066e4..1cb64c5 100644
--- a/brooklyn-docs/guide/start/running.md
+++ b/brooklyn-docs/guide/start/running.md
@@ -31,13 +31,13 @@ Firstly, download and install:
  * [Vagrant](http://www.vagrantup.com/downloads){:target="_blank"}
  * [Oracle VirtualBox](https://www.virtualbox.org/wiki/Downloads){:target="_blank"}
  
-Then download the default Apache Brooklyn vagrant configuration from [here](http://someurl){:target="_blank"}. This configuration contains everything you need to get started using Apache Brooklyn.
+Then download the default Apache Brooklyn vagrant configuration from [here](https://github.com/johnmccabe/vagrant-brooklyn-getting-started/archive/master.tar.gz){:target="_blank"}. This configuration contains everything you need to get started using Apache Brooklyn.
 
-Extract the `tar.gz` archive and navigate into the expanded `apache-brooklyn-vagrant-{{ site.brooklyn-version }}` folder
+Extract the `tar.gz` archive and navigate into the expanded `vagrant-brooklyn-getting-started-master` folder
 
 {% highlight bash %}
-$ tar xvf apache-brooklyn-vagrant-{{ site.brooklyn-version }}.tar.gz
-$ cd xvf apache-brooklyn-vagrant-{{ site.brooklyn-version }}
+$ tar xvf master.tar.gz
+$ cd vagrant-brooklyn-getting-started-master
 {% endhighlight %}
 
 


[23/29] incubator-brooklyn git commit: This closes #1175

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


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

Branch: refs/heads/master
Commit: e56536b6c086644a76cc0e3a921bdb7fcf5a8236
Parents: da1db57 552f4b7
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Jan 30 02:28:34 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Jan 30 02:28:34 2016 +0000

----------------------------------------------------------------------
 brooklyn-library/pom.xml                    | 2 +-
 brooklyn-library/software/messaging/pom.xml | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------



[14/29] incubator-brooklyn git commit: fix RAT violations

Posted by he...@apache.org.
fix RAT violations


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

Branch: refs/heads/master
Commit: b3c222cf99f02daf9846b0aca98ff05533fd72ca
Parents: 8dee3a6
Author: John McCabe <jo...@johnmccabe.net>
Authored: Sun Jan 24 22:24:50 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Sun Jan 24 22:24:50 2016 +0000

----------------------------------------------------------------------
 .../vagrant/src/main/vagrant/Vagrantfile        | 20 +++++++++++++++++++-
 .../src/main/vagrant/files/brooklyn.properties  | 19 +++++++++++++++++++
 .../src/main/vagrant/files/brooklyn.service     | 19 +++++++++++++++++++
 .../vagrant/src/main/vagrant/files/logback.xml  | 20 ++++++++++++++++++++
 .../vagrant/src/main/vagrant/servers.yaml       | 19 +++++++++++++++++++
 5 files changed, 96 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b3c222cf/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile b/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
index f5f7927..395e8bc 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
+++ b/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
@@ -1,5 +1,23 @@
 # -*- mode: ruby -*-
-# # vi: set ft=ruby :
+# vi: set ft=ruby :
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
 
 # Specify minimum Vagrant version and Vagrant API version
 Vagrant.require_version ">= 1.8.1"

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b3c222cf/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
index 22f8688..0784ff3 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.properties
@@ -1,3 +1,22 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
 # Disabling security on the Vagrant Brooklyn instance for training purposes
 brooklyn.webconsole.security.provider = org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b3c222cf/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
index 5fe2767..28b0fea 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/brooklyn.service
@@ -1,3 +1,22 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
 [Unit]
 Description=Apache Brooklyn service
 Documentation=http://brooklyn.apache.org/documentation/index.html

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b3c222cf/brooklyn-dist/vagrant/src/main/vagrant/files/logback.xml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/logback.xml b/brooklyn-dist/vagrant/src/main/vagrant/files/logback.xml
index 77b3816..1560d8b 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/files/logback.xml
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/logback.xml
@@ -1,3 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
 <configuration scan="true">
 
     <!-- to supply custom logging, either change this file, supply your own logback-main.xml

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b3c222cf/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml b/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
index 0bf133b..5203171 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
+++ b/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
@@ -1,3 +1,22 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
 ---
 default_config:
     check_newer_vagrant_box: true


[16/29] incubator-brooklyn git commit: add README.md to rat excludes

Posted by he...@apache.org.
add README.md to rat excludes


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

Branch: refs/heads/master
Commit: 8b1a4cb33ce87d9a57a74a6d969a7c2d2cef6fe9
Parents: 4383386
Author: John McCabe <jo...@johnmccabe.net>
Authored: Mon Jan 25 00:57:47 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Mon Jan 25 00:57:47 2016 +0000

----------------------------------------------------------------------
 brooklyn-dist/vagrant/pom.xml | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8b1a4cb3/brooklyn-dist/vagrant/pom.xml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/pom.xml b/brooklyn-dist/vagrant/pom.xml
index 3fc1844..fbe6539 100644
--- a/brooklyn-dist/vagrant/pom.xml
+++ b/brooklyn-dist/vagrant/pom.xml
@@ -66,5 +66,18 @@
                 </executions>
             </plugin>
         </plugins>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.rat</groupId>
+                    <artifactId>apache-rat-plugin</artifactId>
+                    <configuration>
+                        <excludes combine.children="append">
+                            <exclude>src/main/vagrant/README.md</exclude>
+                        </excludes>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
     </build>
 </project>


[26/29] incubator-brooklyn git commit: This closes #1179

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


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

Branch: refs/heads/master
Commit: 9ae6d9ef80e5621d431edd1009c1fbfc94ca2cec
Parents: 00d99b9 627aaad
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Jan 30 02:48:00 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Jan 30 02:48:00 2016 +0000

----------------------------------------------------------------------
 .../util/core/task/BasicExecutionManager.java   | 20 ++++++++++++++++++++
 .../core/task/DynamicSequentialTaskTest.java    |  6 +++++-
 2 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/9ae6d9ef/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
----------------------------------------------------------------------


[11/29] incubator-brooklyn git commit: correct artifact staging dir path

Posted by he...@apache.org.
correct artifact staging dir path


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

Branch: refs/heads/master
Commit: dc7e8c4a3efbc238cb752b3e453328cdc884da76
Parents: de945b2
Author: John McCabe <jo...@johnmccabe.net>
Authored: Thu Jan 21 22:57:21 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Thu Jan 21 22:57:21 2016 +0000

----------------------------------------------------------------------
 .../committers/release-process/make-release-artifacts.md           | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc7e8c4a/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md b/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md
index 81accb4..8b14c7d 100644
--- a/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md
+++ b/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md
@@ -9,7 +9,7 @@ It is written to account for several Apache requirements, so you are strongly ad
 
 The release script will:
 
-- **Create source code and binary distribution artifacts** and place them in a temporary staging directory on your workstation, usually `/tmp/`.
+- **Create source code and binary distribution artifacts** and place them in a temporary staging directory on your workstation, usually `brooklyn-dist/release/tmp/`.
 - **Create Maven artifacts and upload them to a staging repository** located on the Apache Nexus server.
 
 The script has a single required parameter `-r` which is given the release candidate number - so `-r1` will create


[17/29] incubator-brooklyn git commit: Finished Managing

Posted by he...@apache.org.
Finished Managing


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

Branch: refs/heads/master
Commit: 19a10ae8283c9592eeeb5e622e237c66aecc9fbe
Parents: ed7a510
Author: Duncan Godwin <du...@cloudsoftcorp.com>
Authored: Mon Jan 25 13:26:51 2016 +0000
Committer: Duncan Godwin <du...@cloudsoftcorp.com>
Committed: Mon Jan 25 13:26:51 2016 +0000

----------------------------------------------------------------------
 brooklyn-docs/guide/glossary.json     |   6 +-
 brooklyn-docs/guide/start/managing.md | 245 ++++++++++++++++++-----------
 2 files changed, 155 insertions(+), 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/19a10ae8/brooklyn-docs/guide/glossary.json
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/glossary.json b/brooklyn-docs/guide/glossary.json
index 1f8b19d..b201aba 100644
--- a/brooklyn-docs/guide/glossary.json
+++ b/brooklyn-docs/guide/glossary.json
@@ -14,5 +14,9 @@
   {
     "term": "sensor, !<code>sensor",
     "description": "A sensor is a property of an Apache Brooklyn entity, updated in real-time"
+  },
+  {
+    "term": "effector",
+    "description": "Effectors are tools Apache Brooklyn provides, that allow you to manipulate the live entities within an application"
   }
-]
+]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/19a10ae8/brooklyn-docs/guide/start/managing.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/managing.md b/brooklyn-docs/guide/start/managing.md
index be6ccce..3724590 100644
--- a/brooklyn-docs/guide/start/managing.md
+++ b/brooklyn-docs/guide/start/managing.md
@@ -56,7 +56,7 @@ In the above example the Id `hTPAF19s` and the Name `Tomcat` are shown. You can
 Using the name `Tomcat` we can get the application details:
 </p>
 {% highlight bash %}
-$ br app Tomcat
+$ br application Tomcat
 {% endhighlight %}
 <pre>
   Id:              hTPAF19s   
@@ -108,7 +108,7 @@ $ br tree
 You can view the blueprint for the application again:
 </p>
 {% highlight bash %}
-$ br app tomcat spec
+$ br application Tomcat spec
 {% endhighlight %}
 <pre>
 "name: Tomcat\nlocation:\n  mylocation\nservices:\n- serviceType: brooklyn.entity.webapp.tomcat.TomcatServer\n"
@@ -127,7 +127,7 @@ $ br app tomcat spec
 You can view the configuration of the application:
 </p>
 {% highlight bash %}
-$ br app tomcat config
+$ br application Tomcat config
 {% endhighlight %}
 <pre>
 Key                    Value   
@@ -146,7 +146,7 @@ An *Entity* is Apache Brooklyn's representation of a software package or service
 To list the entities of the application you can use the `entity` or `ent` command:
 
 {% highlight bash %}
-$ br app Tomcat entity
+$ br application Tomcat entity
 {% endhighlight %}
 <pre>
 Id         Name                Type   
@@ -158,7 +158,7 @@ This shows one entity is available: `tomcatServer`. Note that this is the name w
 You can get summary information for this entity by providing its name (or ID).
 
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer
+$ br application Tomcat entity tomcatServer
 {% endhighlight %}
 <pre>
 Id:              Wx7r1C4e   
@@ -172,7 +172,7 @@ CatalogItemId:   null
 Also you can see the configuration of this entity with the ```config``` command.
 
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer config
+$ br application Tomcat entity tomcatServer config
 {% endhighlight %}
 <pre>
 Key                       Value   
@@ -186,12 +186,12 @@ install.unique_label      TomcatServer_7.0.65
 
 ## Sensors
 
-*Sensors* are properties which reflect the state of an *entity* and provide a real-time picture of an *entity* in an application.
+*Sensors* are properties which show the state of an *entity* and provide a real-time picture of an *entity* within an application.
 
-To view the sensors on the application itself, use the command below:
+You can view the sensors available on the application using:
 
 {% highlight bash %}
-$ br app Tomcat sensor
+$ br application Tomcat sensor
 {% endhighlight %}
 <pre>
 Name                       Description                                                                             Value   
@@ -202,11 +202,10 @@ service.state              Actual lifecycle state of the service
 service.state.expected     Last controlled change to service state, indicating what the expected state should be   "running @ 1450356994928 / Thu Dec 17 12:56:34 GMT 2015"
 </pre>
 
-To explore all sensors available on an entity use the `sensor` command with an entity scope.
-Note, again, the name of the application or entity can be used or the ID:
+To explore sensors on a specific entity use the `sensor` command with an entity specified:
 
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer sensor
+$ br application Tomcat entity tomcatServer sensor
 {% endhighlight %}
 <pre>
 Name                                            Description                                                                                                      Value   
@@ -222,10 +221,10 @@ host.subnet.hostname                            Host name as known internally in
 </pre>
 
 
-To study selected sensors, give the command the sensor name as an argument
+To display the value of a selected sensor, give the command the sensor name as an argument
 
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer sensor webapp.url  
+$ br application Tomcat entity tomcatServer sensor webapp.url  
 {% endhighlight %}
 <pre>
 "http://10.10.10.101:8080/"
@@ -234,11 +233,10 @@ $ br app Tomcat ent tomcatServer sensor webapp.url
 
 ## Effectors
 
-Effectors are the means by which you can manipulate the entities in an application.  For an application you can list them 
-with 
+Effectors are a means by which you can manipulate the entities in an application.  You can list the available effectors for your application using:
 
 {% highlight bash %}
-$ br app Tomcat effector
+$ br application Tomcat effector
 {% endhighlight %}
 <pre>
 Name            Description                                                                                                                                                                            Parameters   
@@ -247,10 +245,13 @@ start           Start the process/service represented by an entity
 stop            Stop the process/service represented by an entity                                                                                                                                         
 </pre>
 
-For an entity supply the entity scope:
+For example, to stop an application, use the ```stop``` effector. This will cleanly shutdown all components in the application and return any cloud machines that were being used. 
+Note that the three "lifecycle" related effectors, ```start```, ```stop```, and ```restart```, are common to all applications and software process entities in Brooklyn.
+
+You can list the effectors for a specific entity using the command:
 
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer effector
+$ br application Tomcat entity tomcatServer effector
 {% endhighlight %}
 <pre>
 Name                              Description                                                                               Parameters   
@@ -262,70 +263,44 @@ stop                              Stop the process/service represented by an ent
 undeploy                          Undeploys the given context/artifact                                                      targetName   
 </pre>
 
-To view just one effector's documentation, supply its name to the show command:
-
-{% highlight bash %}
-$ br app Tomcat ent tomcatServer effector deploy
-{% endhighlight %}
-<pre>
-Name            Description                                                                                                                                                                            Parameters   
-deploy          Deploys the given artifact, from a source URL, to a given deployment filename/context                                                                                                  url,targetName   
-</pre>
-
-These effectors can be invoked using the command ```invoke```, supplying the application and entity id of the entity to 
-invoke the effector on.   
-
-For example, to stop an application, use the ```stop``` effector. This will cleanly shutdown all components in the 
-application and return any cloud machines that were being used. Do the invocation by supplying the effector name in 
-the scope, and using the command ```invoke```. 
-
-{% highlight bash %}
-$ br app Tomcat ent tomcatServer eff stop invoke
-{% endhighlight %}
-
-Note that the three "lifecycle" related effectors, ```start```, ```stop```, and ```restart```, are common to all software process 
-entities in Brooklyn. They are so commonly used that they have their own aliases. The above could also have been done
-by:
+To view the details for a specific effector, append it's name to the command:
 
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer stop
-{% endhighlight %}
-
-Some effectors require parameters for their invocation, as in the example of ```deploy``` above.  
-
-{% highlight bash %}
-$ br app Tomcat ent tomcatServer effector deploy
+$ br application Tomcat entity tomcatServer effector deploy
 {% endhighlight %}
 <pre>
 Name     Description                                                                             Parameters   
 deploy   Deploys the given artifact, from a source URL, to a given deployment filename/context   url,targetName   
 </pre>
 
-Now the effector can be invoked by supplying the parameters using ```--param parm=value``` or just ```-P parm=value```.
+These effectors can also be invoked by appending ```invoke``` to this command. Some effectors require parameters for their invocation. For example, if we look at the details for ```deploy``` above we can see it requires a url and targetName. 
 
-In the example below, a sample Tomcat war file is deployed, a variable is created for the root URL using the appropriate
-sensor, and the index page is fetched. Note that at present a ```tr``` command is required in the second line below to strip
-quotation characters from the returned sensor value. 
+These parameters can be supplied using ```--param parm=value``` or just ```-P parm=value```. 
+
+The commands below deploy the Apache Tomcat [hello world example](http://tomcat.apache.org/tomcat-6.0-doc/appdev/index.html){:target="_blank"} to our Tomcat Server. In these commands, a variable is created for the root URL using the appropriate
+sensor and the index page html is displayed. 
 
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer effector deploy invoke -P url=https://tomcat.apache.org/tomcat-6.0-doc/appdev/sample/sample.war -P targetName=sample
-$ webapp=$(br app Tomcat ent tomcatServer sensor webapp.url | tr -d '"')
+$ br application Tomcat entity tomcatServer effector deploy invoke -P url=https://tomcat.apache.org/tomcat-6.0-doc/appdev/sample/sample.war -P targetName=sample
+$ webapp=$(br application Tomcat entity tomcatServer sensor webapp.url | tr -d '"')
 $ curl $webapp/sample/
 {% endhighlight %}
     <html>
     <head>
     <title>Sample "Hello, World" Application</title>
     </head>
-# etc. etc.
+    ...
+
+**Note** that at present a ```tr``` command is required in the second line below to strip quotation characters from the returned sensor value. 
 
 ## Activities
 
-The ```activity``` command allows us to investigate the activities of an entity. 
+*Activities* are the actions an application or entity takes within Apache Brooklyn. The ```activity``` command allows us to list out these activities. 
 
-To view a list of all activities associated with an entity simply use
+To view a list of all activities associated with an entity enter:
 
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer activity
+$ br application Tomcat entity tomcatServer activity
 {% endhighlight %}
 <pre>
 Id         Task                                       Submitted                      Status      Streams   
@@ -334,13 +309,13 @@ l2qo4vTl   provisioning (FixedListMachineProvisi...   Thu Dec 17 15:04:43 GMT 20
 wLD764HE   pre-start                                  Thu Dec 17 15:04:43 GMT 2015   Completed    
 KLTxDkoa   ssh: initializing on-box base dir ./b...   Thu Dec 17 15:04:43 GMT 2015   Completed   env,stderr,stdin,stdout   
 jwwcJWmF   start (processes)                          Thu Dec 17 15:04:43 GMT 2015   Completed        
-# etc. etc.
+...
 </pre>
 
-To view the details of an individual activity provide its ID:
+To view the details of an individual activity, add its ID to the command. In our case this is `jwwcJWmF`
 
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer activity jwwcJWmF
+$ br application Tomcat entity tomcatServer activity jwwcJWmF
 {% endhighlight %}
 <pre>
 Id:                  jwwcJWmF   
@@ -361,13 +336,110 @@ DetailedStatus:      "Completed after 4m 16s
 No return value (null)"   
 </pre>
 
-If an activity has failed, the "DetailedStatus" value will show information about the failure, as an aid to diagnosis.
 
-Adding the ```--children``` or ```-c``` parameter will show the activity's child activities, to allow the hierarchical structure 
-of the activities to be investigated:
+#### Things we might want to do
 
+<div class="panel-group" id="accordionB">
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h4 class="panel-title">
+                    <a data-toggle="collapse" data-parent="#accordionB" href="#collapseOneB">View Input and Output Streams</a>
+                </h4>
+            </div>
+            <div id="collapseOneB" class="panel-collapse collapse in">
+                <div class="panel-body">
+<p>
+If an activity has associated input and output streams, these may be viewed by providing the activity scope and
+using the commands, "env", "stdin", "stdout", and "stderr".  For example, for the "initializing on-box base dir"
+activity from the result of the earlier example,
+</p>
+{% highlight bash %}
+$ br application Tomcat entity tomcatServer act KLTxDkoa stdout
+{% endhighlight %} 
+<pre>
+BASE_DIR_RESULT:/home/vagrant/brooklyn-managed-processes:BASE_DIR_RESULT
+</pre>
+                </div>
+            </div>
+        </div>
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h4 class="panel-title">
+                    <a data-toggle="collapse" data-parent="#accordionB" href="#collapseTwoB">Monitor the progress of an effector</a>
+                </h4>
+            </div>
+            <div id="collapseTwoB" class="panel-collapse collapse">
+                <div class="panel-body">
+                        
+<p>       
+To monitor progress on an application as it deploys, for example, one could use a shell loop:
+</p>
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer activity -c jwwcJWmF
+$ while br application Tomcat entity tomcatServer activity | grep 'In progress' ; do 
+  sleep 1; echo ; date; 
+done
+{% endhighlight %}
+<p>
+This loop will exit when the application has deployed successfully or has failed.  If it fails then the 'stderr' 
+command may provide information about what happened in any activities that have associated streams:
+</p>
+{% highlight bash %}
+$ br application Tomcat entity tomcatServer act KLTxDkoa stderr
+{% endhighlight %}                      
+                
+                </div>
+            </div>
+        </div>
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h4 class="panel-title">
+                    <a data-toggle="collapse" data-parent="#accordionB" href="#collapseThreeB">Diagnose a failure</a>
+                </h4>
+            </div>
+            <div id="collapseThreeB" class="panel-collapse collapse">
+                <div class="panel-body">
+                
+<p>
+If an activity has failed, the "DetailedStatus" value will help us diagnose what went wrong by showing information about the failure.
+</p>
+{% highlight bash %}
+$ br application evHUlq0n entity tomcatServer activity lZZ9x662
+{% endhighlight %}
+<pre>
+Id:                  lZZ9x662   
+DisplayName:         post-start   
+Description:            
+EntityId:            qZeyoITy   
+EntityDisplayName:   tomcatServer   
+Submitted:           Mon Jan 25 12:54:55 GMT 2016   
+Started:             Mon Jan 25 12:54:55 GMT 2016   
+Ended:               Mon Jan 25 12:59:56 GMT 2016   
+CurrentStatus:       Failed   
+IsError:             true   
+IsCancelled:         false   
+SubmittedByTask:     hWU7Qvgm   
+Streams:                
+DetailedStatus:      "Failed after 5m: Software process entity TomcatServerImpl{id=qZeyoITy} did not pass is-running check within the required 5m limit (5m elapsed)
+
+java.lang.IllegalStateException: Software process entity TomcatServerImpl{id=qZeyoITy} did not pass is-running check within the required 5m limit (5m elapsed)
+	at org.apache.brooklyn.entity.software.base.SoftwareProcessImpl.waitForEntityStart(SoftwareProcessImpl.java:586)
+	at org.apache.brooklyn.entity.software.base.SoftwareProcessImpl.postDriverStart(SoftwareProcessImpl.java:260)
+	at org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks.postStartCustom(SoftwareProcessDriverLifecycleEffectorTasks.java:169)
+	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$PostStartTask.run(MachineLifecycleEffectorTasks.java:570)
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
+	at org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:342)
+	at org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:468)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
+	at java.lang.Thread.run(Thread.java:745)"
+</pre>
+<p>
+Adding the "--children" or "-c" parameter will show the activity's child activities, to allow the hierarchical structure 
+of the activities to be investigated:
+</p>
+{% highlight bash %}
+$ br application Tomcat entity tomcatServer activity -c jwwcJWmF
 {% endhighlight %}
 <pre>
 Id         Task                         Submitted                      Status   
@@ -384,41 +456,23 @@ STavcRc8   pre-launch-command           Thu Dec 17 15:08:58 GMT 2015   Completed
 HKrYfH6h   launch                       Thu Dec 17 15:08:58 GMT 2015   Completed   
 T1m8VXbq   post-launch-command          Thu Dec 17 15:08:59 GMT 2015   Completed   
 n8eK5USE   post-launch                  Thu Dec 17 15:08:59 GMT 2015   Completed   
-</pre>
-
-If an activity has associated input and output streams, these may be viewed by providing the activity scope and
-using the commands, ```env```, ```stdin```, ```stdout```, and ```stderr```.  For example, for the "initializing on-box base dir"
-activity from the result of the earlier example,
-
-{% highlight bash %}
-$ br app Tomcat ent tomcatServer act KLTxDkoa stdout
-BASE_DIR_RESULT:/home/vagrant/brooklyn-managed-processes:BASE_DIR_RESULT
-{% endhighlight %}
-
-
-To monitor progress on an application as it deploys, for example, one could use a shell loop:
-
-{% highlight bash %}
-$ while br app Tomcat ent tomcatServer activity | grep 'In progress' ; do 
-  sleep 1; echo ; date; 
-done
-{% endhighlight %}
-This loop will exit when the application has deployed successfully or has failed.  If it fails then the 'stderr' 
-command may provide information about what happened in any activities that have associated streams:
-
-{% highlight bash %}
-$ br app Tomcat ent tomcatServer act KLTxDkoa stderr
-{% endhighlight %}
+</pre>                
+                      
+                </div>
+            </div>
+        </div>
+    </div>
 
 
+{::comment}
 ## Scopes in CLI commands
 Many commands require a "scope" expression to indicate the target on which they operate. The scope expressions are
 as follows (values in brackets are aliases for the scope):
 
 - ```application``` APP-ID   (app, a)  
- Selects an application, e.g. "br app myapp"  
+ Selects an application, e.g. "br application myapp"  
 - ```entity```      ENT-ID   (ent, e)  
- Selects an entity within an application scope, e.g. ```br app myapp ent myserver```  
+ Selects an entity within an application scope, e.g. ```br application myapp entity myserver```  
 - ```effector```    EFF-ID   (eff, f)  
  Selects an effector of an entity or application, e.g. ```br a myapp e myserver eff xyz```  
 - ```config```      CONF-KEY (conf, con, c)  
@@ -428,10 +482,11 @@ as follows (values in brackets are aliases for the scope):
 
 For example
 {% highlight bash %}
-$ br app Tomcat ent tomcatServer config
+$ br application Tomcat entity tomcatServer config
 {% endhighlight %}
 runs the ```config``` command with application scope of ```Tomcat``` and entity scope of ```tomcatServer```.
 
+{:/comment}
 
 ## Next
 


[27/29] incubator-brooklyn git commit: This closes #1144

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


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

Branch: refs/heads/master
Commit: 8a08f7b8e8d54a4ff63e805eb8cb915c1283b799
Parents: 9ae6d9e 09c4c80
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Jan 30 02:55:20 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Jan 30 02:55:20 2016 +0000

----------------------------------------------------------------------
 LICENSE                                        |   7 +
 brooklyn-docs/_includes/base-head.html         |  13 +
 brooklyn-docs/guide/glossary.json              |  22 +
 brooklyn-docs/guide/ops/security-guidelines.md |   2 +-
 brooklyn-docs/guide/start/blueprints.md        | 110 +++--
 brooklyn-docs/guide/start/managing.md          | 461 +++++++++++++-------
 brooklyn-docs/guide/start/running.md           | 104 ++++-
 brooklyn-docs/style/deps/glossarizer.js        | 379 ++++++++++++++++
 brooklyn-docs/style/deps/tooltip.css           |  64 +++
 brooklyn-docs/style/deps/tooltip.js            |  86 ++++
 10 files changed, 1035 insertions(+), 213 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8a08f7b8/LICENSE
----------------------------------------------------------------------


[20/29] incubator-brooklyn git commit: add support for SNAPSHOT downloads - supports release downloads via Apache closer.lua mirror - supports snapshot download from Apache maven - supports snapshot download from a local -dist.tar.gz archive. *NOTE* this

Posted by he...@apache.org.
add support for SNAPSHOT downloads
- supports release downloads via Apache closer.lua mirror
- supports snapshot download from Apache maven
- supports snapshot download from a local -dist.tar.gz archive.
*NOTE* this currently requires the user to copy the dist to the same directory
       as the Vagrantfile


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

Branch: refs/heads/master
Commit: 16d1e913a78beaca66adbb138ad067629709b0c7
Parents: 8b1a4cb
Author: John McCabe <jo...@johnmccabe.net>
Authored: Thu Jan 28 16:27:44 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Thu Jan 28 16:27:44 2016 +0000

----------------------------------------------------------------------
 .../vagrant/src/main/vagrant/README.md          | 58 ++++--------
 .../vagrant/src/main/vagrant/Vagrantfile        |  4 -
 .../src/main/vagrant/files/install_brooklyn.sh  | 92 ++++++++++++++++++++
 .../vagrant/src/main/vagrant/servers.yaml       | 27 +++---
 4 files changed, 127 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/16d1e913/brooklyn-dist/vagrant/src/main/vagrant/README.md
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/README.md b/brooklyn-dist/vagrant/src/main/vagrant/README.md
index b446ab8..2f5573c 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/README.md
+++ b/brooklyn-dist/vagrant/src/main/vagrant/README.md
@@ -1,63 +1,41 @@
 
 # [![**Brooklyn**](https://brooklyn.apache.org/style/img/apache-brooklyn-logo-244px-wide.png)](http://brooklyn.apache.org/)
 
-### Using Vagrant with Brooklyn -SNAPSHOT releases
-Due to the absence of a single source for snapshots (i.e. locally built vs. [periodically published archives](https://brooklyn.apache.org/v/0.9.0-SNAPSHOT/misc/download.html)), we require that you override the supplied `servers.yaml` to explicitly point at your desired `-SNAPSHOT` release.
+### Using Vagrant with Brooklyn -SNAPSHOT builds
 
-Full releases use the `BROOKLYN_VERSION` environment variable to download the associated `-bin` artifact from the closest Apache mirror, if this environment variable is set to a `-SNAPSHOT` we abort creating the Brooklyn Vagrant VM.
-
-##### Installing from local file
-For example to install from a locally built `-dist` archive:
-
-1. Copy the SNAPSHOT `-dist` archive to the same directory as the `Vagrantfile`
-
-   ```
-   cp  ~/Workspaces/incubator-brooklyn/brooklyn-dist/dist/target/brooklyn-dist-0.9.0-SNAPSHOT-dist.tar.gz .
-   ```
-
-2. Delete the `BROOKLYN_VERSION:` environment variable from `servers.yaml`. For example:
+##### Install a community-managed version from Maven
+1. No action is required other than setting the  `BROOKLYN_VERSION:` environment variable in `servers.yaml` to a `-SNAPSHOT` version. For example:
 
    ```
    env:
      BROOKLYN_VERSION: 0.9.0-SNAPSHOT
    ```
 
-3. Update `servers.yaml` to install from the `-dist` archive. For example, replace:
-   ```
-   - curl -s -S -J -O -L "https://www.apache.org/dyn/closer.cgi?action=download&filename=brooklyn/apache-brooklyn-${BROOKLYN_VERSION}/apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz"
-   - tar zxf apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz
-   - ln -s apache-brooklyn-${BROOKLYN_VERSION}-bin apache-brooklyn
-   ```
-   with:
-   ```
-   - cp /vagrant/brooklyn-dist-0.9.0-SNAPSHOT-dist.tar.gz .
-   - tar zxf brooklyn-dist-0.9.0-SNAPSHOT-dist.tar.gz
-   - ln -s brooklyn-dist-0.9.0-SNAPSHOT apache-brooklyn
-   ```
-
-4. You may proceed to use the `Vagrantfile` as normal; `vagrant up`, `vagrant destroy` etc.
+2. You may proceed to use the `Vagrantfile` as normal; `vagrant up`, `vagrant destroy` etc.
 
-##### Installing from URL
-For example to install from a published `-SHAPSHOT` archive:
+##### Install a locally built `-dist.tar.gz`
 
-1. Delete the `BROOKLYN_VERSION:` environment variable from `servers.yaml`. For example:
+1. Set the `BROOKLYN_VERSION:` environment variable in `servers.yaml` to your current `-SNAPSHOT` version. For example:
 
    ```
    env:
      BROOKLYN_VERSION: 0.9.0-SNAPSHOT
    ```
 
-2. Update `servers.yaml` to install from URL. For example, replace:
+2. Set the `INSTALL_FROM_LOCAL_DIST:` environment variable in `servers.yaml` to `true`. For example:
+
    ```
-   - curl -s -S -J -O -L "https://www.apache.org/dyn/closer.cgi?action=download&filename=brooklyn/apache-brooklyn-${BROOKLYN_VERSION}/apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz"
-   - tar zxf apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz
-   - ln -s apache-brooklyn-${BROOKLYN_VERSION}-bin apache-brooklyn
+   env:
+     INSTALL_FROM_LOCAL_DIST: true
    ```
-   with:
+
+
+3. Copy your locally built `-dist.tar.gz` archive to the same directory as the Vagrantfile (this directory is mounted in the Vagrant VM at `/vagrant/`).
+
+   For example to copy a locally built `0.9.0-SNAPSHOT` dist:
+
    ```
-   - curl -s -S -J -O -L "https://repository.apache.org/service/local/artifact/maven/redirect?r=snapshots&g=org.apache.brooklyn&a=brooklyn-dist&v=0.9.0-SNAPSHOT&c=dist&e=tar.gz"
-   - tar zxf brooklyn-dist-0.9.0-SNAPSHOT-dist.tar.gz
-   - ln -s brooklyn-dist-0.9.0-SNAPSHOT apache-brooklyn
+   cp ~/.m2/repository/org/apache/brooklyn/brooklyn-dist/0.9.0-SNAPSHOT/brooklyn-dist-0.9.0-SNAPSHOT-dist.tar.gz .
    ```
 
-3. You may proceed to use the `Vagrantfile` as normal; `vagrant up`, `vagrant destroy` etc.
\ No newline at end of file
+4. You may proceed to use the `Vagrantfile` as normal; `vagrant up`, `vagrant destroy` etc.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/16d1e913/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile b/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
index 7f5dbb0..fb35a15 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
+++ b/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
@@ -39,10 +39,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
   yaml_cfg["servers"].each do |server|
     config.vm.define server["name"] do |server_config|
 
-      if server["shell"] && server["shell"]["env"]["BROOKLYN_VERSION"] =~ /SNAPSHOT/i
-        raise Vagrant::Errors::VagrantError.new, "Deploying Brooklyn SNAPSHOTS is not supported without a manual update to servers.yaml. See README for instructions."
-      end
-
       server_config.vm.box = server["box"]
 
       server_config.vm.box_check_update = yaml_cfg["default_config"]["check_newer_vagrant_box"]

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/16d1e913/brooklyn-dist/vagrant/src/main/vagrant/files/install_brooklyn.sh
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/files/install_brooklyn.sh b/brooklyn-dist/vagrant/src/main/vagrant/files/install_brooklyn.sh
new file mode 100755
index 0000000..9c52017
--- /dev/null
+++ b/brooklyn-dist/vagrant/src/main/vagrant/files/install_brooklyn.sh
@@ -0,0 +1,92 @@
+#!/usr/bin/env bash
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+BROOKLYN_VERSION=""
+INSTALL_FROM_LOCAL_DIST="false"
+TMP_ARCHIVE_NAME=apache-brooklyn.tar.gz
+
+do_help() {
+  echo "./install.sh -v <Brooklyn Version> [-l <install from local file: true|false>]"
+  exit 1
+}
+
+while getopts ":hv:l:" opt; do
+    case "$opt" in
+    v)  BROOKLYN_VERSION=$OPTARG ;;
+        # using a true/false argopt rather than just flag to allow easier integration with servers.yaml config
+    l)  INSTALL_FROM_LOCAL_DIST=$OPTARG ;;
+    h)  do_help;;
+    esac
+done
+
+# Exit if any step fails
+set -e
+
+if [ "x${BROOKLYN_VERSION}" == "x" ]; then
+  echo "Error: you must supply a Brooklyn version [-v]"
+  do_help
+fi
+
+if [ ! "${INSTALL_FROM_LOCAL_DIST}" == "true" ]; then
+  if [ ! -z "${BROOKLYN_VERSION##*-SNAPSHOT}" ] ; then
+    # url for official release versions
+    BROOKLYN_URL="https://www.apache.org/dyn/closer.lua?action=download&filename=brooklyn/apache-brooklyn-${BROOKLYN_VERSION}/apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz"
+    BROOKLYN_DIR="apache-brooklyn-${BROOKLYN_VERSION}-bin"
+  else
+    # url for community-managed snapshots
+    BROOKLYN_URL="https://repository.apache.org/service/local/artifact/maven/redirect?r=snapshots&g=org.apache.brooklyn&a=brooklyn-dist&v=${BROOKLYN_VERSION}&c=dist&e=tar.gz"
+    BROOKLYN_DIR="brooklyn-dist-${BROOKLYN_VERSION}"
+  fi
+else
+  echo "Installing from a local -dist archive [ /vagrant/brooklyn-dist-${BROOKLYN_VERSION}-dist.tar.gz]"
+  # url to install from mounted /vagrant dir
+  BROOKLYN_URL="file:///vagrant/brooklyn-dist-${BROOKLYN_VERSION}-dist.tar.gz"
+  BROOKLYN_DIR="brooklyn-dist-${BROOKLYN_VERSION}"
+
+  # ensure local file exists
+  if [ ! -f /vagrant/brooklyn-dist-${BROOKLYN_VERSION}-dist.tar.gz ]; then
+    echo "Error: file not found /vagrant/brooklyn-dist-${BROOKLYN_VERSION}-dist.tar.gz"
+    exit 1
+  fi
+fi
+
+echo "Installing Apache Brooklyn version ${BROOKLYN_VERSION} from [${BROOKLYN_URL}]"
+
+echo "Downloading Brooklyn release archive"
+curl --fail --silent --show-error --location --output ${TMP_ARCHIVE_NAME} "${BROOKLYN_URL}"
+echo "Extracting Brooklyn release archive"
+tar zxf ${TMP_ARCHIVE_NAME}
+
+echo "Creating Brooklyn dirs and symlinks"
+ln -s ${BROOKLYN_DIR} apache-brooklyn
+sudo mkdir -p /var/log/brooklyn
+sudo chown -R vagrant:vagrant /var/log/brooklyn
+mkdir -p /home/vagrant/.brooklyn
+
+echo "Copying default vagrant Brooklyn properties file"
+cp /vagrant/files/brooklyn.properties /home/vagrant/.brooklyn/
+chmod 600 /home/vagrant/.brooklyn/brooklyn.properties
+
+echo "Installing JRE"
+sudo sh -c 'export DEBIAN_FRONTEND=noninteractive; apt-get install --yes openjdk-8-jre-headless'
+
+echo "Copying Brooklyn systemd service unit file"
+sudo cp /vagrant/files/brooklyn.service /etc/systemd/system/brooklyn.service
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/16d1e913/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml b/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
index 5203171..3959fff 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
+++ b/brooklyn-dist/vagrant/src/main/vagrant/servers.yaml
@@ -16,6 +16,21 @@
 # specific language governing permissions and limitations
 # under the License.
 #
+#
+# Default Config
+#   check_newer_vagrant_box
+#     enable/disable the vagrant check for an updated box
+#   run_os_update
+#     enable/disable running a yum/apt-get update on box start
+#
+# Brooklyn Server Config
+#   shell:env:BROOKLYN_VERSION
+#     specifies the version of Brooklyn to install, be aware that for SNAPSHOTS you
+#     may wish to download a local -dist.tar.gz for the latest version.
+#   shell:env:INSTALL_FROM_LOCAL_DIST
+#     if set to `true` Vagrant will install from a local -dist.tar.gz stored in /vagrant
+#     on the guest VM (which is mounted from the Vagrantfile directory). You must
+#     ensure that a -dist.tar.gz archive has been copied to this directory on your host.
 
 ---
 default_config:
@@ -30,17 +45,9 @@ servers:
     shell:
       env:
         BROOKLYN_VERSION: 0.9.0-SNAPSHOT
+        INSTALL_FROM_LOCAL_DIST: false
       cmd:
-        - sudo sh -c 'export DEBIAN_FRONTEND=noninteractive; apt-get install --yes openjdk-8-jre-headless'
-        - curl -s -S -J -O -L "https://www.apache.org/dyn/closer.cgi?action=download&filename=brooklyn/apache-brooklyn-${BROOKLYN_VERSION}/apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz"
-        - tar zxf apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz
-        - ln -s apache-brooklyn-${BROOKLYN_VERSION}-bin apache-brooklyn
-        - sudo mkdir -p /var/log/brooklyn
-        - sudo chown -R vagrant:vagrant /var/log/brooklyn
-        - sudo cp /vagrant/files/brooklyn.service /etc/systemd/system/brooklyn.service
-        - mkdir -p /home/vagrant/.brooklyn
-        - cp /vagrant/files/brooklyn.properties /home/vagrant/.brooklyn/
-        - chmod 600 /home/vagrant/.brooklyn/brooklyn.properties
+        - /vagrant/files/install_brooklyn.sh -v ${BROOKLYN_VERSION} -l ${INSTALL_FROM_LOCAL_DIST}
         - sudo systemctl start brooklyn
         - sudo systemctl enable brooklyn
   - name: byon1


[06/29] incubator-brooklyn git commit: Fixed stray end tag

Posted by he...@apache.org.
Fixed stray end tag


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

Branch: refs/heads/master
Commit: 4b864fa4ddc3a298e8e3d452bd8e486baa745104
Parents: bb5f8e1
Author: Duncan Godwin <du...@cloudsoftcorp.com>
Authored: Tue Jan 19 15:34:25 2016 +0000
Committer: Duncan Godwin <du...@cloudsoftcorp.com>
Committed: Tue Jan 19 15:34:25 2016 +0000

----------------------------------------------------------------------
 brooklyn-docs/guide/start/managing.md | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4b864fa4/brooklyn-docs/guide/start/managing.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/managing.md b/brooklyn-docs/guide/start/managing.md
index cffd3a1..bb9cd3a 100644
--- a/brooklyn-docs/guide/start/managing.md
+++ b/brooklyn-docs/guide/start/managing.md
@@ -265,14 +265,11 @@ $ br app Tomcat ent TomcatServer:Wx7r effector deploy invoke -P url=https://tomc
 $ webapp=$(br app Tomcat ent TomcatServer:Wx7r sensor webapp.url | tr -d '"')
 $ curl $webapp/sample/
 {% endhighlight %}
-<pre>
-<html>
-<head>
-<title>Sample "Hello, World" Application</title>
-</head>
+    <html>
+    <head>
+    <title>Sample "Hello, World" Application</title>
+    </head>
 # etc. etc.
-</pre>
-
 
 ## Activities
 


[15/29] incubator-brooklyn git commit: add -SNAPSHOT handling - aborts starting brooklyn VM with a warning and pointer to README - README describes how to update the Vagrantfile to point at the desired -SNAPSHOT source

Posted by he...@apache.org.
add -SNAPSHOT handling
- aborts starting brooklyn VM with a warning and pointer to README
- README describes how to update the Vagrantfile to point at the desired -SNAPSHOT source


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

Branch: refs/heads/master
Commit: 43833863b2f9b5663059df170de2ab5dd74e739c
Parents: b3c222c
Author: John McCabe <jo...@johnmccabe.net>
Authored: Sun Jan 24 23:41:26 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Sun Jan 24 23:41:26 2016 +0000

----------------------------------------------------------------------
 .../vagrant/src/main/vagrant/README.md          | 63 ++++++++++++++++++++
 .../vagrant/src/main/vagrant/Vagrantfile        |  5 ++
 2 files changed, 68 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/43833863/brooklyn-dist/vagrant/src/main/vagrant/README.md
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/README.md b/brooklyn-dist/vagrant/src/main/vagrant/README.md
new file mode 100644
index 0000000..b446ab8
--- /dev/null
+++ b/brooklyn-dist/vagrant/src/main/vagrant/README.md
@@ -0,0 +1,63 @@
+
+# [![**Brooklyn**](https://brooklyn.apache.org/style/img/apache-brooklyn-logo-244px-wide.png)](http://brooklyn.apache.org/)
+
+### Using Vagrant with Brooklyn -SNAPSHOT releases
+Due to the absence of a single source for snapshots (i.e. locally built vs. [periodically published archives](https://brooklyn.apache.org/v/0.9.0-SNAPSHOT/misc/download.html)), we require that you override the supplied `servers.yaml` to explicitly point at your desired `-SNAPSHOT` release.
+
+Full releases use the `BROOKLYN_VERSION` environment variable to download the associated `-bin` artifact from the closest Apache mirror, if this environment variable is set to a `-SNAPSHOT` we abort creating the Brooklyn Vagrant VM.
+
+##### Installing from local file
+For example to install from a locally built `-dist` archive:
+
+1. Copy the SNAPSHOT `-dist` archive to the same directory as the `Vagrantfile`
+
+   ```
+   cp  ~/Workspaces/incubator-brooklyn/brooklyn-dist/dist/target/brooklyn-dist-0.9.0-SNAPSHOT-dist.tar.gz .
+   ```
+
+2. Delete the `BROOKLYN_VERSION:` environment variable from `servers.yaml`. For example:
+
+   ```
+   env:
+     BROOKLYN_VERSION: 0.9.0-SNAPSHOT
+   ```
+
+3. Update `servers.yaml` to install from the `-dist` archive. For example, replace:
+   ```
+   - curl -s -S -J -O -L "https://www.apache.org/dyn/closer.cgi?action=download&filename=brooklyn/apache-brooklyn-${BROOKLYN_VERSION}/apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz"
+   - tar zxf apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz
+   - ln -s apache-brooklyn-${BROOKLYN_VERSION}-bin apache-brooklyn
+   ```
+   with:
+   ```
+   - cp /vagrant/brooklyn-dist-0.9.0-SNAPSHOT-dist.tar.gz .
+   - tar zxf brooklyn-dist-0.9.0-SNAPSHOT-dist.tar.gz
+   - ln -s brooklyn-dist-0.9.0-SNAPSHOT apache-brooklyn
+   ```
+
+4. You may proceed to use the `Vagrantfile` as normal; `vagrant up`, `vagrant destroy` etc.
+
+##### Installing from URL
+For example to install from a published `-SHAPSHOT` archive:
+
+1. Delete the `BROOKLYN_VERSION:` environment variable from `servers.yaml`. For example:
+
+   ```
+   env:
+     BROOKLYN_VERSION: 0.9.0-SNAPSHOT
+   ```
+
+2. Update `servers.yaml` to install from URL. For example, replace:
+   ```
+   - curl -s -S -J -O -L "https://www.apache.org/dyn/closer.cgi?action=download&filename=brooklyn/apache-brooklyn-${BROOKLYN_VERSION}/apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz"
+   - tar zxf apache-brooklyn-${BROOKLYN_VERSION}-bin.tar.gz
+   - ln -s apache-brooklyn-${BROOKLYN_VERSION}-bin apache-brooklyn
+   ```
+   with:
+   ```
+   - curl -s -S -J -O -L "https://repository.apache.org/service/local/artifact/maven/redirect?r=snapshots&g=org.apache.brooklyn&a=brooklyn-dist&v=0.9.0-SNAPSHOT&c=dist&e=tar.gz"
+   - tar zxf brooklyn-dist-0.9.0-SNAPSHOT-dist.tar.gz
+   - ln -s brooklyn-dist-0.9.0-SNAPSHOT apache-brooklyn
+   ```
+
+3. You may proceed to use the `Vagrantfile` as normal; `vagrant up`, `vagrant destroy` etc.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/43833863/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
----------------------------------------------------------------------
diff --git a/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile b/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
index 395e8bc..7f5dbb0 100644
--- a/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
+++ b/brooklyn-dist/vagrant/src/main/vagrant/Vagrantfile
@@ -38,6 +38,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
   # Iterate through server entries in YAML file
   yaml_cfg["servers"].each do |server|
     config.vm.define server["name"] do |server_config|
+
+      if server["shell"] && server["shell"]["env"]["BROOKLYN_VERSION"] =~ /SNAPSHOT/i
+        raise Vagrant::Errors::VagrantError.new, "Deploying Brooklyn SNAPSHOTS is not supported without a manual update to servers.yaml. See README for instructions."
+      end
+
       server_config.vm.box = server["box"]
 
       server_config.vm.box_check_update = yaml_cfg["default_config"]["check_newer_vagrant_box"]


[28/29] incubator-brooklyn git commit: update license generation to put a file in each project root

Posted by he...@apache.org.
update license generation to put a file in each project root

and  correct some version mismatches


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

Branch: refs/heads/master
Commit: d8a3873a701df553e2de7e376f45fd4570250754
Parents: 8a08f7b
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Jan 30 03:32:38 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Jan 30 03:32:38 2016 +0000

----------------------------------------------------------------------
 .../dist/licensing/make-all-licenses.sh         | 34 +++++++++++---------
 brooklyn-dist/dist/licensing/overrides.yaml     | 10 +++---
 brooklyn-docs/_licensing/README                 | 24 ++++++++++++++
 .../src/main/license/source-inclusions.yaml     |  7 ++--
 4 files changed, 53 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d8a3873a/brooklyn-dist/dist/licensing/make-all-licenses.sh
----------------------------------------------------------------------
diff --git a/brooklyn-dist/dist/licensing/make-all-licenses.sh b/brooklyn-dist/dist/licensing/make-all-licenses.sh
index 3b62f96..b08d17f 100755
--- a/brooklyn-dist/dist/licensing/make-all-licenses.sh
+++ b/brooklyn-dist/dist/licensing/make-all-licenses.sh
@@ -29,26 +29,14 @@ unset BROOKLYN_LICENSE_SPECIALS
 unset BROOKLYN_LICENSE_EXTRAS_FILES
 unset BROOKLYN_LICENSE_MODE
 
-# individual projects
-for x in `cat projects-with-custom-licenses` ; do
-  export BROOKLYN_LICENSE_MODE=`basename $x`
-  echo MAKING LICENSES FOR: ${BROOKLYN_LICENSE_MODE}
-  export BROOKLYN_LICENSE_SPECIALS=-DonlyExtras=true
-  export BROOKLYN_LICENSE_EXTRAS_FILES=$x/src/main/license/source-inclusions.yaml
-  cp licenses/`basename $x`/* licenses/source
-  ./make-one-license.sh > LICENSE.autogenerated || ( echo FAILED. See details in tmp_stdout/err. && false )
-  cp LICENSE.autogenerated ../$x/src/main/license/files/LICENSE
-  unset BROOKLYN_LICENSE_SPECIALS
-  unset BROOKLYN_LICENSE_EXTRAS_FILES
-  unset BROOKLYN_LICENSE_MODE
-done
-
-# source build, at root
+# source build, at root and each sub-project
 export BROOKLYN_LICENSE_MODE=source
 echo MAKING LICENSES FOR: ${BROOKLYN_LICENSE_MODE}
 export BROOKLYN_LICENSE_SPECIALS=-DonlyExtras=true 
 ./make-one-license.sh > LICENSE.autogenerated
 cp LICENSE.autogenerated ../../../LICENSE
+# overwrite any existing licenses at root
+for x in ../../../brooklyn-*/LICENSE ; do cp LICENSE.autogenerated $x ; done
 unset BROOKLYN_LICENSE_SPECIALS
 unset BROOKLYN_LICENSE_MODE
 
@@ -59,3 +47,19 @@ echo MAKING LICENSES FOR: ${BROOKLYN_LICENSE_MODE}
 cp LICENSE.autogenerated ../src/main/license/files/LICENSE
 unset BROOKLYN_LICENSE_MODE
 
+# individual projects
+for x in `cat projects-with-custom-licenses` ; do
+  export BROOKLYN_LICENSE_MODE=`basename $x`
+  echo MAKING LICENSES FOR: ${BROOKLYN_LICENSE_MODE}
+  export BROOKLYN_LICENSE_SPECIALS=-DonlyExtras=true
+  export BROOKLYN_LICENSE_EXTRAS_FILES=$x/src/main/license/source-inclusions.yaml
+  cp licenses/`basename $x`/* licenses/source
+  ./make-one-license.sh > LICENSE.autogenerated || ( echo FAILED. See details in tmp_stdout/err. && false )
+  cp LICENSE.autogenerated ../$x/src/main/license/files/LICENSE
+  # also copy to root of that project *if* there is already a LICENSE file there
+  [ -f ../$x/LICENSE ] && cp LICENSE.autogenerated ../$x/LICENSE || true
+  unset BROOKLYN_LICENSE_SPECIALS
+  unset BROOKLYN_LICENSE_EXTRAS_FILES
+  unset BROOKLYN_LICENSE_MODE
+done
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d8a3873a/brooklyn-dist/dist/licensing/overrides.yaml
----------------------------------------------------------------------
diff --git a/brooklyn-dist/dist/licensing/overrides.yaml b/brooklyn-dist/dist/licensing/overrides.yaml
index a2f6107..1285df4 100644
--- a/brooklyn-dist/dist/licensing/overrides.yaml
+++ b/brooklyn-dist/dist/licensing/overrides.yaml
@@ -99,7 +99,8 @@
 
 # info on non-maven projects
 
-- id: jquery-core
+# used in UI
+- id: jquery-core:1.7.2
   url: http://jquery.com/
   description: JS library for manipulating HTML and eventing
   name: jQuery JavaScript Library
@@ -146,6 +147,7 @@
   - "  Available at http://sizzlejs.com"
   - "  Used under the MIT license"
 
+# not used anymore? swagger-ui includes what it needs, it seems.
 - id: swagger:2.1.6
   name: Swagger JS
   files: swagger-client.js
@@ -154,10 +156,10 @@
   license: ASL2
   notice: Copyright (c) SmartBear Software (2011-2015)
 
-- id: swagger-ui:2.1.3
-  files: swagger-ui.js
+- id: swagger-ui:2.1.4
+  files: swagger*.{js,css,html}
   name: Swagger UI
-  version: 2.1.3
+  version: 2.1.4
   url: https://github.com/swagger-api/swagger-ui
   license: ASL2
   notice: Copyright (c) SmartBear Software (2011-2015)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d8a3873a/brooklyn-docs/_licensing/README
----------------------------------------------------------------------
diff --git a/brooklyn-docs/_licensing/README b/brooklyn-docs/_licensing/README
new file mode 100644
index 0000000..2fc5f2e
--- /dev/null
+++ b/brooklyn-docs/_licensing/README
@@ -0,0 +1,24 @@
+
+We don't distribute docs as part of the source build so we're not obliged to report the JS we include
+or generate a special LICENSE file as brooklyn-dist/dist/licensing does for the distributed projects.
+
+(This project just gets the usual brooklyn license.)
+
+However we might consider recording the licenses used in the docs.  So we note
+that third-party software bundled by the docs include:
+
+* bloodhound (aka typeahead)
+* glossarizer
+
+And other things used by brooklyn, in style/{deps,js}.
+
+---
+
+This project includes the software: glossarizer
+   Available at: https://github.com/PebbleRoad/glossarizer
+   Developed by: Vinay M, PebbleRoad Pte Ltd (http://www.pebbleroad.com)
+   Version used: 1.5
+   Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
+   Copyright (c) Vinay M, PebbleRoad Pte Ltd (2004-2016)
+ 
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d8a3873a/brooklyn-ui/src/main/license/source-inclusions.yaml
----------------------------------------------------------------------
diff --git a/brooklyn-ui/src/main/license/source-inclusions.yaml b/brooklyn-ui/src/main/license/source-inclusions.yaml
index 2adf949..8c1945c 100644
--- a/brooklyn-ui/src/main/license/source-inclusions.yaml
+++ b/brooklyn-ui/src/main/license/source-inclusions.yaml
@@ -20,9 +20,10 @@
 # extras file for org.heneveld.license-audit-maven-plugin
 # listing projects from which *source* files are included
 
-- id: jquery-core
-- id: swagger
-- id: swagger-ui
+- id: jquery-core:1.7.2
+- id: swagger-ui:2.1.4
+# we use other versions of the above in other projs
+
 - id: jquery.wiggle.min.js
 - id: require.js
 - id: require.js/r.js


[02/29] incubator-brooklyn git commit: Updated blueprints + fixes

Posted by he...@apache.org.
Updated blueprints + fixes


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

Branch: refs/heads/master
Commit: 5644e28e86979c68659168c2733a3ba03cdec479
Parents: 5aca6ca
Author: Duncan Godwin <du...@cloudsoftcorp.com>
Authored: Thu Jan 14 17:39:55 2016 +0000
Committer: Duncan Godwin <du...@cloudsoftcorp.com>
Committed: Fri Jan 15 12:04:29 2016 +0000

----------------------------------------------------------------------
 brooklyn-docs/guide/ops/security-guidelines.md |  2 +-
 brooklyn-docs/guide/start/blueprints.md        | 91 +++++++++++++++------
 brooklyn-docs/guide/start/running.md           |  4 +-
 brooklyn-docs/guide/yaml/test/test-entities.md |  2 -
 4 files changed, 72 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/5644e28e/brooklyn-docs/guide/ops/security-guidelines.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/ops/security-guidelines.md b/brooklyn-docs/guide/ops/security-guidelines.md
index d8c919d..b6e4460 100644
--- a/brooklyn-docs/guide/ops/security-guidelines.md
+++ b/brooklyn-docs/guide/ops/security-guidelines.md
@@ -40,7 +40,7 @@ configuration" feature. This allows credentials to be retrieved from a store man
 rather than being stored within YAML blueprints or brooklyn.properties.
 
 A secure credential store is strongly recommended, such as use of 
-[HashiCorp's Vault](www.vaultproject.io) - see
+[HashiCorp's Vault](https://www.vaultproject.io) - see
 `org.apache.brooklyn.core.config.external.vault.VaultExternalConfigSupplier`.
 
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/5644e28e/brooklyn-docs/guide/start/blueprints.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/blueprints.md b/brooklyn-docs/guide/start/blueprints.md
index 492ac73..90d1d48 100644
--- a/brooklyn-docs/guide/start/blueprints.md
+++ b/brooklyn-docs/guide/start/blueprints.md
@@ -6,44 +6,82 @@ children:
 - { section: Launching from a Blueprint, title: Blueprint } 
 ---
 
-<div style="width: 100%; display: block; background-color: #CC9966; margin-bottom: 2px;  padding: 50px 30px 50px 80px;" >
-  <h3>NOTE</h3>
-  <div>
-  The structure of Brooklyn's repositories is changing at present (Jan 2016). Until this is complete 
-  please obtain the "br" command line tool from <a href="https://github.com/brooklyncentral/brooklyn-cli">Brooklyn Central</a>
-  </div>
-</div>
+Blueprints are the descriptors or patterns which describe how Apache Brooklyn should deploy applications.
 
 ## Launching from a Blueprint
 
 We'll start by deploying an application with a simple YAML blueprint containing a Tomcat server.
 
-Copy the blueprint below into a text file, "myapp.yaml", in your workspace, but *before* you create an application with 
-it, modify the YAML to specify the location where the application will be deployed.  (Note, to copy the file you can
+Copy the blueprint below into a text file, "myapp.yaml", in your workspace (Note, to copy the file you can
 hover your mouse over the right side of the text box below to get a Javascript "copy" button.)
 
 {% highlight yaml %}
 name: Tomcat
 location:
-  jclouds:aws-ec2:
-    identity: ABCDEFGHIJKLMNOPQRST
-    credential: s3cr3tsq1rr3ls3cr3tsq1rr3ls3cr3tsq1rr3l
 services:
 - serviceType: brooklyn.entity.webapp.tomcat.TomcatServer
 {% endhighlight %}
 
-Replace the ```location:``` element with values for your chosen target environment, for example to use SoftLayer rather 
-than AWS (updating with your own credentials): 
+
+## Locations
+
+Before you create an application with the configuration you need to modify the YAML to specify a location. Locations in Apache Brooklyn are server resources Brooklyn can use to deploy applications. These locations may be servers or cloud providers which provide access to servers. 
+
+In order to configure the location Apache Brooklyn launches an application, replace the ```location:``` element with values for your chosen target environment, here are some examples for the variouss location types.
+
+{::options parse_block_html="true" /}
+
+<ul class="nav nav-tabs">
+    <li class="active impl-1-tab"><a data-target="#impl-1, .impl-1-tab" data-toggle="tab" href="#">Vagrant</a></li>
+    <li class="impl-2-tab"><a data-target="#impl-2, .impl-2-tab" data-toggle="tab" href="#">Clouds</a></li>
+    <li class="impl-3-tab"><a data-target="#impl-3, .impl-3-tab" data-toggle="tab" href="#">BYON</a></li>
+    <li class="impl-4-tab"><a data-target="#impl-4, .impl-4-tab" data-toggle="tab" href="#">Localhost</a></li>
+</ul>
+
+<div class="tab-content">
+<div id="impl-1" class="tab-pane fade in active">
+
+The Vagrant configuration described in [Running Apache Brooklyn](./running.html), on the previous page is the **recommended** way of running this tutorial. This configuration comes with four blank vagrant configurations called byon1 to byon4
+
+These can be launched by entering the following line into the terminal in the vagrant configuration directory.
+
+{% highlight bash %}
+ $ vagrant up byon1 byon2 byon3 byon4
+{% endhighlight %}
+
+The location in "myapp.yaml" can then be replaced by the following YAML to launch to these
+
+{% highlight yaml %}
+location:
+  byon:
+    user: vagrant
+    password: vagrant
+    hosts:
+      - 10.10.10.101
+      - 10.10.10.102
+      - 10.10.10.103
+      - 10.10.10.104
+{% endhighlight %}
+
+</div>
+<div id="impl-2" class="tab-pane fade">
+
+Apache Brooklyn uses [Apcahe jclouds](http://jclouds.apache.org/) to support a range of cloud locations. More information on the range of providers and configurations is available [here](../ops/locations/#clouds).
+
+As an example here is a configuration for [Amazon Web Services (AWS)](http://www.aws.amazon.com). Swap the identity and credential with your AWS account details then replace the location in your "myapp.yaml" with this.
 
 {% highlight yaml %}
 location:
-  jclouds:softlayer:
+  jclouds:aws-ec2:
     identity: ABCDEFGHIJKLMNOPQRST
     credential: s3cr3tsq1rr3ls3cr3tsq1rr3ls3cr3tsq1rr3l
 {% endhighlight %}
 
-Or, if you already have machines provisioned, you can use the "bring your own nodes" (byon) approach. 
-Of course, replace the identity and address values below with your own values.
+</div>
+<div id="impl-3" class="tab-pane fade">
+
+The Bring Your Own Nodes (BYON) configuration allows Apache Brooklyn to make use of already available servers. These can be specified by a list of IP addresses with a user and password as shown below. More information including the full range of configuration options is available [here](../ops/locations/#byon). 
+
 {% highlight yaml %}
 location:
   byon:
@@ -56,17 +94,24 @@ location:
     - 192.168.0.19
 {% endhighlight %}
 
-**Note**: See __[Locations](../ops/locations)__ in the Operations section of the User Guide for instructions on setting
-up alternate cloud providers, bring-your-own-nodes, or localhost targets, and storing credentials/locations in a file 
-on disk rather than in the blueprint.
-(For the application above, if you are using a "Bring your own Nodes" location, you will need at least three nodes.)
+</div>
+<div id="impl-4" class="tab-pane fade">
+
+</div>
+</div>
+
+---
+
+**Note**: For instructions on setting up a variety of locations or storing credentials/locations in a file on disk rather than in the blueprint see __[Locations](../ops/locations)__ in the Operations section of the User Guide.
+
+## Deploying the Application
 
-First you will have to log in to brooklyn:
+First, log in to brooklyn with the command line tool (CLI) by typing:
 {% highlight bash %}
 $ br login http://localhost:8081/
 {% endhighlight %}
 
-To secure the server you can add a username and password in Brooklyn's properties file, as described in the User Guide. 
+To secure the Apache Brooklyn instance you can add a username and password to Brooklyn's properties file, as described in the User Guide [here](../ops/brooklyn_properties.html). 
 Then the login command will require the additional parameters of the userid and password.
 
 Now you can create the application with the command below:

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/5644e28e/brooklyn-docs/guide/start/running.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/running.md b/brooklyn-docs/guide/start/running.md
index 1cb64c5..3fefeb5 100644
--- a/brooklyn-docs/guide/start/running.md
+++ b/brooklyn-docs/guide/start/running.md
@@ -126,7 +126,9 @@ INFO  Started Brooklyn console at http://127.0.0.1:8081/, running classpath://br
 
 By default it can be accessed by opening [127.0.0.1:8081](http://127.0.0.1:8081){:target="_blank"} in your web browser. 
 
-The rest of this getting started guide uses the Apache Brooklyn command line interface. To use this, download and install the tool as described on [the download page]({{site.path.website}}/download/){:target="_blank"}.
+The rest of this getting started guide uses the Apache Brooklyn command line interface (CLI). To use this, download and install the tool as described on the [CLI GitHub page](https://github.com/brooklyncentral/brooklyn-cli){:target="_blank"}.
+
+The CLI provides the command `br`, it's full usage is described in the user manual which can be found [here](../ops/cli/)
 
 ## Next
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/5644e28e/brooklyn-docs/guide/yaml/test/test-entities.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/yaml/test/test-entities.md b/brooklyn-docs/guide/yaml/test/test-entities.md
index a81a3d6..2b9fdfe 100644
--- a/brooklyn-docs/guide/yaml/test/test-entities.md
+++ b/brooklyn-docs/guide/yaml/test/test-entities.md
@@ -37,7 +37,6 @@ Timeouts on child entities should be set relative to the start of the `ParallelT
 The `LoopOverGroupMembersTestCase` entity is configured with a target group and a test specification. For each member of the targeted group, the test case will create a TargetableTestComponent entity from the supplied test specification and set the components target to be the group member.
 
 {% highlight yaml %}
-{% readj example_yaml/entities/loopovergroupmembers-entity.yaml %}
 {% endhighlight %}
 
 #### Parameters
@@ -50,7 +49,6 @@ The `LoopOverGroupMembersTestCase` entity is configured with a target group and
 The `InfrastructureDeploymentTestCase` will first create and deploy an infrastructure from the `infrastructure.deployment.spec` config. It will then retrieve a deployment location by getting the value of the infrastructures `infrastructure.deployment.location.sensor` sensor. It will then create and deploy all entities from the `infrastructure.deployment.spec` config to the deployment location.
 
 {% highlight yaml %}
-{% readj example_yaml/entities/infrastructuredeploymenttestcase-entity.yaml %}
 {% endhighlight %}
 
 #### Parameters


[09/29] incubator-brooklyn git commit: update release process docs for current repo structure

Posted by he...@apache.org.
update release process docs for current repo structure


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

Branch: refs/heads/master
Commit: 1d8b8e920ff9a6b13d0c2f1c373ad4109c27558d
Parents: 2ee54b0
Author: John McCabe <jo...@johnmccabe.net>
Authored: Thu Jan 21 22:03:41 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Thu Jan 21 22:03:41 2016 +0000

----------------------------------------------------------------------
 .../committers/release-process/make-release-artifacts.md  |  6 +++---
 .../developers/committers/release-process/publish.md      | 10 +++++-----
 .../committers/release-process/release-version.md         |  8 ++++----
 .../website/developers/committers/release-process/vote.md |  4 ++--
 4 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1d8b8e92/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md b/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md
index f72e0c3..81accb4 100644
--- a/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md
+++ b/brooklyn-docs/website/developers/committers/release-process/make-release-artifacts.md
@@ -4,12 +4,12 @@ title: Make the release artifacts
 navgroup: developers
 ---
 
-A release script is provided in `release/make-release-artifacts.sh`. This script will prepare all the release artifacts.
+A release script is provided in `brooklyn-dist/release/make-release-artifacts.sh`. This script will prepare all the release artifacts.
 It is written to account for several Apache requirements, so you are strongly advised to use it rather than "rolling your own".
 
 The release script will:
 
-- **Create source code and binary distribution artifacts** and place them in a temporary staging directory on your workstation, usually `releases/`.
+- **Create source code and binary distribution artifacts** and place them in a temporary staging directory on your workstation, usually `/tmp/`.
 - **Create Maven artifacts and upload them to a staging repository** located on the Apache Nexus server.
 
 The script has a single required parameter `-r` which is given the release candidate number - so `-r1` will create
@@ -25,7 +25,7 @@ mvn clean install -Papache-release
 To run the script:
 
 {% highlight bash %}
-./release/make-release-artifacts.sh -r$RC_NUMBER
+./brooklyn-dist/release/make-release-artifacts.sh -r$RC_NUMBER
 {% endhighlight %}
 
 It will show you the release information it has deduced, and ask yes-or-no if it can proceed. Please note that the

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1d8b8e92/brooklyn-docs/website/developers/committers/release-process/publish.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/website/developers/committers/release-process/publish.md b/brooklyn-docs/website/developers/committers/release-process/publish.md
index b10d262..436dbc4 100644
--- a/brooklyn-docs/website/developers/committers/release-process/publish.md
+++ b/brooklyn-docs/website/developers/committers/release-process/publish.md
@@ -83,7 +83,7 @@ Update the website
 ------------------
 
 *Instructions on uploading to the website are beyond the scope of these instructions. Refer to the 
-[appropriate instructions](https://github.com/apache/incubator-brooklyn/tree/master/docs).*
+[appropriate instructions](https://github.com/apache/incubator-brooklyn/tree/master/brooklyn-docs).*
 
 ### Publish documentation for the new release
 
@@ -105,7 +105,7 @@ cd -
 Generate the permalink docs for the release:
 
 {% highlight bash %}
-cd docs
+cd brooklyn-docs
 ./_build/build.sh guide-version --install
 {% endhighlight %}
 
@@ -135,11 +135,11 @@ This should be done on the `master` branch:
 git checkout master
 {% endhighlight %}
 
-1. Edit the file `docs/_config.yml` - change `brooklyn-stable-version` to be the newly-release version, and
+1. Edit the file `brooklyn-docs/_config.yml` - change `brooklyn-stable-version` to be the newly-release version, and
    `brooklyn-version` to be the current SNAPSHOT version on the master branch.
-2. Edit the file `docs/website/download/verify.md` to add links to the MD5/SHA1/SHA256 hashes and PGP signatures for the
+2. Edit the file `brooklyn-docs/website/download/verify.md` to add links to the MD5/SHA1/SHA256 hashes and PGP signatures for the
    new version.
-3. Edit the file `docs/website/meta/versions.md` to add the new version.
+3. Edit the file `brooklyn-docs/website/meta/versions.md` to add the new version.
 4. Build the updated site with `./_build/build.sh website-root --install`.
 5. Publish to the public website.
 6. Commit your changes to master, e.g. with a message like "Update latest docs to 0.8.0-incubating"

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1d8b8e92/brooklyn-docs/website/developers/committers/release-process/release-version.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/website/developers/committers/release-process/release-version.md b/brooklyn-docs/website/developers/committers/release-process/release-version.md
index eea6943..a22314b 100644
--- a/brooklyn-docs/website/developers/committers/release-process/release-version.md
+++ b/brooklyn-docs/website/developers/committers/release-process/release-version.md
@@ -32,10 +32,10 @@ git checkout -b $VERSION_NAME
 git push -u apache $VERSION_NAME
 {% endhighlight %}
 
-Now change the version numbers in this branch throughout the project using the script `release/change-version.sh` and commit it:
+Now change the version numbers in this branch throughout the project using the script `brooklyn-dist/release/change-version.sh` and commit it:
 
 {% highlight bash %}
-./release/change-version.sh BROOKLYN $OLD_MASTER_VERSION $VERSION_NAME
+./brooklyn-dist/release/change-version.sh BROOKLYN $OLD_MASTER_VERSION $VERSION_NAME
 git add .
 # Now inspect the staged changes and ensure there are no surprises
 git commit -m "Change version to $VERSION_NAME"
@@ -56,12 +56,12 @@ Example:
 
 {% highlight bash %}
 git checkout master
-./release/change-version.sh BROOKLYN $OLD_MASTER_VERSION $NEW_MASTER_VERSION
+./brooklyn-dist/release/change-version.sh BROOKLYN $OLD_MASTER_VERSION $NEW_MASTER_VERSION
 git add .
 # Now inspect the staged changes and ensure there are no surprises
 {% endhighlight %}
 
-Open `docs/guide/misc/release-notes.md` and `docs/website/meta/versions.md` in your favourite editor and amend.
+Open `brooklyn-docs/guide/misc/release-notes.md` and `brooklyn-docs/website/meta/versions.md` in your favourite editor and amend.
 For release notes this means bumping the reference to the previous version in the "Backwards Compatibility" section
 and putting some placeholder text elsewhere.
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1d8b8e92/brooklyn-docs/website/developers/committers/release-process/vote.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/website/developers/committers/release-process/vote.md b/brooklyn-docs/website/developers/committers/release-process/vote.md
index d3f6930..e459bdd 100644
--- a/brooklyn-docs/website/developers/committers/release-process/vote.md
+++ b/brooklyn-docs/website/developers/committers/release-process/vote.md
@@ -7,10 +7,10 @@ navgroup: developers
 Start the vote
 --------------
 
-A script to generate the voting email can be found in `release/print-vote-email.sh`,
+A script to generate the voting email can be found in `brooklyn-dist/release/print-vote-email.sh`,
 taking a single argument being the staging repo link. For example:
 
-    release/print-vote-email.sh orgapachebrooklyn-1234 | pbcopy 
+    brooklyn-dist/release/print-vote-email.sh orgapachebrooklyn-1234 | pbcopy
 
 You should move the subject and put your name at the end, and simply eyeball the rest. This should be sent to **dev@brooklyn.incubator.apache.org**.
 


[29/29] incubator-brooklyn git commit: update LICENSE files throughout

Posted by he...@apache.org.
update LICENSE files throughout


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

Branch: refs/heads/master
Commit: a6f32193dbd557b4171086d4529247098eef447d
Parents: d8a3873
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Jan 30 03:33:08 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Jan 30 03:33:08 2016 +0000

----------------------------------------------------------------------
 LICENSE                                         |  18 +-
 brooklyn-dist/LICENSE                           |  20 +-
 .../dist/src/main/license/files/LICENSE         |  30 ++-
 brooklyn-docs/LICENSE                           |  20 +-
 brooklyn-docs/LICENSE.txt                       | 189 -------------------
 brooklyn-library/LICENSE                        |  20 +-
 brooklyn-server/LICENSE                         |  20 +-
 brooklyn-ui/LICENSE                             |  35 +---
 brooklyn-ui/src/main/license/files/LICENSE      |  11 +-
 9 files changed, 75 insertions(+), 288 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a6f32193/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 6d18497..3d8f4e7 100644
--- a/LICENSE
+++ b/LICENSE
@@ -250,13 +250,6 @@ This project includes the software: DataTables Table plug-in for jQuery
   Used under the following license: The BSD 3-Clause (New BSD) License (http://opensource.org/licenses/BSD-3-Clause)
   Copyright (c) Allan Jardine (2008-2012)
 
-This project includes the software: glossarizer
-  Available at: https://github.com/PebbleRoad/glossarizer
-  Developed by: Vinay M, PebbleRoad Pte Ltd (http://www.pebbleroad.com)
-  Version used: 1.5
-  Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
-  Copyright (c) Vinay M, PebbleRoad Pte Ltd (2004-2016)
-
 This project includes the software: jQuery Form Plugin
   Available at: https://github.com/malsup/form
   Developed by: Mike Alsup (http://malsup.com/)
@@ -337,11 +330,12 @@ This project includes the software: RequireJS (r.js maven plugin)
       Arpad Borsos (2012)
     Used under the BSD 2-Clause license.
 
-This project includes the software: swagger
-  Used under the following license: <no license info>
-
-This project includes the software: swagger-ui
-  Used under the following license: <no license info>
+This project includes the software: Swagger UI
+  Available at: https://github.com/swagger-api/swagger-ui
+  Inclusive of: swagger*.{js,css,html}
+  Version used: 2.1.4
+  Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+  Copyright (c) SmartBear Software (2011-2015)
 
 This project includes the software: typeahead.js
   Available at: https://github.com/twitter/typeahead.js

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a6f32193/brooklyn-dist/LICENSE
----------------------------------------------------------------------
diff --git a/brooklyn-dist/LICENSE b/brooklyn-dist/LICENSE
index ca60394..3d8f4e7 100644
--- a/brooklyn-dist/LICENSE
+++ b/brooklyn-dist/LICENSE
@@ -282,6 +282,13 @@ This project includes the software: js-yaml.js
   Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
   Copyright (c) Vitaly Puzrin (2011-2015)
 
+This project includes the software: marked.js
+  Available at: https://github.com/chjj/marked
+  Developed by: Christopher Jeffrey (https://github.com/chjj)
+  Version used: 0.3.1
+  Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
+  Copyright (c) Christopher Jeffrey (2011-2014)
+
 This project includes the software: moment.js
   Available at: http://momentjs.com
   Developed by: Tim Wood (http://momentjs.com)
@@ -323,17 +330,10 @@ This project includes the software: RequireJS (r.js maven plugin)
       Arpad Borsos (2012)
     Used under the BSD 2-Clause license.
 
-This project includes the software: Swagger JS
-  Available at: https://github.com/wordnik/swagger-js
-  Inclusive of: swagger.js
-  Version used: 1.0.1
-  Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
-  Copyright (c) SmartBear Software (2011-2015)
-
 This project includes the software: Swagger UI
-  Available at: https://github.com/wordnik/swagger-ui
-  Inclusive of: swagger-ui.js
-  Version used: 1.0.1
+  Available at: https://github.com/swagger-api/swagger-ui
+  Inclusive of: swagger*.{js,css,html}
+  Version used: 2.1.4
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
   Copyright (c) SmartBear Software (2011-2015)
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a6f32193/brooklyn-dist/dist/src/main/license/files/LICENSE
----------------------------------------------------------------------
diff --git a/brooklyn-dist/dist/src/main/license/files/LICENSE b/brooklyn-dist/dist/src/main/license/files/LICENSE
index 39db9db..dd42819 100644
--- a/brooklyn-dist/dist/src/main/license/files/LICENSE
+++ b/brooklyn-dist/dist/src/main/license/files/LICENSE
@@ -413,7 +413,7 @@ This project includes the software: io.airlift
 
 This project includes the software: io.cloudsoft.windows
   Available at: http://github.com/cloudsoft/winrm4j
-  Version used: 0.1.0
+  Version used: 0.2.0
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
 This project includes the software: io.swagger
@@ -576,37 +576,37 @@ This project includes the software: org.apache.httpcomponents
 This project includes the software: org.apache.jclouds
   Available at: http://jclouds.apache.org/
   Developed by: The Apache Software Foundation (http://www.apache.org/)
-  Version used: 1.9.1
+  Version used: 1.9.2
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
 This project includes the software: org.apache.jclouds.api
   Available at: http://jclouds.apache.org/
   Developed by: The Apache Software Foundation (http://www.apache.org/)
-  Version used: 1.9.1
+  Version used: 1.9.2
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
 This project includes the software: org.apache.jclouds.common
   Available at: http://jclouds.apache.org/
   Developed by: The Apache Software Foundation (http://www.apache.org/)
-  Version used: 1.9.1
+  Version used: 1.9.2
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
 This project includes the software: org.apache.jclouds.driver
   Available at: http://jclouds.apache.org/
   Developed by: The Apache Software Foundation (http://www.apache.org/)
-  Version used: 1.9.1
+  Version used: 1.9.2
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
 This project includes the software: org.apache.jclouds.labs
   Available at: http://jclouds.apache.org/
   Developed by: The Apache Software Foundation (http://www.apache.org/)
-  Version used: 1.9.1
+  Version used: 1.9.2
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
 This project includes the software: org.apache.jclouds.provider
   Available at: http://jclouds.apache.org/
   Developed by: The Apache Software Foundation (http://www.apache.org/)
-  Version used: 1.9.1
+  Version used: 1.9.2
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
 This project includes the software: org.bouncycastle
@@ -678,11 +678,6 @@ This project includes the software: org.mongodb
   Version used: 3.0.3
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
-This project includes the software: org.python
-  Available at: http://www.jython.org/
-  Version used: 2.7-b3
-  Used under the following license: Jython Software License (http://www.jython.org/license.html)
-
 This project includes the software: org.reflections
   Available at: http://code.google.com/p/reflections/
   Version used: 0.9.9-RC1
@@ -738,11 +733,12 @@ This project includes the software: RequireJS (r.js maven plugin)
       Arpad Borsos (2012)
     Used under the BSD 2-Clause license.
 
-This project includes the software: swagger
-  Used under the following license: <no license info>
-
-This project includes the software: swagger-ui
-  Used under the following license: <no license info>
+This project includes the software: Swagger UI
+  Available at: https://github.com/swagger-api/swagger-ui
+  Inclusive of: swagger*.{js,css,html}
+  Version used: 2.1.4
+  Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+  Copyright (c) SmartBear Software (2011-2015)
 
 This project includes the software: typeahead.js
   Available at: https://github.com/twitter/typeahead.js

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a6f32193/brooklyn-docs/LICENSE
----------------------------------------------------------------------
diff --git a/brooklyn-docs/LICENSE b/brooklyn-docs/LICENSE
index ca60394..3d8f4e7 100644
--- a/brooklyn-docs/LICENSE
+++ b/brooklyn-docs/LICENSE
@@ -282,6 +282,13 @@ This project includes the software: js-yaml.js
   Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
   Copyright (c) Vitaly Puzrin (2011-2015)
 
+This project includes the software: marked.js
+  Available at: https://github.com/chjj/marked
+  Developed by: Christopher Jeffrey (https://github.com/chjj)
+  Version used: 0.3.1
+  Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
+  Copyright (c) Christopher Jeffrey (2011-2014)
+
 This project includes the software: moment.js
   Available at: http://momentjs.com
   Developed by: Tim Wood (http://momentjs.com)
@@ -323,17 +330,10 @@ This project includes the software: RequireJS (r.js maven plugin)
       Arpad Borsos (2012)
     Used under the BSD 2-Clause license.
 
-This project includes the software: Swagger JS
-  Available at: https://github.com/wordnik/swagger-js
-  Inclusive of: swagger.js
-  Version used: 1.0.1
-  Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
-  Copyright (c) SmartBear Software (2011-2015)
-
 This project includes the software: Swagger UI
-  Available at: https://github.com/wordnik/swagger-ui
-  Inclusive of: swagger-ui.js
-  Version used: 1.0.1
+  Available at: https://github.com/swagger-api/swagger-ui
+  Inclusive of: swagger*.{js,css,html}
+  Version used: 2.1.4
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
   Copyright (c) SmartBear Software (2011-2015)
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a6f32193/brooklyn-docs/LICENSE.txt
----------------------------------------------------------------------
diff --git a/brooklyn-docs/LICENSE.txt b/brooklyn-docs/LICENSE.txt
deleted file mode 100644
index 99953f7..0000000
--- a/brooklyn-docs/LICENSE.txt
+++ /dev/null
@@ -1,189 +0,0 @@
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this content except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-       (This is included below for reference.)
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a6f32193/brooklyn-library/LICENSE
----------------------------------------------------------------------
diff --git a/brooklyn-library/LICENSE b/brooklyn-library/LICENSE
index ca60394..3d8f4e7 100644
--- a/brooklyn-library/LICENSE
+++ b/brooklyn-library/LICENSE
@@ -282,6 +282,13 @@ This project includes the software: js-yaml.js
   Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
   Copyright (c) Vitaly Puzrin (2011-2015)
 
+This project includes the software: marked.js
+  Available at: https://github.com/chjj/marked
+  Developed by: Christopher Jeffrey (https://github.com/chjj)
+  Version used: 0.3.1
+  Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
+  Copyright (c) Christopher Jeffrey (2011-2014)
+
 This project includes the software: moment.js
   Available at: http://momentjs.com
   Developed by: Tim Wood (http://momentjs.com)
@@ -323,17 +330,10 @@ This project includes the software: RequireJS (r.js maven plugin)
       Arpad Borsos (2012)
     Used under the BSD 2-Clause license.
 
-This project includes the software: Swagger JS
-  Available at: https://github.com/wordnik/swagger-js
-  Inclusive of: swagger.js
-  Version used: 1.0.1
-  Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
-  Copyright (c) SmartBear Software (2011-2015)
-
 This project includes the software: Swagger UI
-  Available at: https://github.com/wordnik/swagger-ui
-  Inclusive of: swagger-ui.js
-  Version used: 1.0.1
+  Available at: https://github.com/swagger-api/swagger-ui
+  Inclusive of: swagger*.{js,css,html}
+  Version used: 2.1.4
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
   Copyright (c) SmartBear Software (2011-2015)
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a6f32193/brooklyn-server/LICENSE
----------------------------------------------------------------------
diff --git a/brooklyn-server/LICENSE b/brooklyn-server/LICENSE
index ca60394..3d8f4e7 100644
--- a/brooklyn-server/LICENSE
+++ b/brooklyn-server/LICENSE
@@ -282,6 +282,13 @@ This project includes the software: js-yaml.js
   Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
   Copyright (c) Vitaly Puzrin (2011-2015)
 
+This project includes the software: marked.js
+  Available at: https://github.com/chjj/marked
+  Developed by: Christopher Jeffrey (https://github.com/chjj)
+  Version used: 0.3.1
+  Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
+  Copyright (c) Christopher Jeffrey (2011-2014)
+
 This project includes the software: moment.js
   Available at: http://momentjs.com
   Developed by: Tim Wood (http://momentjs.com)
@@ -323,17 +330,10 @@ This project includes the software: RequireJS (r.js maven plugin)
       Arpad Borsos (2012)
     Used under the BSD 2-Clause license.
 
-This project includes the software: Swagger JS
-  Available at: https://github.com/wordnik/swagger-js
-  Inclusive of: swagger.js
-  Version used: 1.0.1
-  Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
-  Copyright (c) SmartBear Software (2011-2015)
-
 This project includes the software: Swagger UI
-  Available at: https://github.com/wordnik/swagger-ui
-  Inclusive of: swagger-ui.js
-  Version used: 1.0.1
+  Available at: https://github.com/swagger-api/swagger-ui
+  Inclusive of: swagger*.{js,css,html}
+  Version used: 2.1.4
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
   Copyright (c) SmartBear Software (2011-2015)
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a6f32193/brooklyn-ui/LICENSE
----------------------------------------------------------------------
diff --git a/brooklyn-ui/LICENSE b/brooklyn-ui/LICENSE
index ca60394..58c78f1 100644
--- a/brooklyn-ui/LICENSE
+++ b/brooklyn-ui/LICENSE
@@ -282,6 +282,13 @@ This project includes the software: js-yaml.js
   Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
   Copyright (c) Vitaly Puzrin (2011-2015)
 
+This project includes the software: marked.js
+  Available at: https://github.com/chjj/marked
+  Developed by: Christopher Jeffrey (https://github.com/chjj)
+  Version used: 0.3.1
+  Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
+  Copyright (c) Christopher Jeffrey (2011-2014)
+
 This project includes the software: moment.js
   Available at: http://momentjs.com
   Developed by: Tim Wood (http://momentjs.com)
@@ -323,27 +330,13 @@ This project includes the software: RequireJS (r.js maven plugin)
       Arpad Borsos (2012)
     Used under the BSD 2-Clause license.
 
-This project includes the software: Swagger JS
-  Available at: https://github.com/wordnik/swagger-js
-  Inclusive of: swagger.js
-  Version used: 1.0.1
-  Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
-  Copyright (c) SmartBear Software (2011-2015)
-
 This project includes the software: Swagger UI
-  Available at: https://github.com/wordnik/swagger-ui
-  Inclusive of: swagger-ui.js
-  Version used: 1.0.1
+  Available at: https://github.com/swagger-api/swagger-ui
+  Inclusive of: swagger*.{js,css,html}
+  Version used: 2.1.4
   Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
   Copyright (c) SmartBear Software (2011-2015)
 
-This project includes the software: typeahead.js
-  Available at: https://github.com/twitter/typeahead.js
-  Developed by: Twitter, Inc (http://twitter.com)
-  Version used: 0.10.5
-  Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
-  Copyright (c) Twitter, Inc. and other contributors (2013-2014)
-
 This project includes the software: underscore.js
   Available at: http://underscorejs.org
   Developed by: DocumentCloud Inc. (http://www.documentcloud.org/)
@@ -352,14 +345,6 @@ This project includes the software: underscore.js
   Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
   Copyright (c) Jeremy Ashkenas, DocumentCloud Inc. (2009-2013)
 
-This project includes the software: underscore.js:1.7.0
-  Available at: http://underscorejs.org
-  Developed by: DocumentCloud Inc. (http://www.documentcloud.org/)
-  Inclusive of: underscore*.{js,map}
-  Version used: 1.7.0
-  Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
-  Copyright (c) Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors (2009-2014)
-
 This project includes the software: ZeroClipboard
   Available at: http://zeroclipboard.org/
   Developed by: ZeroClipboard contributors (https://github.com/zeroclipboard)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a6f32193/brooklyn-ui/src/main/license/files/LICENSE
----------------------------------------------------------------------
diff --git a/brooklyn-ui/src/main/license/files/LICENSE b/brooklyn-ui/src/main/license/files/LICENSE
index 3b3b73d..58c78f1 100644
--- a/brooklyn-ui/src/main/license/files/LICENSE
+++ b/brooklyn-ui/src/main/license/files/LICENSE
@@ -330,11 +330,12 @@ This project includes the software: RequireJS (r.js maven plugin)
       Arpad Borsos (2012)
     Used under the BSD 2-Clause license.
 
-This project includes the software: swagger
-  Used under the following license: <no license info>
-
-This project includes the software: swagger-ui
-  Used under the following license: <no license info>
+This project includes the software: Swagger UI
+  Available at: https://github.com/swagger-api/swagger-ui
+  Inclusive of: swagger*.{js,css,html}
+  Version used: 2.1.4
+  Used under the following license: Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+  Copyright (c) SmartBear Software (2011-2015)
 
 This project includes the software: underscore.js
   Available at: http://underscorejs.org


[18/29] incubator-brooklyn git commit: Updated license for Glossarizer MIT statement

Posted by he...@apache.org.
Updated license for Glossarizer MIT statement


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

Branch: refs/heads/master
Commit: 09c4c808dab880ac2e64d34fe74145df8aa96257
Parents: 19a10ae
Author: Duncan Godwin <du...@cloudsoftcorp.com>
Authored: Mon Jan 25 13:52:47 2016 +0000
Committer: Duncan Godwin <du...@cloudsoftcorp.com>
Committed: Mon Jan 25 13:52:47 2016 +0000

----------------------------------------------------------------------
 LICENSE | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/09c4c808/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index ca60394..6dc5e35 100644
--- a/LICENSE
+++ b/LICENSE
@@ -250,6 +250,13 @@ This project includes the software: DataTables Table plug-in for jQuery
   Used under the following license: The BSD 3-Clause (New BSD) License (http://opensource.org/licenses/BSD-3-Clause)
   Copyright (c) Allan Jardine (2008-2012)
 
+This project includes the software: glossarizer
+  Available at: https://github.com/PebbleRoad/glossarizer
+  Developed by: Vinay M, PebbleRoad Pte Ltd (http://www.pebbleroad.com)
+  Version used: 1.5
+  Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
+  Copyright (c) Vinay M, PebbleRoad Pte Ltd (2004-2016)
+
 This project includes the software: jQuery Form Plugin
   Available at: https://github.com/malsup/form
   Developed by: Mike Alsup (http://malsup.com/)


[21/29] incubator-brooklyn git commit: fix failing (time sensitive) test

Posted by he...@apache.org.
fix failing (time sensitive) test

and improve the "Asserts.eventually" routines which that used,
adding a new simpler eventuallyOnNotify(...) and having it used elsewhere.

also add convenience methods for CountdownTimer so its usage is more readable.


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

Branch: refs/heads/master
Commit: dc0ca058d848e1231cf4c05a603b8a74fd179903
Parents: 9d5ba14
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Fri Jan 29 23:30:07 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Jan 30 00:26:17 2016 +0000

----------------------------------------------------------------------
 .../core/task/DynamicSequentialTaskTest.java    |  32 +---
 .../software/base/SoftwareProcessImpl.java      |   2 +-
 .../AutoScalerPolicyNoMoreMachinesTest.java     |  17 +-
 .../SystemServiceEnricherTest.java              |   4 +-
 .../org/apache/brooklyn/test/WebAppMonitor.java |   2 +-
 .../java/org/apache/brooklyn/test/Asserts.java  | 183 +++++++++++++++----
 .../brooklyn/util/time/CountdownTimer.java      |  23 ++-
 .../brooklyn/util/time/CountdownTimerTest.java  |   7 +
 8 files changed, 190 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc0ca058/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java b/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
index 763c067..c5664a6 100644
--- a/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
+++ b/brooklyn-server/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
@@ -26,7 +26,6 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
 
 import org.apache.brooklyn.api.mgmt.HasTaskChildren;
 import org.apache.brooklyn.api.mgmt.Task;
@@ -39,7 +38,6 @@ import org.apache.brooklyn.util.collections.MutableSet;
 import org.apache.brooklyn.util.core.task.TaskInternal.TaskCancellationMode;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.math.MathPredicates;
-import org.apache.brooklyn.util.time.CountdownTimer;
 import org.apache.brooklyn.util.time.Duration;
 import org.apache.brooklyn.util.time.Time;
 import org.slf4j.Logger;
@@ -64,7 +62,7 @@ public class DynamicSequentialTaskTest {
     private static final Logger log = LoggerFactory.getLogger(DynamicSequentialTaskTest.class);
     
     public static final Duration TIMEOUT = Duration.TEN_SECONDS;
-    public static final Duration TINY_TIME = Duration.millis(20);
+    public static final Duration TINY_TIME = Duration.millis(1);
     
     BasicExecutionManager em;
     BasicExecutionContext ec;
@@ -246,6 +244,8 @@ public class DynamicSequentialTaskTest {
     
     @Test
     public void testCancellationModeAndSubmitted() throws Exception {
+        // seems actually to be the logging which causes this to take ~50ms ?
+        
         doTestCancellationModeAndSubmitted(true, TaskCancellationMode.DO_NOT_INTERRUPT, false, false);
         
         doTestCancellationModeAndSubmitted(true, TaskCancellationMode.INTERRUPT_TASK_AND_ALL_SUBMITTED_TASKS, true, true);
@@ -317,27 +317,14 @@ public class DynamicSequentialTaskTest {
                 @Override public Number get() { return t1.getEndTimeUtc(); }}, 
                 MathPredicates.<Number>greaterThanOrEqual(0));
         } else {
-            Time.sleep(Duration.millis(5));
+            Time.sleep(TINY_TIME);
             Assert.assertFalse(t1.isCancelled());
             Assert.assertFalse(t1.isDone());
         }
     }
 
     protected void waitForMessages(Predicate<? super List<String>> predicate, Duration timeout) throws Exception {
-        long endtime = System.currentTimeMillis() + timeout.toMilliseconds();
-        synchronized (messages) {
-            while (true) {
-                if (predicate.apply(messages)) {
-                    return;
-                }
-                long waittime = endtime - System.currentTimeMillis();
-                if (waittime > 0) {
-                    messages.wait(waittime);
-                } else {
-                    throw new TimeoutException("Timeout after "+timeout+"; messages="+messages+"; predicate="+predicate);
-                }
-            }
-        }
+        Asserts.eventuallyOnNotify(messages, predicate, timeout);
     }
     
     protected Task<String> monitorableTask(final String id) {
@@ -373,14 +360,7 @@ public class DynamicSequentialTaskTest {
         monitorableJobSemaphoreMap.get(id).release();
     }
     protected void waitForMessage(final String id) {
-        CountdownTimer timer = CountdownTimer.newInstanceStarted(TIMEOUT);
-        synchronized (messages) {
-            while (!timer.isExpired()) {
-                if (messages.contains(id)) return;
-                timer.waitOnForExpiryUnchecked(messages);
-            }
-        }
-        Assert.fail("Did not see message "+id);
+        Asserts.eventuallyOnNotify(messages, CollectionFunctionals.contains(id), TIMEOUT);
     }
     protected void releaseAndWaitForMonitorableJob(final String id) {
         releaseMonitorableJob(id);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc0ca058/brooklyn-server/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcessImpl.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcessImpl.java b/brooklyn-server/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcessImpl.java
index c62cc3d..ace4ebe 100644
--- a/brooklyn-server/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcessImpl.java
+++ b/brooklyn-server/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcessImpl.java
@@ -548,7 +548,7 @@ public abstract class SoftwareProcessImpl extends AbstractEntity implements Soft
         boolean isRunningResult = false;
         long delay = 100;
         Exception firstFailure = null;
-        while (!isRunningResult && !timer.isExpired()) {
+        while (!isRunningResult && timer.isNotExpired()) {
             Time.sleep(delay);
             try {
                 isRunningResult = driver.isRunning();

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc0ca058/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/autoscaling/AutoScalerPolicyNoMoreMachinesTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/autoscaling/AutoScalerPolicyNoMoreMachinesTest.java b/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/autoscaling/AutoScalerPolicyNoMoreMachinesTest.java
index 77175d2..e3dfb12 100644
--- a/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/autoscaling/AutoScalerPolicyNoMoreMachinesTest.java
+++ b/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/autoscaling/AutoScalerPolicyNoMoreMachinesTest.java
@@ -38,6 +38,7 @@ import org.apache.brooklyn.entity.group.DynamicCluster;
 import org.apache.brooklyn.entity.software.base.EmptySoftwareProcess;
 import org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy;
 import org.apache.brooklyn.test.Asserts;
+import org.apache.brooklyn.util.collections.CollectionFunctionals;
 import org.apache.brooklyn.util.time.Duration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -75,12 +76,14 @@ public class AutoScalerPolicyNoMoreMachinesTest extends BrooklynAppUnitTestSuppo
         entitiesAdded = Sets.newLinkedHashSet();
         entitiesRemoved = Sets.newLinkedHashSet();
         mgmt.addEntitySetListener(new CollectionChangeListener<Entity>() {
-            @Override public void onItemAdded(Entity item) {
-                entitiesAdded.add(item);
-            }
-            @Override public void onItemRemoved(Entity item) {
-                entitiesRemoved.add(item);
-            }});
+            @Override public void onItemAdded(Entity item) { addToSetAndNotify(entitiesAdded, item); }
+            @Override public void onItemRemoved(Entity item) { addToSetAndNotify(entitiesRemoved, item); }});
+    }
+    private static <T> void addToSetAndNotify(Set<T> items, T item) {
+        synchronized (items) {
+            items.add(item);
+            items.notifyAll();
+        }
     }
 
     @Test
@@ -179,7 +182,7 @@ public class AutoScalerPolicyNoMoreMachinesTest extends BrooklynAppUnitTestSuppo
 
     protected void assertSize(int targetSize, int quarantineSize, final int deletedSize) {
         assertSize(targetSize, quarantineSize);
-        assertEquals(entitiesRemoved.size(), deletedSize, "removed="+entitiesRemoved);
+        Asserts.eventuallyOnNotify(entitiesRemoved, CollectionFunctionals.sizeEquals(deletedSize));
     }
     
     protected void assertSize(int targetSize, int quarantineSize) {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc0ca058/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/system_service/SystemServiceEnricherTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/system_service/SystemServiceEnricherTest.java b/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/system_service/SystemServiceEnricherTest.java
index 10e2e15..70c0da5 100644
--- a/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/system_service/SystemServiceEnricherTest.java
+++ b/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/system_service/SystemServiceEnricherTest.java
@@ -86,10 +86,10 @@ public class SystemServiceEnricherTest extends BrooklynAppLiveTestSupport {
     }
 
     private void waitFailed(VanillaSoftwareProcess proc) {
-        Asserts.eventually(ImmutableMap.of("timeout", Duration.FIVE_MINUTES), Suppliers.ofInstance(proc), EntityPredicates.attributeEqualTo(Attributes.SERVICE_STATE_ACTUAL, Lifecycle.ON_FIRE));
+        Asserts.eventually(Suppliers.ofInstance(proc), EntityPredicates.attributeEqualTo(Attributes.SERVICE_STATE_ACTUAL, Lifecycle.ON_FIRE), Duration.FIVE_MINUTES);
     }
 
     private void waitHealthy(VanillaSoftwareProcess proc) {
-        Asserts.eventually(ImmutableMap.of("timeout", Duration.FIVE_MINUTES), Suppliers.ofInstance(proc), EntityPredicates.attributeEqualTo(Attributes.SERVICE_STATE_ACTUAL, Lifecycle.RUNNING));
+        Asserts.eventually(Suppliers.ofInstance(proc), EntityPredicates.attributeEqualTo(Attributes.SERVICE_STATE_ACTUAL, Lifecycle.RUNNING), Duration.FIVE_MINUTES);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc0ca058/brooklyn-server/test-support/src/main/java/org/apache/brooklyn/test/WebAppMonitor.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/test-support/src/main/java/org/apache/brooklyn/test/WebAppMonitor.java b/brooklyn-server/test-support/src/main/java/org/apache/brooklyn/test/WebAppMonitor.java
index d804312..b957a5b 100644
--- a/brooklyn-server/test-support/src/main/java/org/apache/brooklyn/test/WebAppMonitor.java
+++ b/brooklyn-server/test-support/src/main/java/org/apache/brooklyn/test/WebAppMonitor.java
@@ -184,7 +184,7 @@ public class WebAppMonitor implements Runnable {
         return this;
     }
     public WebAppMonitor waitForAtLeastOneAttempt() {
-        return waitForAtLeastOneAttempt(Asserts.DEFAULT_TIMEOUT);
+        return waitForAtLeastOneAttempt(Asserts.DEFAULT_LONG_TIMEOUT);
     }
     public WebAppMonitor waitForAtLeastOneAttempt(Duration timeout) {
         Asserts.succeedsEventually(MutableMap.of("timeout", timeout), new Runnable() {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc0ca058/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java b/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java
index 15aa76e..fac3142 100644
--- a/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java
+++ b/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java
@@ -37,7 +37,9 @@ import org.apache.brooklyn.util.collections.MutableList;
 import org.apache.brooklyn.util.collections.MutableSet;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.javalang.JavaClassNames;
+import org.apache.brooklyn.util.repeat.Repeater;
 import org.apache.brooklyn.util.text.StringPredicates;
+import org.apache.brooklyn.util.time.CountdownTimer;
 import org.apache.brooklyn.util.time.Duration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -46,6 +48,7 @@ import com.google.common.annotations.Beta;
 import com.google.common.base.Predicate;
 import com.google.common.base.Predicates;
 import com.google.common.base.Supplier;
+import com.google.common.base.Suppliers;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
@@ -68,11 +71,24 @@ import com.google.common.collect.Sets;
 @Beta
 public class Asserts {
 
-    /**
-     * The default timeout for assertions - 30s.
-     * Alter in individual tests by giving a "timeout" entry in method flags.
+    /** 
+     * Timeout for use when something should happen within several seconds,
+     * but there might be network calls or computation so {@link #DEFAULT_SHORT_TIMEOUT} is not applicable.
      */
-    public static final Duration DEFAULT_TIMEOUT = Duration.THIRTY_SECONDS;
+    public static final Duration DEFAULT_LONG_TIMEOUT = Duration.THIRTY_SECONDS;
+    
+    /** 
+     * Timeout for use when waiting for other threads to finish.
+     * <p>
+     * Long enough for parallel execution to catch up, 
+     * even on overloaded mediocre test boxes most of the time,
+     * but short enough not to irritate you when your test is failing. */
+    public static final Duration DEFAULT_SHORT_TIMEOUT = Duration.ONE_SECOND;
+    
+    /** @deprecated since 0.9.0 use {@link #DEFAULT_LONG_TIMEOUT} */ @Deprecated
+    public static final Duration DEFAULT_TIMEOUT = DEFAULT_LONG_TIMEOUT;
+    
+    private static final Duration DEFAULT_SHORT_PERIOD = Repeater.DEFAULT_REAL_QUICK_PERIOD;
 
     private static final Logger log = LoggerFactory.getLogger(Asserts.class);
 
@@ -730,58 +746,99 @@ public class Asserts {
 
     // --- new routines
     
+    /**  As {@link #eventually(Supplier, Predicate, Duration, Duration, String)} with defaults. */
     public static <T> void eventually(Supplier<? extends T> supplier, Predicate<T> predicate) {
-        eventually(ImmutableMap.<String,Object>of(), supplier, predicate);
+        eventually(supplier, predicate, null, null, null);
     }
     
+    /** @deprecated since 0.9.0 use {@link #eventually(Supplier, Predicate, Duration, Duration, String)} */ @Deprecated
     public static <T> void eventually(Map<String,?> flags, Supplier<? extends T> supplier, Predicate<T> predicate) {
         eventually(flags, supplier, predicate, (String)null);
     }
-    
+    /** @deprecated since 0.9.0 use {@link #eventually(Supplier, Predicate, Duration, Duration, String)} */ @Deprecated
     public static <T> void eventually(Map<String,?> flags, Supplier<? extends T> supplier, Predicate<T> predicate, String errMsg) {
-        Duration timeout = toDuration(flags.get("timeout"), Duration.ONE_SECOND);
-        Duration period = toDuration(flags.get("period"), Duration.millis(10));
-        long periodMs = period.toMilliseconds();
-        long startTime = System.currentTimeMillis();
-        long expireTime = startTime+timeout.toMilliseconds();
+        eventually(supplier, predicate, toDuration(flags.get("timeout"), null), toDuration(flags.get("period"), null), errMsg);
+    }
+    
+    /**  As {@link #eventually(Supplier, Predicate, Duration, Duration, String)} with default. */
+    public static <T> void eventually(Supplier<? extends T> supplier, Predicate<T> predicate, Duration timeout) {
+        eventually(supplier, predicate, timeout, null, null);
+    }
+    
+    /** Asserts that eventually the supplier gives a value accepted by the predicate. 
+     * Tests periodically and succeeds as soon as the supplier gives an allowed value.
+     * Other arguments can be null.
+     * 
+     * @param supplier supplies the value to test, such as {@link Suppliers#ofInstance(Object)} for a constant 
+     * @param predicate the {@link Predicate} to apply to each value given by the supplier
+     * @param timeout how long to wait, default {@link #DEFAULT_SHORT_TIMEOUT}
+     * @param period how often to check, default quite often so you won't notice but letting the CPU do work
+     * @param errMsg an error message to display if not satisfied, in addition to the last-tested supplied value and the predicate
+     */
+    public static <T> void eventually(Supplier<? extends T> supplier, Predicate<T> predicate, Duration timeout, Duration period, String errMsg) {
+        if (timeout==null) timeout = DEFAULT_SHORT_TIMEOUT;
+        if (period==null) period = DEFAULT_SHORT_PERIOD;
+        CountdownTimer timeleft = timeout.countdownTimer();
         
-        boolean first = true;
-        T supplied = supplier.get();
-        while (first || System.currentTimeMillis() <= expireTime) {
+        T supplied;
+        int count = 0;
+        do {
+            if (count++ > 0) Duration.sleep(period);
             supplied = supplier.get();
-            if (predicate.apply(supplied)) {
-                return;
-            }
-            first = false;
-            if (periodMs > 0) sleep(periodMs);
-        }
-        fail("supplied="+supplied+"; predicate="+predicate+(errMsg!=null?"; "+errMsg:""));
+            if (predicate.apply(supplied)) return;
+        } while (timeleft.isNotExpired());
+
+        fail("Expected: eventually "+predicate+"; got most recently: "+supplied
+            +" (waited "+timeleft.getDurationElapsed()+", checked "+count+")"
+            +(errMsg!=null?"; "+errMsg:""));
     }
     
-    // TODO improve here -- these methods aren't very useful without timeouts
+    /**  As {@link #continually(Supplier, Predicate, Duration, Duration, String)} with defaults. */
     public static <T> void continually(Supplier<? extends T> supplier, Predicate<T> predicate) {
         continually(ImmutableMap.<String,Object>of(), supplier, predicate);
     }
 
+    /** @deprecated since 0.9.0 use {@link #eventually(Supplier, Predicate, Duration, Duration, String)} */ @Deprecated
     public static <T> void continually(Map<String,?> flags, Supplier<? extends T> supplier, Predicate<? super T> predicate) {
-        continually(flags, supplier, predicate, (String)null);
+        continually(flags, supplier, predicate, null);
     }
 
+    /** @deprecated since 0.9.0 use {@link #eventually(Supplier, Predicate, Duration, Duration, String)} */ @Deprecated
     public static <T> void continually(Map<String,?> flags, Supplier<? extends T> supplier, Predicate<T> predicate, String errMsg) {
-        Duration duration = toDuration(flags.get("timeout"), Duration.ONE_SECOND);
-        Duration period = toDuration(flags.get("period"), Duration.millis(10));
-        long periodMs = period.toMilliseconds();
-        long startTime = System.currentTimeMillis();
-        long expireTime = startTime+duration.toMilliseconds();
-        
-        boolean first = true;
-        while (first || System.currentTimeMillis() <= expireTime) {
-            assertTrue(predicate.apply(supplier.get()), "supplied="+supplier.get()+"; predicate="+predicate+(errMsg!=null?"; "+errMsg:""));
-            if (periodMs > 0) sleep(periodMs);
-            first = false;
-        }
+        continually(supplier, predicate, toDuration(flags.get("timeout"), toDuration(flags.get("duration"), null)), 
+            toDuration(flags.get("period"), null), null);
     }
+    /** 
+     * Asserts that continually the supplier gives a value accepted by the predicate. 
+     * Tests periodically and fails if the supplier gives a disallowed value.
+     * Other arguments can be null.
+     * 
+     * @param supplier supplies the value to test, such as {@link Suppliers#ofInstance(Object)} for a constant 
+     * @param predicate the {@link Predicate} to apply to each value given by the supplier
+     * @param duration how long to test for, default {@link #DEFAULT_SHORT_TIMEOUT}
+     * @param period how often to check, default quite often to minimise chance of missing a flashing violation but letting the CPU do work
+     * @param errMsg an error message to display if not satisfied, in addition to the last-tested supplied value and the predicate
+     */
+    public static <T> void continually(Supplier<? extends T> supplier, Predicate<T> predicate, Duration duration, Duration period, String errMsg) {
+        if (duration==null) duration = DEFAULT_SHORT_TIMEOUT;
+        if (period==null) period = DEFAULT_SHORT_PERIOD;
 
+        CountdownTimer timeleft = duration.countdownTimer();
+        
+        T supplied;
+        int count = 0;
+        do {
+            if (count > 0) Duration.sleep(period);
+            supplied = supplier.get();
+            if (!predicate.apply(supplied)) {
+                fail("Expected: continually "+predicate+"; got violation: "+supplied
+                    // tell timing if it worked the first time and then failed
+                    +(count > 0 ? " (after "+timeleft.getDurationElapsed()+", successfully checked "+count+")" : "")
+                    +(errMsg!=null?"; "+errMsg:""));
+            }
+            count++;
+        } while (timeleft.isNotExpired());
+    }
     
     /**
      * @see #succeedsContinually(Map, Callable)
@@ -818,6 +875,9 @@ public class Asserts {
         }
     }
 
+    // TODO flags are ugly; remove this in favour of something strongly typed,
+    // e.g. extending Repeater and taking the extra semantics.
+    // TODO remove the #succeedsEventually in favour of #eventually (and same for continually)
     /**
      * Convenience method for cases where we need to test until something is true.
      *
@@ -827,7 +887,7 @@ public class Asserts {
      * <ul>
      * <li>abortOnError (boolean, default true)
      * <li>abortOnException - (boolean, default false)
-     * <li>timeout - (a Duration or an integer in millis, defaults to {@link Asserts#DEFAULT_TIMEOUT})
+     * <li>timeout - (a Duration or an integer in millis, defaults to {@link Asserts#DEFAULT_LONG_TIMEOUT})
      * <li>period - (a Duration or an integer in millis, for fixed retry time; if not set, defaults to exponentially increasing from 1 to 500ms)
      * <li>minPeriod - (a Duration or an integer in millis; only used if period not explicitly set; the minimum period when exponentially increasing; defaults to 1ms)
      * <li>maxPeriod - (a Duration or an integer in millis; only used if period not explicitly set; the maximum period when exponentially increasing; defaults to 500ms)
@@ -849,7 +909,7 @@ public class Asserts {
         boolean logException = get(flags, "logException", true);
 
         // To speed up tests, default is for the period to start small and increase...
-        Duration duration = toDuration(flags.get("timeout"), DEFAULT_TIMEOUT);
+        Duration duration = toDuration(flags.get("timeout"), DEFAULT_LONG_TIMEOUT);
         Duration fixedPeriod = toDuration(flags.get("period"), null);
         Duration minPeriod = (fixedPeriod != null) ? fixedPeriod : toDuration(flags.get("minPeriod"), Duration.millis(1));
         Duration maxPeriod = (fixedPeriod != null) ? fixedPeriod : toDuration(flags.get("maxPeriod"), Duration.millis(500));
@@ -915,7 +975,8 @@ public class Asserts {
     public static <T> T succeedsContinually(Callable<T> c) {
         return succeedsContinually(ImmutableMap.<String,Object>of(), c);
     }
-    
+
+    // TODO unify with "continually"; see also eventually, some of those options might be useful
     public static <T> T succeedsContinually(Map<?,?> flags, Callable<T> job) {
         Duration duration = toDuration(flags.get("timeout"), Duration.ONE_SECOND);
         Duration period = toDuration(flags.get("period"), Duration.millis(10));
@@ -1240,4 +1301,50 @@ public class Asserts {
         throw new RuntimeException(t);
     }
 
+    /** As {@link #eventuallyOnNotify(Object, Supplier, Predicate, Duration, boolean)} with default timeout. */
+    public static <T> void eventuallyOnNotify(Object notifyTarget, Supplier<T> supplier, Predicate<T> predicate) {
+        eventuallyOnNotify(notifyTarget, supplier, predicate, null);
+    }
+    
+    /** as {@link #eventually(Supplier, Predicate)} for cases where an object is notified;
+     * more efficient as it waits on the notify target object. 
+     * See also the simpler {@link #eventuallyOnNotify(Object, Predicate)} when looking at a collection which is getting notified.
+     * Timeout defaults to {@link #DEFAULT_SHORT_TIMEOUT}. 
+     * <p>
+     * This synchronizes on the notify target for the duration of the wait, 
+     * including while getting and checking the value, so as not to miss any notification. */
+    public static <T> void eventuallyOnNotify(Object notifyTarget, Supplier<T> supplier, Predicate<T> predicate, Duration timeout) {
+        T supplied = null;
+        if (timeout==null) timeout = DEFAULT_SHORT_TIMEOUT;
+        CountdownTimer remaining = timeout.countdownTimer();
+        int checks = 0;
+        synchronized (notifyTarget) {
+            do {
+                if (checks>0) {
+                    remaining.waitOnForExpiryUnchecked(notifyTarget);
+                }
+                supplied = supplier.get();
+                if (predicate.apply(supplied)) return;
+                checks++;
+            } while (remaining.isNotExpired());
+        }
+        
+        // should get 2 checks, 1 before and 1 after, if no notifications; if more, tell the user
+        fail("Expected: eventually "+predicate+"; got most recently: "+supplied+
+            " (waited "+remaining.getDurationElapsed()+
+                (checks>2 ? "; notification count "+(checks-2) : "")+
+            ")");
+    }
+
+    /** Convenience for {@link #eventuallyOnNotify(Object, Supplier, Predicate, Duration, boolean)} 
+     * when the notify target and the value under test are the same. */
+    public static <T> void eventuallyOnNotify(T object, Predicate<T> predicate, Duration timeout) {
+        eventuallyOnNotify(object, Suppliers.ofInstance(object), predicate, timeout);
+    }
+
+    /** As {@link #eventuallyOnNotify(Object, Predicate, Duration)} with the default duration of {@link #eventuallyOnNotify(Object, Supplier, Predicate)}. */
+    public static <T> void eventuallyOnNotify(T object, Predicate<T> predicate) {
+        eventuallyOnNotify(object, Suppliers.ofInstance(object), predicate, null);
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc0ca058/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/util/time/CountdownTimer.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/util/time/CountdownTimer.java b/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/util/time/CountdownTimer.java
index 508657d..fea8ee6 100644
--- a/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/util/time/CountdownTimer.java
+++ b/brooklyn-server/utils/common/src/main/java/org/apache/brooklyn/util/time/CountdownTimer.java
@@ -55,7 +55,7 @@ public class CountdownTimer {
         return limit;
     }
 
-    /** return how long the timer has been running (longer than limit if {@link #isExpired()}) */
+    /** return how long the timer has been running (may be longer than {@link #getLimit()} if {@link #isExpired()}) */
     public Duration getDurationElapsed() {
         return Duration.nanos(stopwatch.elapsed(TimeUnit.NANOSECONDS));
     }
@@ -65,15 +65,28 @@ public class CountdownTimer {
         return Duration.millis(limit.toMilliseconds() - stopwatch.elapsed(TimeUnit.MILLISECONDS));
     }
 
-    /** true iff the timer has been running for the duration specified at creation time */
+    /** true iff the timer has run for more than the duration specified at creation time */
     public boolean isExpired() {
         return stopwatch.elapsed(TimeUnit.MILLISECONDS) > limit.toMilliseconds();
     }
-    
-    /** true iff timer is running (even if it is expired) */
-    public boolean isRunning() {
+
+    /** true iff {@link #isNotPaused()} and not {@link #isExpired()} */
+    public boolean isLive() {
+        return isNotPaused() && isNotExpired();
+    }
+
+    /** true iff not {@link #isExpired()} */
+    public boolean isNotExpired() {
+        return !isExpired();
+    }
+
+    /** false if started or paused, true otherwise (ie the timer is counting down, even if it is expired) */
+    public boolean isNotPaused() {
         return stopwatch.isRunning();
     }
+
+    /** @deprecated since 0.9.0 use better named {@link #isNotPaused()} */ @Deprecated
+    public boolean isRunning() { return isNotPaused(); }
     
     // --- constructor methods
     

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc0ca058/brooklyn-server/utils/common/src/test/java/org/apache/brooklyn/util/time/CountdownTimerTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/utils/common/src/test/java/org/apache/brooklyn/util/time/CountdownTimerTest.java b/brooklyn-server/utils/common/src/test/java/org/apache/brooklyn/util/time/CountdownTimerTest.java
index 5541caa..45995da 100644
--- a/brooklyn-server/utils/common/src/test/java/org/apache/brooklyn/util/time/CountdownTimerTest.java
+++ b/brooklyn-server/utils/common/src/test/java/org/apache/brooklyn/util/time/CountdownTimerTest.java
@@ -50,6 +50,9 @@ public class CountdownTimerTest {
         
         CountdownTimer timer = SIMPLE_DURATION.countdownTimer();
         assertFalse(timer.isExpired());
+        assertTrue(timer.isNotExpired());
+        assertTrue(timer.isLive());
+        assertTrue(timer.isNotPaused());
         assertTrue(timer.getDurationElapsed().toMilliseconds() <= OVERHEAD_MS, "elapsed="+timer.getDurationElapsed().toMilliseconds());
         assertTrue(timer.getDurationRemaining().toMilliseconds() >= TOTAL_TIME_MS - OVERHEAD_MS, "remaining="+timer.getDurationElapsed().toMilliseconds());
         
@@ -60,6 +63,10 @@ public class CountdownTimerTest {
         
         Time.sleep(Duration.millis(SECOND_SLEEP_TIME_MS));
         assertTrue(timer.isExpired());
+        assertFalse(timer.isNotExpired());
+        assertFalse(timer.isLive());
+        assertTrue(timer.isNotPaused());
+
     }
     
     public void testNotify() throws InterruptedException {


[08/29] incubator-brooklyn git commit: add apache-brooklyn-VER-vagrant release artifact

Posted by he...@apache.org.
add apache-brooklyn-VER-vagrant release artifact


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

Branch: refs/heads/master
Commit: 2ee54b0b1c64da44fde987c5a9ebb2883555c87c
Parents: 9fdca59
Author: John McCabe <jo...@johnmccabe.net>
Authored: Thu Jan 21 18:49:31 2016 +0000
Committer: John McCabe <jo...@johnmccabe.net>
Committed: Thu Jan 21 18:49:31 2016 +0000

----------------------------------------------------------------------
 brooklyn-dist/release/make-release-artifacts.sh | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2ee54b0b/brooklyn-dist/release/make-release-artifacts.sh
----------------------------------------------------------------------
diff --git a/brooklyn-dist/release/make-release-artifacts.sh b/brooklyn-dist/release/make-release-artifacts.sh
index dfdd976..90f138e 100755
--- a/brooklyn-dist/release/make-release-artifacts.sh
+++ b/brooklyn-dist/release/make-release-artifacts.sh
@@ -21,6 +21,7 @@
 # Creates the following releases with archives (.tar.gz/.zip), signatures and checksums:
 #   binary  (-bin)     - contains the brooklyn dist binary release
 #   source  (-src)     - contains all the source code files that are permitted to be released
+#   vagrant (-vagrant) - contains a Vagrantfile/scripts to start a Brooklyn getting started environment
 
 set -e
 
@@ -222,6 +223,19 @@ mv ${bin_staging_dir}/brooklyn-dist-${current_version} ${bin_staging_dir}/${rele
 ( cd ${bin_staging_dir} && zip -qr ${artifact_dir}/${artifact_name}-bin.zip ${release_name}-bin )
 
 ###############################################################################
+# Vagrant release
+set +x
+echo "Proceeding to rename and repackage vagrant environment release"
+set -x
+
+# Re-pack the archive with the correct names
+tar xzf ${src_staging_dir}/brooklyn-dist/vagrant/target/brooklyn-vagrant-${current_version}-dist.tar.gz -C ${bin_staging_dir}
+mv ${bin_staging_dir}/brooklyn-vagrant-${current_version} ${bin_staging_dir}/${release_name}-vagrant
+
+( cd ${bin_staging_dir} && tar czf ${artifact_dir}/${artifact_name}-vagrant.tar.gz ${release_name}-vagrant )
+( cd ${bin_staging_dir} && zip -qr ${artifact_dir}/${artifact_name}-vagrant.zip ${release_name}-vagrant )
+
+###############################################################################
 # Signatures and checksums
 
 # OSX doesn't have sha256sum, even if MacPorts md5sha1sum package is installed.


[12/29] incubator-brooklyn git commit: Concertina in managing, glossary & refactored names

Posted by he...@apache.org.
Concertina in managing, glossary & refactored names


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

Branch: refs/heads/master
Commit: ed7a510b5b191c4c3d2d2eaea61c516add36cda8
Parents: 4b864fa
Author: Duncan Godwin <du...@cloudsoftcorp.com>
Authored: Fri Jan 22 14:44:45 2016 +0000
Committer: Duncan Godwin <du...@cloudsoftcorp.com>
Committed: Fri Jan 22 14:44:45 2016 +0000

----------------------------------------------------------------------
 brooklyn-docs/_includes/base-head.html  |  13 +
 brooklyn-docs/guide/glossary.json       |  18 ++
 brooklyn-docs/guide/start/blueprints.md |   1 +
 brooklyn-docs/guide/start/managing.md   | 123 ++++++---
 brooklyn-docs/style/deps/glossarizer.js | 379 +++++++++++++++++++++++++++
 brooklyn-docs/style/deps/tooltip.css    |  64 +++++
 brooklyn-docs/style/deps/tooltip.js     |  86 ++++++
 7 files changed, 646 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ed7a510b/brooklyn-docs/_includes/base-head.html
----------------------------------------------------------------------
diff --git a/brooklyn-docs/_includes/base-head.html b/brooklyn-docs/_includes/base-head.html
index dc1d31f..0773dc2 100644
--- a/brooklyn-docs/_includes/base-head.html
+++ b/brooklyn-docs/_includes/base-head.html
@@ -7,11 +7,24 @@
 <link href="{% dependency_url bootstrap.css %}" rel="stylesheet">
 <link href="{{site.path.style}}/deps/octicons/octicons.css" rel="stylesheet">
 <link href="{{site.path.style}}/deps/bootstrap-theme.css" rel="stylesheet">
+<link href="{{site.path.style}}/deps/tooltip.css" rel="stylesheet">
 
 <link rel="stylesheet" href="{{ site.path.style }}/css/code.css" type="text/css" media="screen" />
 
 <link href="{{site.path.style}}/css/website.css" rel="stylesheet">
 
 <script src="{% dependency_url jquery.js %}"></script>
+<script src="{% dependency_url glossarizer.js %}"></script>
 <script src="{% dependency_url bootstrap.js %}"></script>
+<script src="{% dependency_url tooltip.js %}"></script>
 <script type="text/javascript" src="{{ site.path.style }}/deps/jquery.cookie.js"></script>
+<script>
+$(function(){
+  $('body').glossarizer({
+    sourceURL: '/guide/glossary.json?'+Math.random(),
+    caseSensitive : true,
+    lookupTagName : 'p, ul',
+    callback: function(){ new tooltip(); }
+  });
+});
+</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ed7a510b/brooklyn-docs/guide/glossary.json
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/glossary.json b/brooklyn-docs/guide/glossary.json
new file mode 100644
index 0000000..1f8b19d
--- /dev/null
+++ b/brooklyn-docs/guide/glossary.json
@@ -0,0 +1,18 @@
+[
+  {
+    "term": "location, !location:",
+    "description": "A server or resource to which Apache Brooklyn can deploy applications"
+  },
+  {
+    "term": "blueprint",
+    "description": "A descriptor or pattern which describes how Apache Brooklyn should deploy applications"
+  },
+  {
+    "term": "entity",
+    "description": "A software package or service Apache Brooklyn can interact with"
+  },
+  {
+    "term": "sensor, !<code>sensor",
+    "description": "A sensor is a property of an Apache Brooklyn entity, updated in real-time"
+  }
+]

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ed7a510b/brooklyn-docs/guide/start/blueprints.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/blueprints.md b/brooklyn-docs/guide/start/blueprints.md
index 4f271cc..7d9a0e2 100644
--- a/brooklyn-docs/guide/start/blueprints.md
+++ b/brooklyn-docs/guide/start/blueprints.md
@@ -19,6 +19,7 @@ hover your mouse over the right side of the text box below to get a Javascript "
 name: Tomcat
 services:
 - type: org.apache.brooklyn.entity.webapp.tomcat.TomcatServer
+  name: tomcatServer
 location: <your-location-definition-goes-here>
 {% endhighlight %}
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ed7a510b/brooklyn-docs/guide/start/managing.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/managing.md b/brooklyn-docs/guide/start/managing.md
index bb9cd3a..be6ccce 100644
--- a/brooklyn-docs/guide/start/managing.md
+++ b/brooklyn-docs/guide/start/managing.md
@@ -41,8 +41,20 @@ A full list of abbreviations such as this can be found in the [CLI reference gui
 
 In the above example the Id `hTPAF19s` and the Name `Tomcat` are shown. You can use either of these handles to monitor and control the application. The Id shown for your application will be different to this but the name should be the same, note that if you are running multiple applications the Name may not be unique.
 
+#### Things we might want to do
+
+<div class="panel-group" id="accordion">
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h4 class="panel-title">
+                    <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">Get the application details</a>
+                </h4>
+            </div>
+            <div id="collapseOne" class="panel-collapse collapse in">
+                <div class="panel-body">
+<p>     
 Using the name `Tomcat` we can get the application details:
-
+</p>
 {% highlight bash %}
 $ br app Tomcat
 {% endhighlight %}
@@ -57,28 +69,63 @@ $ br app Tomcat
   LocationName:    FixedListMachineProvisioningLocation:ajVV   
   LocationSpec:    vagrantbyon   
   LocationType:    org.apache.brooklyn.location.byon.FixedListMachineProvisioningLocation  
-</pre>
-
+</pre>        
+                </div>
+            </div>
+        </div>
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h4 class="panel-title">
+                    <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">Explore the hierarchy of all applications</a>
+                </h4>
+            </div>
+            <div id="collapseTwo" class="panel-collapse collapse">
+                <div class="panel-body">
+<p>              
 We can explore the management hierarchy of all applications, which will show us the entities they are composed of.
+</p>
 {% highlight bash %}
 $ br tree
 {% endhighlight %}
 <pre>
 |- Tomcat
 +- org.apache.brooklyn.entity.stock.BasicApplication
-  |- TomcatServer:Wx7r
+  |- tomcatServer
   +- org.apache.brooklyn.entity.webapp.tomcat.TomcatServer
 </pre>
-
+                </div>
+            </div>
+        </div>
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h4 class="panel-title">
+                    <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">View our application's blueprint</a>
+                </h4>
+            </div>
+            <div id="collapseThree" class="panel-collapse collapse">
+                <div class="panel-body">
+<p>
 You can view the blueprint for the application again:
+</p>
 {% highlight bash %}
 $ br app tomcat spec
 {% endhighlight %}
 <pre>
 "name: Tomcat\nlocation:\n  mylocation\nservices:\n- serviceType: brooklyn.entity.webapp.tomcat.TomcatServer\n"
-</pre>
-
-You can view the config of the application:
+</pre>                </div>
+            </div>
+        </div>
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h4 class="panel-title">
+                    <a data-toggle="collapse" data-parent="#accordion" href="#collapseFour">View our application's configuration</a>
+                </h4>
+            </div>
+            <div id="collapseFour" class="panel-collapse collapse">
+                <div class="panel-body">
+<p>
+You can view the configuration of the application:
+</p>
 {% highlight bash %}
 $ br app tomcat config
 {% endhighlight %}
@@ -87,6 +134,10 @@ Key                    Value
 camp.template.id       l67i25CM   
 brooklyn.wrapper_app   true   
 </pre>
+                </div>
+            </div>
+        </div>
+    </div>
 
 ## Entities
 
@@ -99,27 +150,29 @@ $ br app Tomcat entity
 {% endhighlight %}
 <pre>
 Id         Name                Type   
-Wx7r1C4e   TomcatServer:Wx7r   org.apache.brooklyn.entity.webapp.tomcat.TomcatServer      
+Wx7r1C4e   tomcatServer   org.apache.brooklyn.entity.webapp.tomcat.TomcatServer      
 </pre>
 
-You can get summary information for an entity by providing its name (or ID).
+This shows one entity is available: `tomcatServer`. Note that this is the name we gave the entity in the YAML in [Launching from a Blueprint](./blueprints.html#launching-from-a-blueprint) on the previous page.
+
+You can get summary information for this entity by providing its name (or ID).
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r
+$ br app Tomcat ent tomcatServer
 {% endhighlight %}
 <pre>
 Id:              Wx7r1C4e   
-Name:            TomcatServer:Wx7r   
+Name:            tomcatServer   
 Status:          RUNNING   
 ServiceUp:       true   
 Type:            org.apache.brooklyn.entity.webapp.tomcat.TomcatServer   
 CatalogItemId:   null   
 </pre>
 
-Also you can see the config of the entity with the ```config``` command.
+Also you can see the configuration of this entity with the ```config``` command.
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r config
+$ br app Tomcat ent tomcatServer config
 {% endhighlight %}
 <pre>
 Key                       Value   
@@ -131,12 +184,6 @@ onbox.base.dir.resolved   true
 install.unique_label      TomcatServer_7.0.65   
 </pre>
 
-If an entity name is annoyingly long to type, the entity can be renamed:
-
-{% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r rename server
-{% endhighlight %}
-
 ## Sensors
 
 *Sensors* are properties which reflect the state of an *entity* and provide a real-time picture of an *entity* in an application.
@@ -155,11 +202,11 @@ service.state              Actual lifecycle state of the service
 service.state.expected     Last controlled change to service state, indicating what the expected state should be   "running @ 1450356994928 / Thu Dec 17 12:56:34 GMT 2015"
 </pre>
 
-To explore all sensors available on an entity use the sensor command with an entity scope.
+To explore all sensors available on an entity use the `sensor` command with an entity scope.
 Note, again, the name of the application or entity can be used or the ID:
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r sensor
+$ br app Tomcat ent tomcatServer sensor
 {% endhighlight %}
 <pre>
 Name                                            Description                                                                                                      Value   
@@ -178,7 +225,7 @@ host.subnet.hostname                            Host name as known internally in
 To study selected sensors, give the command the sensor name as an argument
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r sensor webapp.url  
+$ br app Tomcat ent tomcatServer sensor webapp.url  
 {% endhighlight %}
 <pre>
 "http://10.10.10.101:8080/"
@@ -203,7 +250,7 @@ stop            Stop the process/service represented by an entity
 For an entity supply the entity scope:
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r effector
+$ br app Tomcat ent tomcatServer effector
 {% endhighlight %}
 <pre>
 Name                              Description                                                                               Parameters   
@@ -218,7 +265,7 @@ undeploy                          Undeploys the given context/artifact
 To view just one effector's documentation, supply its name to the show command:
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r effector deploy
+$ br app Tomcat ent tomcatServer effector deploy
 {% endhighlight %}
 <pre>
 Name            Description                                                                                                                                                                            Parameters   
@@ -233,7 +280,7 @@ application and return any cloud machines that were being used. Do the invocatio
 the scope, and using the command ```invoke```. 
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r eff stop invoke
+$ br app Tomcat ent tomcatServer eff stop invoke
 {% endhighlight %}
 
 Note that the three "lifecycle" related effectors, ```start```, ```stop```, and ```restart```, are common to all software process 
@@ -241,13 +288,13 @@ entities in Brooklyn. They are so commonly used that they have their own aliases
 by:
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r stop
+$ br app Tomcat ent tomcatServer stop
 {% endhighlight %}
 
 Some effectors require parameters for their invocation, as in the example of ```deploy``` above.  
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r effector deploy
+$ br app Tomcat ent tomcatServer effector deploy
 {% endhighlight %}
 <pre>
 Name     Description                                                                             Parameters   
@@ -261,8 +308,8 @@ sensor, and the index page is fetched. Note that at present a ```tr``` command i
 quotation characters from the returned sensor value. 
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r effector deploy invoke -P url=https://tomcat.apache.org/tomcat-6.0-doc/appdev/sample/sample.war -P targetName=sample
-$ webapp=$(br app Tomcat ent TomcatServer:Wx7r sensor webapp.url | tr -d '"')
+$ br app Tomcat ent tomcatServer effector deploy invoke -P url=https://tomcat.apache.org/tomcat-6.0-doc/appdev/sample/sample.war -P targetName=sample
+$ webapp=$(br app Tomcat ent tomcatServer sensor webapp.url | tr -d '"')
 $ curl $webapp/sample/
 {% endhighlight %}
     <html>
@@ -278,7 +325,7 @@ The ```activity``` command allows us to investigate the activities of an entity.
 To view a list of all activities associated with an entity simply use
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r activity
+$ br app Tomcat ent tomcatServer activity
 {% endhighlight %}
 <pre>
 Id         Task                                       Submitted                      Status      Streams   
@@ -293,7 +340,7 @@ jwwcJWmF   start (processes)                          Thu Dec 17 15:04:43 GMT 20
 To view the details of an individual activity provide its ID:
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r activity jwwcJWmF
+$ br app Tomcat ent tomcatServer activity jwwcJWmF
 {% endhighlight %}
 <pre>
 Id:                  jwwcJWmF   
@@ -320,7 +367,7 @@ Adding the ```--children``` or ```-c``` parameter will show the activity's child
 of the activities to be investigated:
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r activity -c jwwcJWmF
+$ br app Tomcat ent tomcatServer activity -c jwwcJWmF
 {% endhighlight %}
 <pre>
 Id         Task                         Submitted                      Status   
@@ -344,7 +391,7 @@ using the commands, ```env```, ```stdin```, ```stdout```, and ```stderr```.  For
 activity from the result of the earlier example,
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r act KLTxDkoa stdout
+$ br app Tomcat ent tomcatServer act KLTxDkoa stdout
 BASE_DIR_RESULT:/home/vagrant/brooklyn-managed-processes:BASE_DIR_RESULT
 {% endhighlight %}
 
@@ -352,7 +399,7 @@ BASE_DIR_RESULT:/home/vagrant/brooklyn-managed-processes:BASE_DIR_RESULT
 To monitor progress on an application as it deploys, for example, one could use a shell loop:
 
 {% highlight bash %}
-$ while br app Tomcat ent TomcatServer:Wx7r activity | grep 'In progress' ; do 
+$ while br app Tomcat ent tomcatServer activity | grep 'In progress' ; do 
   sleep 1; echo ; date; 
 done
 {% endhighlight %}
@@ -360,7 +407,7 @@ This loop will exit when the application has deployed successfully or has failed
 command may provide information about what happened in any activities that have associated streams:
 
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r act KLTxDkoa stderr
+$ br app Tomcat ent tomcatServer act KLTxDkoa stderr
 {% endhighlight %}
 
 
@@ -381,9 +428,9 @@ as follows (values in brackets are aliases for the scope):
 
 For example
 {% highlight bash %}
-$ br app Tomcat ent TomcatServer:Wx7r config
+$ br app Tomcat ent tomcatServer config
 {% endhighlight %}
-runs the ```config``` command with application scope of ```Tomcat``` and entity scope of ```TomcatServer:Wx7r```.
+runs the ```config``` command with application scope of ```Tomcat``` and entity scope of ```tomcatServer```.
 
 
 ## Next

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ed7a510b/brooklyn-docs/style/deps/glossarizer.js
----------------------------------------------------------------------
diff --git a/brooklyn-docs/style/deps/glossarizer.js b/brooklyn-docs/style/deps/glossarizer.js
new file mode 100644
index 0000000..cdc5dbc
--- /dev/null
+++ b/brooklyn-docs/style/deps/glossarizer.js
@@ -0,0 +1,379 @@
+/**
+ * Plugin Name: Glossarizer
+ * Author : Vinay @Pebbleroad
+ * Date: 02/04/2013
+ * Description: Takes glossary terms from a JSON object -> Searches for terms in your html -> Wraps a abbr tag around the matched word
+ * 1. Fixed IE8 bug where whitespace get removed - Had to change `abbr` tag to a block element `div`
+ */
+
+;(function($){
+
+	/**
+	 * Defaults
+	 */
+	
+	var pluginName = 'glossarizer',
+		defaults = {
+			sourceURL     : '', /* URL of the JSON file with format {"term": "", "description": ""} */	
+			replaceTag    : 'abbr', /* Matching words will be wrapped with abbr tags by default */
+			lookupTagName : 'p, ul, a, div', /* Lookup in either paragraphs or lists. Do not replace in headings */
+			callback      : null, /* Callback once all tags are replaced: Call or tooltip or anything you like */
+			replaceOnce   : false /* Replace only once in a TextNode */,
+			replaceClass  : 'glossarizer_replaced',
+			caseSensitive : false
+		}
+
+	/**
+	 * Constructor
+	 */
+	
+	function Glossarizer(el, options){
+
+		var base = this
+
+		base.el = el;
+
+		/* Element */
+		base.$el = $(el)
+
+		/* Extend options */
+
+		base.options = $.extend({}, defaults, options)
+
+		/* Terms */
+		
+		base.terms = [];
+
+		/* Excludes array */
+
+		base.excludes = [];
+
+		/* Replaced words array */
+
+		base.replaced = [];
+		
+
+		/* Regex Tags */
+		
+		base.regexOption = (base.options.caseSensitive? '': 'i') + (base.options.replaceOnce? '': 'g');
+
+		
+		/* Fetch glossary JSON */
+
+		$.getJSON(this.options.sourceURL).then(function(data){
+
+			base.glossary = data;
+			
+			if(!base.glossary.length || base.glossary.length == 0) return;			
+			
+			/**
+			 * Get all terms
+			 */
+			
+			for(var i =0; i< base.glossary.length; i++){
+				
+				var terms = base.glossary[i].term.split(',');
+
+				for(var j = 0; j < terms.length; j++){
+
+					/* Trim */
+
+					var trimmed = terms[j].replace(/^\s+|\s+$/g, ''),
+						isExclusion = trimmed.indexOf('!');
+					
+					if(isExclusion == -1 || isExclusion != 0){
+
+						/* Glossary terms array */
+						
+						base.terms.push(trimmed)
+
+					}else{
+
+						/* Excluded terms array */
+						
+						base.excludes.push(trimmed.substr(1));
+					}
+				}
+				
+				
+			}
+			
+
+			/**
+			 * Wrap terms
+			 */
+			
+			base.wrapTerms();
+
+
+		})
+
+		
+
+	}
+
+	/**
+	 * Prototypes
+	 */
+	Glossarizer.prototype = {		
+
+		getDescription: function(term){			
+
+			var regex = new RegExp('(\,|\s*)'+this.clean(term)+'\\s*|\\,$', 'i');
+
+			/**
+			 * Matches
+			 * 1. Starts with \s* (zero or more spaces)			 
+			 * 2. Ends with zero or more spaces
+			 * 3. Ends with comma
+			 */
+			
+			for(var i =0; i< this.glossary.length; i++){				
+
+				if(this.glossary[i].term.match(regex)){										
+					return this.glossary[i].description.replace(/\"/gi, '&quot;')
+				}				
+			}				
+
+		},
+		clean: function(text){
+
+			var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g')
+			
+			return text.replace(reEscape, '\\$1')
+
+		},
+		
+		/**
+		 * Wraps the matched terms by calling traverser     
+		 */
+		wrapTerms: function(){
+
+			this.cleanedTerms = this.clean(this.terms.join('|'))
+			this.excludedTerms = this.clean(this.excludes.join('|'))
+			
+			var nodes = this.el.querySelectorAll(this.options.lookupTagName)					
+
+			for(var i =0; i < nodes.length; i++){
+				this.traverser(nodes[i])
+			}      
+
+			/**
+			 * Callback
+			 */
+			
+			if(this.options.callback) this.options.callback.call(this.$el)
+
+		},
+
+		/**
+		 * Traverses through nodes to find the matching terms in TEXTNODES
+		 */
+
+		traverser: function(node){      
+			
+			var next,
+				base = this;
+
+			if (node.nodeType === 1) {
+
+				/*
+				 Element Node
+				 */
+				
+				if (node = node.firstChild) {
+						do {
+							// Recursively call traverseChildNodes
+							// on each child node
+							next = node.nextSibling
+
+							/**
+							 * Check if the node is not glossarized
+							 */
+
+							if(	node.className != this.options.replaceClass)
+							{
+								
+								this.traverser(node)
+
+							}
+
+						} while(node = next)
+				}
+
+			} else if (node.nodeType === 3) {
+
+				/*
+				 Text Node
+				 */
+
+				var temp = document.createElement('div'),
+					data = node.data;
+
+				var re = new RegExp('(?:^|\\b)('+this.cleanedTerms+ ')(?!\\w)', base.regexOption),
+					reEx = new RegExp('(?:^|\\b)('+this.excludedTerms+ ')(?!\\w)', base.regexOption);
+				
+				
+				if(re.test(data)){      
+					
+					var excl = reEx.exec(data);    
+					
+					data = data.replace(re,function(match, item , offset, string){
+						
+
+						if(base.options.replaceOnce && inArrayIn(match, base.replaced) >= 0){
+
+							return match;
+						}
+						
+						base.replaced.push(match);
+						
+						var ir = new RegExp('(?:^|\\b)'+base.clean(match)+'(?!\\w)'),
+							result = ir.exec(data)
+						
+						
+						if(result){
+
+							if(excl && base.excludes.length){
+								
+								var id = offset,
+									exid = excl.index,
+									exl = excl.index + excl[0].length;
+								
+								if(exid <= id && id <= exl){
+
+									return match;
+									
+								}else{
+
+									return '<'+base.options.replaceTag+' class="'+base.options.replaceClass+'" title="'+base.getDescription(match)+'">'+ match + '</'+base.options.replaceTag+'>'
+
+								}
+							}
+							else{
+
+								return '<'+base.options.replaceTag+' class="'+base.options.replaceClass+'" title="'+base.getDescription(match)+'">'+ match + '</'+base.options.replaceTag+'>'
+							}
+						}
+						
+
+					});
+
+					/**
+					 * Only replace when a match is found					 
+					 * Resorting to jQuery html() because of IE8 whitespace issue.
+					 * IE 8 removes leading whitespace from Text Nodes. Hence innerhtml doesnt work.
+					 * 
+					 */
+					
+					$(temp).html(data)
+
+					
+				
+					while (temp.firstChild) {          
+						node.parentNode.insertBefore(temp.firstChild, node)
+					}
+
+					node.parentNode.removeChild(node)
+
+				}
+
+			}
+
+		},
+
+	};
+
+
+	/**
+	 * Public Methods
+	 */
+	
+	var methods = {
+
+		destroy: function(){			
+
+			this.$el.removeData('plugin_' + pluginName);
+
+			/* Remove abbr tag */
+			this.$el.find('.' + this.options.replaceClass).each(function(){
+
+				var $this = $(this),
+					text = $this.text();
+
+
+				$this.replaceWith(text)
+
+			})
+			
+		}
+	}
+
+
+	/**
+	 * Extend Prototype
+	 */
+	
+	Glossarizer.prototype = $.extend({}, Glossarizer.prototype, methods)
+
+	/**
+	 * Plugin
+	 * @param  {[type]} options   
+	 */
+	$.fn[pluginName] =function(options){
+
+		return this.each(function(){
+
+
+			var $this = $(this),
+				glossarizer = $this.data('plugin_' + pluginName);
+
+			/*
+			Check if its a method
+			 */
+			
+			if(typeof options == "string" && glossarizer  && methods.hasOwnProperty(options) ){
+
+				glossarizer[options].apply(glossarizer)
+
+			}else{
+
+				/* Destroy if exists */
+
+				if(glossarizer) glossarizer['destroy'].apply(glossarizer);
+
+
+				/* Initialize */
+			
+				$.data(this, 'plugin_' + pluginName, new Glossarizer(this, options))
+			}
+		});
+
+	}
+
+
+	/**
+	 * In Array
+	 */
+	
+	function inArrayIn(elem, arr, i){            
+        
+        if (typeof elem !== 'string'){
+			return $.inArray.apply(this, arguments);
+        }
+
+        if (arr){
+            var len = arr.length;
+                i = i ? (i < 0 ? Math.max(0, len + i) : i) : 0;
+            elem = elem.toLowerCase();
+            for (; i < len; i++){
+                if (i in arr && arr[i].toLowerCase() == elem){
+                    return i;
+                }
+            }
+        }            
+        return -1;
+    }
+
+
+})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ed7a510b/brooklyn-docs/style/deps/tooltip.css
----------------------------------------------------------------------
diff --git a/brooklyn-docs/style/deps/tooltip.css b/brooklyn-docs/style/deps/tooltip.css
new file mode 100644
index 0000000..fc5c3a3
--- /dev/null
+++ b/brooklyn-docs/style/deps/tooltip.css
@@ -0,0 +1,64 @@
+/* fix for double underline on firefox */
+abbr[title], abbr[data-original-title]{
+	border-bottom: none;	
+}
+
+ #tooltip
+{
+    text-align: center;
+    color: #fff;
+    background: #000;
+    background: rgba(0,0,0,0.8);
+    position: absolute;
+    z-index: 100;
+    padding: 15px;
+    border-radius: 5px;
+    box-sizing: border-box;    
+}
+
+    @media only screen and (max-width: 800px){
+        #tooltip:before{
+            content: 'x';
+            position: absolute;
+            color: #fff;
+            right: 8px;
+            top: 3px;
+            font-size: 12px;
+        }
+    }    
+ 
+    #tooltip:after /* triangle decoration */
+    {
+        width: 0;
+        height: 0;
+        border-left: 10px solid transparent;
+        border-right: 10px solid transparent;
+        border-top: 10px solid rgba(0,0,0,0.8);
+        content: '';
+        position: absolute;
+        left: 50%;
+        bottom: -10px;
+        margin-left: -10px;
+    }
+ 
+        #tooltip.top:after
+        {
+            border-top-color: transparent;
+            border-bottom: 10px solid #111;
+            top: -20px;                         
+            bottom: auto;
+        }
+
+ 
+        #tooltip.left:after
+        {
+            left: 10px;
+            margin: 0;
+        }
+ 
+        #tooltip.right:after
+        {
+            right: 10px;
+            left: auto;
+            margin: 0;
+        }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ed7a510b/brooklyn-docs/style/deps/tooltip.js
----------------------------------------------------------------------
diff --git a/brooklyn-docs/style/deps/tooltip.js b/brooklyn-docs/style/deps/tooltip.js
new file mode 100644
index 0000000..d1e8c54
--- /dev/null
+++ b/brooklyn-docs/style/deps/tooltip.js
@@ -0,0 +1,86 @@
+// 
+// Author : http://osvaldas.info/elegant-css-and-jquery-tooltip-responsive-mobile-friendly
+// 
+(function($, window, undefined){
+
+    function ToolTip (){
+
+        var targets = $( '.glossarizer_replaced' ),
+            target  = false,
+            tooltip = false,
+            title   = false;
+     
+        targets.bind( 'mouseenter', function()
+        {
+            target  = $( this );
+            tip     = target.attr( 'title' );
+            tooltip = $( '<div id="tooltip"></div>' );
+     
+            if( !tip || tip == '' )
+                return false;
+     
+            target.removeAttr( 'title' );
+            tooltip.css( 'opacity', 0 )
+                   .html( tip )
+                   .appendTo( 'body' );
+     
+            var init_tooltip = function()
+            {
+                if( $( window ).width() < tooltip.outerWidth() * 1.5 )
+                    tooltip.css( 'max-width', $( window ).width() / 2 );
+                else
+                    tooltip.css( 'max-width', 340 );
+     
+                var pos_left = target.offset().left + ( target.outerWidth() / 2 ) - ( tooltip.outerWidth() / 2 ),
+                    pos_top  = target.offset().top - tooltip.outerHeight() - 20;
+     
+                if( pos_left < 0 )
+                {
+                    pos_left = target.offset().left + target.outerWidth() / 2 - 20;
+                    tooltip.addClass( 'left' );
+                }
+                else
+                    tooltip.removeClass( 'left' );
+     
+                if( pos_left + tooltip.outerWidth() > $( window ).width() )
+                {
+                    pos_left = target.offset().left - tooltip.outerWidth() + target.outerWidth() / 2 + 20;
+                    tooltip.addClass( 'right' );
+                }
+                else
+                    tooltip.removeClass( 'right' );
+     
+                if( pos_top < 0 )
+                {
+                    var pos_top  = target.offset().top + target.outerHeight();
+                    tooltip.addClass( 'top' );
+                }
+                else
+                    tooltip.removeClass( 'top' );
+     
+                tooltip.css( { left: pos_left, top: pos_top } )
+                       .animate( { top: '+=10', opacity: 1 }, 50 );
+            };
+     
+            init_tooltip();
+            $( window ).resize( init_tooltip );
+     
+            var remove_tooltip = function()
+            {
+                tooltip.animate( { top: '-=10', opacity: 0 }, 50, function()
+                {
+                    $( this ).remove();
+                });
+     
+                target.attr( 'title', tip );
+            };
+     
+            target.bind( 'mouseleave', remove_tooltip );
+            tooltip.bind( 'click', remove_tooltip );
+        });
+
+    }
+
+    return window.tooltip = ToolTip;
+
+})(jQuery, window)
\ No newline at end of file


[24/29] incubator-brooklyn git commit: This closes #1170

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


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

Branch: refs/heads/master
Commit: 00d99b9a386232ec1c77e7b9e11af7c3cbc53ab7
Parents: e56536b 16d1e91
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Jan 30 02:31:35 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Jan 30 02:31:35 2016 +0000

----------------------------------------------------------------------
 brooklyn-dist/.gitignore                        |  1 +
 brooklyn-dist/pom.xml                           |  1 +
 brooklyn-dist/release/make-release-artifacts.sh | 24 ++++-
 brooklyn-dist/vagrant/pom.xml                   | 83 ++++++++++++++++++
 .../src/main/config/build-distribution.xml      | 33 +++++++
 .../vagrant/src/main/vagrant/README.md          | 41 +++++++++
 .../vagrant/src/main/vagrant/Vagrantfile        | 76 ++++++++++++++++
 .../src/main/vagrant/files/brooklyn.properties  | 23 +++++
 .../src/main/vagrant/files/brooklyn.service     | 32 +++++++
 .../src/main/vagrant/files/install_brooklyn.sh  | 92 ++++++++++++++++++++
 .../vagrant/src/main/vagrant/files/logback.xml  | 32 +++++++
 .../src/main/vagrant/files/vagrant-catalog.bom  | 82 +++++++++++++++++
 .../vagrant/src/main/vagrant/servers.yaml       | 73 ++++++++++++++++
 .../release-process/make-release-artifacts.md   |  6 +-
 .../committers/release-process/publish.md       | 10 +--
 .../release-process/release-version.md          |  8 +-
 .../committers/release-process/vote.md          |  4 +-
 17 files changed, 603 insertions(+), 18 deletions(-)
----------------------------------------------------------------------



[04/29] incubator-brooklyn git commit: Getting Started with Vagrant updates - for review

Posted by he...@apache.org.
Getting Started with Vagrant updates - for review


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

Branch: refs/heads/master
Commit: b5873c946fd1a6cb79adf731a418be9519959ec0
Parents: 289eb5b
Author: Duncan Godwin <du...@cloudsoftcorp.com>
Authored: Thu Jan 14 11:27:28 2016 +0000
Committer: Duncan Godwin <du...@cloudsoftcorp.com>
Committed: Fri Jan 15 12:04:29 2016 +0000

----------------------------------------------------------------------
 brooklyn-docs/guide/start/running.md | 100 +++++++++++++++++++++++++-----
 1 file changed, 84 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b5873c94/brooklyn-docs/guide/start/running.md
----------------------------------------------------------------------
diff --git a/brooklyn-docs/guide/start/running.md b/brooklyn-docs/guide/start/running.md
index 54315ec..43066e4 100644
--- a/brooklyn-docs/guide/start/running.md
+++ b/brooklyn-docs/guide/start/running.md
@@ -9,31 +9,62 @@ This guide will walk you through deploying an example 3-tier web application to
 
 An overview of core [Brooklyn concepts](./concept-quickstart.html) is available for reference.
 
-This tutorial assumes that you are using Linux or Mac OS X.
+Two methods of deployment are detailed in this tutorial, using virtualisation with Vagrant and a local install. Both assume that you are using Linux or Mac OS X.
 
 ## Install Apache Brooklyn
 
-Download the Apache Brooklyn binary distribution as described on [the download page]({{site.path.website}}/download/).
+{::options parse_block_html="true" /}
+
+<ul class="nav nav-tabs">
+    <li class="active impl-1-tab"><a data-target="#impl-1, .impl-1-tab" data-toggle="tab" href="#">Vagrant</a></li>
+    <li class="impl-2-tab"><a data-target="#impl-2, .impl-2-tab" data-toggle="tab" href="#">Local Install</a></li>
+</ul>
+
+<div class="tab-content">
+<div id="impl-1" class="tab-pane fade in active">
+
+[Vagrant](https://www.vagrantup.com/){:target="_blank"} is a software package which automates the process of setting up virtual environments such as [Oracle VirtualBox](https://www.virtualbox.org){:target="_blank"}. We recommend it as
+the easiest way of getting started with Apache Brooklyn.
+
+Firstly, download and install:
+
+ * [Vagrant](http://www.vagrantup.com/downloads){:target="_blank"}
+ * [Oracle VirtualBox](https://www.virtualbox.org/wiki/Downloads){:target="_blank"}
+ 
+Then download the default Apache Brooklyn vagrant configuration from [here](http://someurl){:target="_blank"}. This configuration contains everything you need to get started using Apache Brooklyn.
+
+Extract the `tar.gz` archive and navigate into the expanded `apache-brooklyn-vagrant-{{ site.brooklyn-version }}` folder
+
+{% highlight bash %}
+$ tar xvf apache-brooklyn-vagrant-{{ site.brooklyn-version }}.tar.gz
+$ cd xvf apache-brooklyn-vagrant-{{ site.brooklyn-version }}
+{% endhighlight %}
+
+
+</div>
+<div id="impl-2" class="tab-pane fade">
+
+Download the Apache Brooklyn binary distribution as described on [the download page]({{site.path.website}}/download/){:target="_blank"}.
 
 {% if brooklyn_version contains 'SNAPSHOT' %}
-Expand the `tar.gz` archive (note: as this is a -SNAPSHOT version, your filename will be slightly different):
+Extract the `tar.gz` archive (note: as this is a -SNAPSHOT version, your filename will be slightly different):
 {% else %}
-Expand the `tar.gz` archive:
+Extract the `tar.gz` archive and navigate into the expanded `apache-brooklyn-{{ site.brooklyn-version }}` folder.
 {% endif %}
 
 {% if brooklyn_version contains 'SNAPSHOT' %}
 {% highlight bash %}
 $ tar -zxf apache-brooklyn-dist-{{ site.brooklyn-version }}-timestamp-dist.tar.gz
+$ cd apache-brooklyn-{{ site.brooklyn.version }}
 {% endhighlight %}
 {% else %}
 {% highlight bash %}
 $ tar -zxf apache-brooklyn-{{ site.brooklyn-version }}-dist.tar.gz
+$ cd apache-brooklyn-{{ site.brooklyn.version }}
 {% endhighlight %}
 {% endif %}
 
-This will create a `apache-brooklyn-{{ site.brooklyn-version }}` folder.
-
-**Note**: You'll need a Java JRE or SDK installed (version 7 or later), as Brooklyn is Java under the covers.
+**Note**: You'll need a [Java Runtime Environment (JRE)](https://www.java.com){:target="_blank"} installed (version 7 or later), as Brooklyn is Java under the covers.
 
 It is not necessary at this time, but depending on what you are going to do, 
 you may wish to set up other configuration options first:
@@ -42,24 +73,61 @@ you may wish to set up other configuration options first:
 * [Persistence](../ops/persistence/)
 * [Cloud credentials](../ops/locations/)
 
+</div>
+</div>
+
+---
+
 ## Launch Apache Brooklyn
 
-Now start Brooklyn with the following command:
+<ul class="nav nav-tabs">
+    <li class="active impl-1-tab"><a data-target="#impl-1, .impl-1-tab" data-toggle="tab" href="#">Vagrant</a></li>
+    <li class="impl-2-tab"><a data-target="#impl-2, .impl-2-tab" data-toggle="tab" href="#">Local Install</a></li>
+</ul>
+
+<div class="tab-content">
+<div id="impl-1" class="tab-pane fade in active">
+
+Now start Apache Brooklyn with the following command:
+
+{% highlight bash %}
+$ vagrant up brooklyn
+{% endhighlight %}
+
+You can see if Apache Brooklyn launched OK by viewing the log files with the command
+
+{% highlight bash %}
+$ ssh brooklyn --command 'sudo journalctl -n15 -f -u brooklyn'
+{% endhighlight %}
+
+</div>
+<div id="impl-2" class="tab-pane fade">
+
+Now start Apache Brooklyn with the following command:
 
 {% highlight bash %}
-$ cd apache-brooklyn-{{ site.brooklyn.version }}
 $ bin/brooklyn launch
 {% endhighlight %}
 
-Brooklyn will output the address of the management interface:
+The application should then output it's log into the console
+
+</div>
+</div>
+
+---
+
+## Control Apache Brooklyn
+
+Apache Brooklyn has a web console which can be used to control the application. The Brooklyn log will contain the address of the management interface:
 
 <pre>
-INFO  Starting brooklyn web-console on loopback interface because no security config is set
-INFO  Started Brooklyn console at http://127.0.0.1:8081/, running classpath://brooklyn.war and []
+INFO  Started Brooklyn console at http://127.0.0.1:8081/, running classpath://brooklyn.war
 </pre>
 
-### Next
+By default it can be accessed by opening [127.0.0.1:8081](http://127.0.0.1:8081){:target="_blank"} in your web browser. 
+
+The rest of this getting started guide uses the Apache Brooklyn command line interface. To use this, download and install the tool as described on [the download page]({{site.path.website}}/download/){:target="_blank"}.
+
+## Next
 
-Next, open the web console on [127.0.0.1:8081](http://127.0.0.1:8081). 
-No applications have been deployed yet, so the "Create Application" dialog opens automatically:
-let's remedy this by **[deploying a blueprint](blueprints.html)**.
\ No newline at end of file
+The first thing we want to do with Brooklyn is **[deploy a blueprint](blueprints.html)**.