Revision history [back]

click to hide/show revision 1
initial version

If you want to accomplish something similar using HOT templates, take a look at this template, which gathers a list of "minion" nodes and includes them in a configuration file on the master.

In general, to do this sort of thing you use the str_replace function inside the user_data property of your server. The str_replace function looks like this:

str_replace:
  template: "...template text..."
  params:
    param1: value1
    param2: value2

For anything more than a single line, you'll use YAML's | operator to insert literal text, like this:

str_replace:
  template: |
    #!/bin/sh

    echo param1 > some_file
    echo param2 > another_file
  params:
    param1: value1
    param2: value2

The values in the params dictionary can be set using the same functions you use in the outputs section of your template. For example:

user_data:
  str_replace:
    template: |
      #!/bin/sh

      echo SERVER_IP > some_file
    params:
      SERVER_IP: {get_attr: [my_server_eth0, fixed_ips, 0, ip_address]}