Salt: Propriedades para dados de pilar?

1

Eu gostaria de ter propriedades (atributos calculados) para os dados dos pilares do saltstack:

Nós estruturamos nossos sistemas assim:

systems:
  - customer: foo 
    project: bar
    stage: p
    ...
  - customer: foo
    project: bar
    stage: q
    ...

Eu gostaria de calcular uma variável "system.name" assim: "{customer}_{project}_{stage}" .

Do exemplo acima, eu obteria esses dois valores de cálculo:

  • system.name="foo_bar_p"
  • system.name="foo_bar_q"

Eu poderia acessar system.name como system.customer ou system.project .

Como fazer isso?

    
por guettli 05.02.2016 / 13:37

1 resposta

1

Eu não acho que você possa definir propriedades como gostaria.

No entanto, você pode calcular esse valor dentro de seu arquivo de estado ou seu modelo com comandos jinja. Por exemplo:

{% for system in salt['pillar.get']('systems', []) %}
  {% do system.update({'name': system.customer + '_' + system.project + '_' + system.stage}) %}
test_state_for_{{ system.name }}:
  test.configurable_test_state:
    - result: False
    - comment: {{ system }}
{% endfor %}

Neste exemplo, o system dict é atualizado (mesclado) com o valor name computed: system.customer + '_' + system.project + '_' + system.stage .

    
por 08.02.2016 / 12:09

Tags