For location properties in yaml, an example would be things like in the test [1]. e.g.

   location:
      softlayer:ams01:
        imageId: CENTOS_6_64
        minRam: 4096
        minCores: 2
   services:
   - type: brooklyn.entity.machine.MachineEntity
      displayName: machine1

For configuration options that can be included when using a jclouds location, see the config options defined in [2,3].

So yes, you can sepecify any of imageId, privateKeyFile, loginUser, loginUser, loginUser.password, hardwareId, etc.

These can be put in the brooklyn.properties file instead - my rule of thumb is whether it is a global configuration (e.g. I always want to use a specific ssh key with this cloud), or whether I want to vary it for different applications being deployed.

Aled

[1] https://github.com/apache/incubator-brooklyn/blob/master/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/LocationsYamlTest.java#L103-117 [2] https://github.com/apache/incubator-brooklyn/blob/master/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocationConfig.java [3] https://github.com/apache/incubator-brooklyn/blob/master/core/src/main/java/brooklyn/location/cloud/CloudLocationConfig.java


On 27/11/2014 13:57, Richard Downer wrote:
Elvinas,

Sorry for the wait, and sorry that you're still having problems. I
have managed to reproduce the problem you're seeing, so I'll
investigate some possible fixes and get back to you.

Regarding your second question - I know that some location properties
can be given in the YAML but I'm not sure what. I'll try and find an
answer for that too.

Richard.


On 24 November 2014 at 08:30, Elvinas Piliponis
<[email protected]> wrote:
Hello again,

Hiding second network (removing shared property) allowed to start instance. So 
it seems network ID is lost somewhere in Brooklyn and does not reach openstack.

For the reference: What can be specified in application YAML file? Can I 
specify things like image, keyfile, login user, hardware ID in YAML or should I 
hardcode those in brooklyn.properties file?

Thank you

_________________________________________
Elvinas Piliponis

Studentų  g. 59-B707, LT-51365, Kaunas | Lietuva
Email: [email protected] | Mobile: +370 69807947

-----Original Message-----
From: Elvinas Piliponis
Sent: 2014 m. lapkričio 24 d. 10:21
To: [email protected]
Subject: RE: Brooklyn fails to start Openstack instances due to
specific network is not selected

Hello,

Thanks for response. Unfortunately it did not help. I have tried:

Specify network in brooklyn.preferences (reloaded and restarted
service):
As RegionOne/UUID or simply UUID

In YAML
     networks:
       - network: RegionOne/UUID
Or
     networks:
       - network: UUID

BTW error is different for different users:

Admin user is getting:
ExecutionException on brooklyn-m8nh-simple-vm3-lv6m-vm-wlls-918:
java.util.concurrent.ExecutionException:
org.jclouds.http.HttpResponseException: command: POST
http://10.12.208.5:8774/v2/7053442c99914d4f8a64c6bc51a96d25/servers
HTTP/1.1 failed with response: HTTP/1.1 400 null; content:
[{"badRequest": {"message": "Multiple possible networks found, use a
Network ID to be more specific.", "code": 400}}]

Non admin user gets:
ExecutionException on brooklyn-leml-simple-vm3-m9qy-vm-y7sp-810:
java.util.concurrent.ExecutionException:
org.jclouds.rest.AuthorizationException: {"forbidden": {"message": "It
is not allowed to create an interface on external network 83aa077e-
0742-4aaa-8774-6ccdc3fd7800", "code": 403}}

If needed I can send full error messages and logs.

I will try to hide public network (although in that case I am wondering
how would I connect to instance).

Thank you

_________________________________________
Elvinas Piliponis

Studentų  g. 59-B707, LT-51365, Kaunas | Lietuva
Email: [email protected] | Mobile: +370 69807947

-----Original Message-----
From: Richard Downer [mailto:[email protected]]
Sent: 2014 m. lapkričio 21 d. 14:14
To: Brooklyn dev
Subject: Re: Brooklyn fails to start Openstack instances due to
specific network is not selected

Hi Elvinas,

Thanks for your question. I've poked around in the source code for
both Brooklyn and jclouds. The networkName property is being passed
through to the jclouds "network" template option, and it seems that
jclouds'
OpenStack Nova driver is interpreting this value as the network "UUID
defined by Neutron".

So I think that the solution is to change the "networkName" property
in brooklyn.properties to refer to the network by its UUID rather
than
by its name.

I don't think any of my available OpenStack instances have multiple
networks so I've not yet been able to test this theory, so perhaps
you
could give it a try and let me know if it makes a difference?

Richard.


On 20 November 2014 15:00, Elvinas Piliponis
<[email protected]> wrote:
Hello,

Not sure if I have made something weird, however I am getting
errors
which are explicitly related to selecting Network ID or errors
indicates that.
I am using the following YAML:
         name: simple-vm3
         location: openstack
         services:
         - type: brooklyn.entity.basic.EmptySoftwareProcess
           name: VM
           provisioning.properties:
             minRam: 512
             minCores: 1
             minDisk: 10
             networks:
               - network: private

Brooklyn properties:
brooklyn.location.named.openstack=jclouds:openstack-
nova:http://IP_ADD
R:5000/v2.0 brooklyn.location.named.openstack.identity=admin:admin
brooklyn.location.named.openstack.credential=********
brooklyn.location.named.openstack.imageId=RegionOne/d5163d69-4b2c-
4269
-99ad-88506973037f brooklyn.location.named.openstack.keyPair=admin
brooklyn.location.named.openstack.securityGroups=default

brooklyn.location.named.openstack.loginUser.privateKeyFile=/opt/brookl
yn/admin.pem brooklyn.location.named.openstack.loginUser=fedora
brooklyn.location.named.openstack.hardwareId=RegionOne/24b24f68-
535a
-
4
c73-a052-52022240a2e3
brooklyn.location.named.openstack.networkName=private


I have attempted to add network definition to the example YAML from
Brooklyn web page. It did not help.
OpenStack is set up to have 2 networks: private and external
shared,
from where Floating IP's are to be assigned. I am able to start
instances with admin and non admin user on OpenStack and networking
seems to be working.

When setting Brooklyn to use normal tenant user, application fails
with:
Failure running task invoking start[locations] on 1 node
(aBM5rC8q):
org.jclouds.compute.RunNodesException: error running 1 node
group(brooklyn-wnok-simple-vm3-nkqw-vm-bsuf) location(RegionOne)
image(d5163d69-4b2c-4269-99ad-88506973037f)
size(24b24f68-535a-4c73-a052-52022240a2e3)
options({loginUser=fedora, loginPrivateKeyPresent=true,
scriptPresent=true,
userMetadata={Name=brooklyn-wnok-simple-vm3-nkqw-vm-bsuf-UcLq},
autoAssignFloatingIp=false, securityGroupNames=[default],
keyPairName=brooklyn, configDrive=false}) Execution failures: 1)
ExecutionException on brooklyn-wnok-simple-vm3-nkqw-vm-bsuf-390:
java.util.concurrent.ExecutionException:
org.jclouds.rest.AuthorizationException: {"forbidden": {"message":
"It
is not allowed to create an interface on external network
83aa077e-0742-4aaa-8774-6ccdc3fd7800", "code": 403}}

According to some knowledge bases this happens when explicit
network
id is not specified in request and shared external network is
attempted to be used. Request fails as _Member_ user is not allowed
to
modify external net.

If I select to use admin user it fails a litle further and more
explicitly.
Failure running task invoking start[locations] on 1 node
(bGa2UU8o):
org.jclouds.compute.RunNodesException: error running 1 node
group(brooklyn-gdqq-simple-vm2-eo7v-vm-sswy) location(RegionOne)
image(d5163d69-4b2c-4269-99ad-88506973037f)
size(24b24f68-535a-4c73-a052-52022240a2e3)
options({loginUser=fedora, loginPrivateKeyPresent=true,
scriptPresent=true,
userMetadata={Name=brooklyn-gdqq-simple-vm2-eo7v-vm-sswy-Q526},
autoAssignFloatingIp=false, securityGroupNames=[default],
keyPairName=admin, configDrive=false}) Execution failures: 1)
ExecutionException on brooklyn-gdqq-simple-vm2-eo7v-vm-sswy-639:
java.util.concurrent.ExecutionException:
org.jclouds.http.HttpResponseException: command: POST
http://10.12.208.5:8774/v2/7053442c99914d4f8a64c6bc51a96d25/servers
HTTP/1.1 failed with response: HTTP/1.1 400 null; content:
[{"badRequest": {"message": "Multiple possible networks found, use
a
Network ID to be more specific.", "code": 400}}] at

com.google.common.util.concurrent.AbstractFuture$Sync.getValue(Abstrac
tFuture.java:299) at

Any ideas how to specify Network ID? Or am I doing everything wrong
way?
Thank you

_________________________________________
Elvinas Piliponis

Studentų  g. 59-B707, LT-51365, Kaunas | Lietuva
Email: [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.
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.
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.

Reply via email to