The preferred installation is when you have good internet links:
- Fork, clone, and/or download from github.com
[ | |
{ | |
"type" : "DeploymentPlan" | |
"href" : "data://...", | |
}, | |
{ | |
"type" : "Requirement", | |
"id" : "file1", | |
"href" : "data://...", | |
}, |
# yaml variant, similar to #3 below, with an explicit load balancer | |
# this format makes it much easier for mortals to read and write, | |
# based significantly on https://wiki.openstack.org/wiki/Heat/DSL | |
name: "Hello WebApp Cluster with Database" | |
components: | |
# key here equivalent to supplying a map with this as the value for key 'id' | |
hello_war: | |
content: hello.war | |
requires: | |
- type: com.example.java:WarDeploymentRequirement # explicit req type says to "deploy" |
public class NewMapRSyntaxPlaying { | |
{ | |
// 0.5.0-rc.1 | |
// option 1 -- clusters with spec | |
// core = addChild(cluster( |
// current syntax | |
MySqlNode mysql = (MySqlNode) addChild( | |
getEntityManager().createEntity( | |
BasicEntitySpec.newInstance(MySqlNode.class) | |
.configure(MySqlNode.CREATION_SCRIPT_URL, getConfig(DB_SETUP_SQL_URL))) ); | |
// step 1 (uncontroversial?): allow addChild to take a spec directly | |
MySqlNode mysql1 = (MySqlNode) addChild( | |
BasicEntitySpec.newInstance(MySqlNode.class) | |
.configure(MySqlNode.CREATION_SCRIPT_URL, getConfig(DB_SETUP_SQL_URL)) ); |
BrooklynServerDetails details = BrooklynLauncher.newLauncher(). | |
// to add a custom webapp | |
webapp("/cdh", "classpath://brooklyn-cdh-frontend.war"). | |
webconsolePort(CommandLineUtil.getCommandLineOption(args, "--port", "8081+")). | |
launch(); | |
// then things below linked to buttons / etc in app | |
// get the mgmt context (and also the webconsole URL) from this details container | |
ManagementContext mgmt; |
Rebindable (Entity) | |
- REBINDING_STATUS sensor -> empty (not rebinding), REBINDING, COMPLETED, FAILED | |
- getRebindLocationGenerator() -> returns a generator suitable for rebinding this entity | |
(where the generator produces a RebindLocation initially, but might also produce json/xml; | |
and allow interrogation about whether all descendents etc are rebindable) | |
RebindLocation { | |
/** takes no action but says whether it can rebind */ | |
boolean canRebind(Entity); | |
/** sets config & sensors on entity, returns the locations where the entity should proceed to start |
#/bin/bash | |
help() { | |
echo "pss [command [option]]+ -- quickly list, find and kill processes" | |
echo "commands:" | |
echo " h -- help" | |
echo " g X -- grep X" | |
echo " gi X -- grep -i X (ignore case)" | |
echo " gv X -- grep -v X (show non-matching)" | |
echo " g2 X Y -- grep for X or Y (also g3, g4)" | |
echo " k -- kill" |
{ | |
"name":"web-and-db", | |
"entities":[{ | |
"type":"brooklyn.entity.webapp.ElasticJavaWebAppService", | |
"config":{ | |
"java.options":{ | |
"type":"Map", | |
"operation":"put", | |
"values":{ | |
"brooklyn.example.db.url":{ |
new ComputeServiceContextFactory().createContext("hpcloud-compute", | |
keyId, credential). getComputeService(). listNodes(); | |
gives: | |
ERROR java.util.NoSuchElementException: | |
apiType compute not found in catalog [{type=identity, name=Identity, endpoints=[{versionId=2.0, region=region-a.geo-1, publicURL=https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/, internalURL=null, adminURL=null, tenantId=null, versionInfo=https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/, versionList=https://region-a.geo-1.identity.hpcloudsvc.com:35357}]}] |