0

I'm running this command:

- name: Save to tmp/charts
  shell: '{{helm_cli_path}}/helm --kubeconfig {{kube_config}} install {{install-name}} {{helm_chart}}/ --dry-run --debug > {{charts_dir}}/{{install_name}}.yaml'

to store helm gerenated yamls using shell module for all helm charts, which is a generalization of this command:

helm1 install <chart-name> <chart-path> --dry-run --debug > tmp/<chart-name>.yaml 

But I'm getting error:

fatal: [console.sb]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: Unable to look up a name or access an attribute in template string ({{helm_cli_path}}/helm --kubeconfig {{kube_config}} install {{install-name}} {{helm_chart}}/ --dry-run --debug > {{charts_dir}}/{{install_name}}.yaml).\nMake sure your variable name does not contain invalid characters like '-': unsupported operand type(s) for -:

I have made sure that all variables in {{ }} are correct and defined at correct places. Please suggest me the correct yaml task description / suitable ansible module to be used here.

medgai
  • 82
  • 4
  • 13
  • 2
    The error is because of the variable `install-name`. As it says you cannot use hyphen `-` character in variable names. – seshadri_c Jan 07 '21 at 09:56
  • Thanks @seshadri_c, i got this minor bug, missed it. – medgai Jan 07 '21 at 10:00
  • @mac_55 Was this the only problem in your question and did it fix the issue ? And to be 100% clear, it's not a bug, [it's a typo](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#creating-valid-variable-names). – Zeitounator Jan 07 '21 at 10:19

0 Answers0