[
https://issues.apache.org/jira/browse/BROOKLYN-503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16018899#comment-16018899
]
Geoff Macartney commented on BROOKLYN-503:
------------------------------------------
One possible workaround here would be to initiate the wordpress using a
separate {{VanillaSoftwareProcess}} entity, which _will_ get the right shell
environment. Something like
{code}
name: wordpress
location: ....
services:
- id: mysql
type: org.apache.brooklyn.entity.cm.salt.SaltEntity
name: mysql
start_states:
- mysql
stop_states:
- mysql.disabled
formulas:
- https://github.com/saltstack-formulas/mysql-formula/archive/master.tar.gz
pillars:
- mysql
pillarUrls:
- ftp://xxx/wordpress-example.tar
- type: brooklyn.entity.basic.SameServerEntity
name: Entities
brooklyn.children:
- id: wp-prereqs
name: wordpress-prereqs
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 - omitted here but started in wp-boot
- apache
- apache.config
- apache.vhosts.standard
pillars:
- php
- wordpress
- apache
- mysql
pillarUrls:
- ftp://xxx/filezilla.tar
- type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
id: wp-boot
name: wp-boot
brooklyn.config:
start.latch:
$brooklyn:entity("wp-prereqs").attributeWhenReady("service.isUp")
launch.latch: $brooklyn:entity("mysql").attributeWhenReady("service.isUp")
shell.env:
MYSQL_URL: $brooklyn:entity("mysql").attributeWhenReady("host.name")
launch.command:
sudo salt-call state.apply wordpress
checkRunning.command:
true
{code}
> 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)