Нужна помощь, почему этот yaml терпит неудачу

#yaml

Вопрос:

Ошибка, по-видимому, находится в «/home/labdude/vagansible/k8ioTest1/kubernetes-setup/master-playbook.yml»: строка 71, столбец 12, но может быть в другом месте файла в зависимости от точной проблемы синтаксиса.

Оскорбительная строка, по-видимому,:

 when: ansible_swaptotal_mb > 0
 - name: Add an apt signing key for Kubernetes
       ^ here
 

Комментарии:

1. Вы пробовали использовать онлайн-линтеры yaml? yamllint.com

2. Да, это первое, что я попробовал.

3. @LearningNoob Вы не должны рекомендовать yamllint.com, известно, что у него есть проблемы с синтаксическим анализом.

Ответ №1:

У них ключ сопоставления when имеет простой (т. Е. не заключенный в кавычки) скаляр в качестве аргумента. Такой скаляр может быть многострочным, но имеет несколько ограничений, в том числе то, что он не может включать индикатор отображения, за которым следует пробел ( : ). Так что либо используйте:

 when: "ansible_swaptotal_mb > 0
 - name: Add an apt signing key for Kubernetes"
 

или избавьтесь от места после :

 when: ansible_swaptotal_mb > 0
 - name:Add an apt signing key for Kubernetes
 

или отрегулируйте отступ строки, начиная с - name , если предполагается, что это элемент последовательности, состоящий из записи сопоставления (выделите несколько позиций, соответствующих другим элементам последовательности).