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)
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.
Attachments
Issue Links
- links to