-----Original Message-----
From: Aled Sage [mailto:[email protected]]
Sent: 2014 m. gruodžio 2 d. 11:55
To: [email protected]
Subject: Re: Does Brooklyn ignore provisioning properties in YAML?
Hi Elvinas,
_*Non-java developers*_
Brooklyn should be accessible to non-java developers, particularly
people who are wiring together existing entities into an application
and
for people configuring the use of Puppet/Chef/etc for the individual
servers.
Saying that, there is certainly room for improvement - feedback like
yours is invaluable for that.
Where an entity has been written in Java, if there are problems with it
then it does lead the person debugging into that Java code. We are
looking to have a clearer separation of the Java from the bash etc, so
it's easier to debug and customize for non-java developers.
_*No which*_
Interesting - we'll look at how we can re-write the bash utilities to
not rely on `which` being available!
Do you want to create an issue on
https://issues.apache.org/jira/browse/BROOKLYN?
_*Download URLs*_
You can override the download url (e.g. for JBoss AS 7 install) by
setting in yaml brooklyn.config the `download.url` configuration
option.
It is also possible to configure Brooklyn to point at a different repo,
either for everything or for specific entities, in brooklyn.properties.
e.g. something like:
brooklyn.downloads.entity.JBoss7Server.url=http://myserver/jboss-as-
${version}.tar.gz
_*catalog.xml*_
Note that the catalog.xml is usually not the best way to give
customizations for entities (such as download URLs or run dir).
You can think of the catalog as just a set of pointers to existing
blueprints (which could be in Java or moving forwards more in yaml).
The
catalog specifies things like the Java class (or YAML) that defines the
application, the catalog version, icons, descriptions, etc.
_*Use of SingleWebServerExample*_
All the SingleWebServerExample does is to create an application with a
single JBoss 7 server in it. If that's what you want, an alternative
would be to use the yaml below:
location: localhost
services:
- type: brooklyn.entity.webapp.jboss.JBoss7Server
brooklyn.config:
war: classpath://hello-world-webapp.war
http.port: 8080+
download.url:
file://path/on/localhost/to/jboss-as-7.1.1.Final.tar.gz
You wrote:
"should not it fail instead of silently changing provisioning
type
(SimpleWebServer -> JBoss7)?"
Hopefully this clears it up - the SimpleWebServerExample is an app that
just creates a JBoss7Server, hence that being what is created.
_*
"*__*silently attempted to install JBoss7*__*"*_
I'm not sure I follow this comment. Is this because you tried to
redefine SingleWebServerExample in catalog.xml?
The reference to SingleWebServerExample will continue to point at that
Java class.
See "Use of SingleWebServerExample" above.
_*Ignoring PDP attributes on io.brooklyn.camp.spi.pdp.Service*_
Not sure off hand why it ignored these.
You could try changing the yaml to including `provisioning.properties`
nested inside a `brooklyn.config` section.
I'll try to reproduce this later.
Right now, I have another call I need to jump on!
Aled
On 02/12/2014 07:52, Elvinas Piliponis wrote:
Hello,
Again either I am doing something wrong way (at least logs indicate
that), either I do not understand Brooklyn. I am no Java programmer
and most likely not intend to become one. Can this tool be useful for
me without resorting to rewrite application deployments scenarios in
Java? I know that we will use Brooklyn and will have some Java guys
to
code that that will be separate use case. At the moment I am looking
at infrastructure deployment orchestration. We already have server
deployment defined with Puppet but that covers single server only and
all interdependencies must be covered manually.
I am trying to provision default demo application with custom
provisioning properties.
Launching Brooklin SimpleWebserver app from command line works:
% ${BROOKLYN_HOME}/bin/brooklyn launch --app
brooklyn.demo.SingleWebServerExample --location localhost
However it fails to build and exists as fedora 19 cloud image does
not
have which utility. So I have tried to launch Brooklyn specify it in
YAML through web page and got two issues:
1.I failed to understand how to specify local path for application on
server, instead of picking up from some web repo. There might be use
cases where no internet access will be available and only local files
should be used. Specifying
“<entry>/opt/brooklyn/examples/brooklyn-examples/simple-web-
cluster/target/classes</entry>”
in catalog.xml did not help.
I have tried to the following YAML but saw that Brooklyn did not bite
my attempt and silently attempted to install JBoss7…
name: xStream-install
location: openstack
services:
- type: brooklyn.demo.SingleWebServerExample
provisioning.properties:
minRam: 512
minCores: 1
minDisk: 10
autoAssignFloatingIp: true
imageId: RegionOne/15df41d1-d5e1-4b1e-8427-1ffdd2eb011c
hardwareId: RegionOne/24b24f68-535a-4c73-a052-52022240a2e3
networkName: 0869c8a0-47ab-4eb1-a6eb-0072172cd880
keyPair: brooklyn
securityGroups: default
privateKeyFile: /opt/brooklyn/brooklyn.pem
loginUser: root
2.While looking at status I saw that deployment failed to reach
contactable state in 2 minutes. Looking at end of logs shoed that
installation failed due to lack of “which”. Then I wondered why as I
have explicitly specified updated image in YAML with “which”. Upon
app
initialization I saw the following lines:
2014-12-01 14:41:36,159 WARN i.b.c.b.s.c.BrooklynEntityMatcher
[brooklyn-jetty-server-8081-qtp1846097386-22]: Ignoring PDP
attributes
on io.brooklyn.camp.spi.pdp
.Service@3a9c60b5[name=<null>,description=<null>,serviceType=brooklyn.d
emo.SingleWebServerExample,characteristics=[],customAttributes={provisi
oning.properties={mi
nRam=512, minCores=1, minDisk=10, autoAssignFloatingIp=true,
imageId=RegionOne/15df41d1-d5e1-4b1e-8427-1ffdd2eb011c,
hardwareId=RegionOne/24b24f68-535a-4c73-a052-
52022240a2e3, networkName=0869c8a0-47ab-4eb1-a6eb-0072172cd880,
keyPair=brooklyn, securityGroups=default,
privateKeyFile=/opt/brooklyn/brooklyn.pem, loginUser=roo
t}}]: {provisioning.properties={minRam=512, minCores=1, minDisk=10,
autoAssignFloatingIp=true,
imageId=RegionOne/15df41d1-d5e1-4b1e-8427-1ffdd2eb011c, hardwareId=
RegionOne/24b24f68-535a-4c73-a052-52022240a2e3,
networkName=0869c8a0-47ab-4eb1-a6eb-0072172cd880, keyPair=brooklyn,
securityGroups=default, privateKeyFile=/opt/br
ooklyn/brooklyn.pem, loginUser=root}}
….. some lines lower ….
2014-12-01 14:41:36,256 DEBUG b.l.jclouds.JcloudsLocation
[brooklyn-execmanager-KFABVyQR-82]: jclouds using templateBuilder
PortableTemplateBuilder[ports=[22], im
ageId=RegionOne/d5163d69-4b2c-4269-99ad-88506973037f,
hardwareId=RegionOne/24b24f68-535a-4c73-a052-52022240a2e3,
imageChooserFunction=brooklyn.location.jclouds.Br
ooklynImageChooser$3@6f8c09b2] for provisioning in
JcloudsLocation[openstack-
nova:http://10.12.208.5:5000/v2.0:brooklyn:brooklyn/openstack-
nova:http://10.12.208.5
:5000/v2.0@Nv2F1oKb] for
openstack-
nova:http://10.12.208.5:5000/v2.0@JBoss7ServerImpl{id=aQq5sjap}
Search for warning message does not reveal anything obvious:
if (!attrs.isEmpty()) {
log.warn("Ignoring PDP attributes on
"+deploymentPlanItem+": "+attrs);
Questions:
a)Does Brooklyn ignores provisioning.properties because it failed to
find right application?
b)Should not it fail instead of silently changing provisioning type
(SimpleWebServer -> JBoss7)?
Thank you
*_________________________________________*
*Elvinas Piliponis*
Description: Description: Description: Description: Description:
Description: Description: Description: Description:
cid:[email protected] <http://www.virtustream.com/>
Studentų g. 59-B707, LT-51365, Kaunas *| *Lietuva
Email: [email protected]
<mailto:[email protected]> *|*Mobile: +370 69807947
*The information contained in this electronic mail transmission may
be
privileged and confidential, and therefore, protected **from
disclosure.*If you have received this communication in error, please
notify us immediately by replying to this message and deleting the
email and its attachments from all computers without copying or
disclosing it.