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/brooklyn-dist/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-dist/commit/e9fd416e Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-dist/tree/e9fd416e Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-dist/diff/e9fd416e Branch: refs/heads/master Commit: e9fd416ee2a407eb27bf0454dc47d8f7f09997e7 Parents: fbdd2f7 Author: John McCabe <[email protected]> Authored: Thu Jan 21 22:50:59 2016 +0000 Committer: John McCabe <[email protected]> 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/brooklyn-dist/blob/e9fd416e/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/brooklyn-dist/blob/e9fd416e/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/brooklyn-dist/blob/e9fd416e/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/brooklyn-dist/blob/e9fd416e/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/brooklyn-dist/blob/e9fd416e/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/brooklyn-dist/blob/e9fd416e/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-somet1mesarand0mu1dh...@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,[email protected].{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/brooklyn-dist/blob/e9fd416e/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/brooklyn-dist/blob/e9fd416e/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/brooklyn-dist/blob/e9fd416e/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 +...
