[ 
https://issues.apache.org/jira/browse/BROOKLYN-503?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andres Garcia Garcia updated BROOKLYN-503:
------------------------------------------
    Description: 
I am using Brooklyn to deploy servers configured with Salt.

I am trying to deploy one VM with a web server and another with MySQL, and link 
them together using env variables in the salt pillars.

Based on the sample templates, this is my yaml.

name: Salt LAMP deployment (Brooklyn Example)

{code}
services:
- id: mysql
  name: mysql
  type: org.apache.brooklyn.entity.cm.salt.SaltEntity
  formulas:
  - https://github.com/saltstack-formulas/mysql-formula/archive/master.tar.gz
  start_states:
  - mysql
  pillars:
  - mysql
  pillarUrls:
  - ftp://xxx/wordpress-example.tar
- id: wordpress
  name: wordpress
  type: org.apache.brooklyn.entity.cm.salt.SaltEntity
  formulas:
  - https://github.com/saltstack-formulas/php-formula/archive/master.tar.gz
  - 
https://github.com/saltstack-formulas/wordpress-formula/archive/master.tar.gz
  - https://github.com/saltstack-formulas/apache-formula/archive/master.tar.gz
  - https://github.com/saltstack-formulas/mysql-formula/archive/master.tar.gz
  start_states:
  - mysql.client
  - php.ng
  - php.ng.mysql
  - wordpress
  - apache
  - apache.config
  - apache.vhosts.standard
  pillars:
  - php
  - wordpress
  - apache
  - mysql
  pillarUrls:
  - ftp://xxx/filezilla.tar
  brooklyn.config:
    shell.env:
      MYSQL_URL: $brooklyn:entity("mysql").attributeWhenReady("host.name")

location:
  jclouds:aws-ec2:
    identity:     xxx
    credential:   xxx
    region:       us-west-2
    inboundPorts:
      - 22
      - 80
      - 3306
    hardwareId:   t2.small
{code}


And then, inside the pillars, I configure them as follows

{code}
wordpress:
    sites:
            username: xxx
            password: xxx
            database: xxx
            dbhost: {{ salt['environ.get']('MYSQL_URL') }}
{code}

However, the MYSQL_URL env variable is resolved to none.

I got word from svet in the IRC channel that SaltEntity doesn't support 
shell.env. I think it would be really helpful to make this option available in 
order to configure multinode deployments with Salt.

  was:
I am using Brooklyn to deploy servers configured with Salt.

I am trying to deploy one VM with a web server and another with MySQL, and link 
them together using env variables in the salt pillars.

Based on the sample templates, this is my yaml.

name: Salt LAMP deployment (Brooklyn Example)

services:
- id: mysql
  name: mysql
  type: org.apache.brooklyn.entity.cm.salt.SaltEntity
  formulas:
  - https://github.com/saltstack-formulas/mysql-formula/archive/master.tar.gz
  start_states:
  - mysql
  pillars:
  - mysql
  pillarUrls:
  - ftp://xxx/wordpress-example.tar
- id: wordpress
  name: wordpress
  type: org.apache.brooklyn.entity.cm.salt.SaltEntity
  formulas:
  - https://github.com/saltstack-formulas/php-formula/archive/master.tar.gz
  - 
https://github.com/saltstack-formulas/wordpress-formula/archive/master.tar.gz
  - https://github.com/saltstack-formulas/apache-formula/archive/master.tar.gz
  - https://github.com/saltstack-formulas/mysql-formula/archive/master.tar.gz
  start_states:
  - mysql.client
  - php.ng
  - php.ng.mysql
  - wordpress
  - apache
  - apache.config
  - apache.vhosts.standard
  pillars:
  - php
  - wordpress
  - apache
  - mysql
  pillarUrls:
  - ftp://xxx/filezilla.tar
  brooklyn.config:
    shell.env:
      MYSQL_URL: $brooklyn:entity("mysql").attributeWhenReady("host.name")

location:
  jclouds:aws-ec2:
    identity:     xxx
    credential:   xxx
    region:       us-west-2
    inboundPorts:
      - 22
      - 80
      - 3306
    hardwareId:   t2.small



And then, inside the pillars, I configure them as follows

wordpress:
    sites:
            username: xxx
            password: xxx
            database: xxx
            dbhost: {{ salt['environ.get']('MYSQL_URL') }}

However, the MYSQL_URL env variable is resolved to none.

I got word from svet in the IRC channel that SaltEntity doesn't support 
shell.env. I think it would be really helpful to make this option available in 
order to configure multinode deployments with Salt.


> Shell.env should work with SaltEntity
> -------------------------------------
>
>                 Key: BROOKLYN-503
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-503
>             Project: Brooklyn
>          Issue Type: Improvement
>    Affects Versions: 0.10.0
>         Environment: Ubuntu 14.04
>            Reporter: Andres Garcia Garcia
>              Labels: env, salted
>
> I am using Brooklyn to deploy servers configured with Salt.
> I am trying to deploy one VM with a web server and another with MySQL, and 
> link them together using env variables in the salt pillars.
> Based on the sample templates, this is my yaml.
> name: Salt LAMP deployment (Brooklyn Example)
> {code}
> services:
> - id: mysql
>   name: mysql
>   type: org.apache.brooklyn.entity.cm.salt.SaltEntity
>   formulas:
>   - https://github.com/saltstack-formulas/mysql-formula/archive/master.tar.gz
>   start_states:
>   - mysql
>   pillars:
>   - mysql
>   pillarUrls:
>   - ftp://xxx/wordpress-example.tar
> - id: wordpress
>   name: wordpress
>   type: org.apache.brooklyn.entity.cm.salt.SaltEntity
>   formulas:
>   - https://github.com/saltstack-formulas/php-formula/archive/master.tar.gz
>   - 
> https://github.com/saltstack-formulas/wordpress-formula/archive/master.tar.gz
>   - https://github.com/saltstack-formulas/apache-formula/archive/master.tar.gz
>   - https://github.com/saltstack-formulas/mysql-formula/archive/master.tar.gz
>   start_states:
>   - mysql.client
>   - php.ng
>   - php.ng.mysql
>   - wordpress
>   - apache
>   - apache.config
>   - apache.vhosts.standard
>   pillars:
>   - php
>   - wordpress
>   - apache
>   - mysql
>   pillarUrls:
>   - ftp://xxx/filezilla.tar
>   brooklyn.config:
>     shell.env:
>       MYSQL_URL: $brooklyn:entity("mysql").attributeWhenReady("host.name")
> location:
>   jclouds:aws-ec2:
>     identity:     xxx
>     credential:   xxx
>     region:       us-west-2
>     inboundPorts:
>       - 22
>       - 80
>       - 3306
>     hardwareId:   t2.small
> {code}
> And then, inside the pillars, I configure them as follows
> {code}
> wordpress:
>     sites:
>             username: xxx
>             password: xxx
>             database: xxx
>             dbhost: {{ salt['environ.get']('MYSQL_URL') }}
> {code}
> However, the MYSQL_URL env variable is resolved to none.
> I got word from svet in the IRC channel that SaltEntity doesn't support 
> shell.env. I think it would be really helpful to make this option available 
> in order to configure multinode deployments with Salt.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to