나는 (평소와 같이, 무서운 메시지) 오류가 발생합니다 ansible 각본을 가지고정확한 YAML 파일로 올바른 게임 플레이 북을 만들 수 있습니까? 구문 오류는 제쳐두고 있습니까?
ERROR! unexpected parameter type in action: <class 'ansible.parsing.yaml.objects.AnsibleSequence'>
The error appears to have been in '/root/myplaybook.yml': line 17, column 7, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
# configure rsyslog
- name: configure rsyslog to expose events on port 42000
^here
문제의 라인은 내가이에있는 다른 라인과 다른 플레이 북의 전형적인 :
# prepare environment
# configure rsyslog
- name: configure rsyslog to expose events on port 42000
lineinfile:
- create: yes
- dest: /etc/rsyslog.d/expose-42000.conf
- line: "*.* @127.0.0.1:42000"
notify:
- restart rsyslog
파일은 3 개의 온라인 체커에 의해 검증되므로 YAML 오류가 없습니다. 이 사실이 파일이 올바른 장난 플레이 북이되기에 충분한가?
정확한 YAML 파일이 구문 오류 (예 : 존재하지 않는 모듈) 또는 YAML의 확장 (예 : - name: blah blah blah
은 YAMl 관점에서는 괜찮지 만 2 가지 이상의 단어를 포함하고 있기 때문에 (에 의해 예를 든다.)
다른 말로하면 다음과 같은 경우를 검사한다 : YAML 구문 가능한 키워드는 괜찮지 만, 어떤 제한을 가짐으로써 YAML 구문에 완전히 부합하지 않는다.
편집 : 나는 그의 대답에 콘스탄틴이 발견 한 오류가있었습니다. 나는 YAML 파일 자체에 제약을 두지 않는다는 것을 이해하는 데 도움이 되었기 때문에이 질문을 그 자리에 남겨 둘 것입니다. 그래서 오류가있을 때 유효성 검사가 이루어 지지만 실제로는 확실한 구문 오류 (또는 논리적, 내 경우처럼).
당신의 Anabilities가 좋지 않고 Anabilities가 YAML 구문을 사용한다고 가정하면 마지막에 질문이 의미가 없습니다. 그것을 명확히 할 수 있습니까? –
@MattSchuchard : 나는 Konstantin이 내가 오류가 있다는 것을 알았 기 때문에 기쁘다. 그리고 이것이 내가 앞으로 나아갈 수 있도록 도울 것이다. 나의 일반적인 요지는 오류 메시지가 "기대 된 매개 변수 유형"에 다소 무작위로 가리키고 있기 때문이다. (필자가 실제로 가지고있는) 구문 오류가 남아 있거나 YAML 파일 자체에 특정 제한을 두는 사실을 고려해야하는 경우. 대답은 "아니오"로 표시되므로 YAML 유효성 검사가 끝나면 구문 (또는 제 경우와 같은 논리) 오류를 찾아야합니다. – WoJ