By bitmap
I am trying to play with Ansible a little bit and I’ve created a test playbook but it is failing for some reason and I can’t figure out why. I’ve tested the connectivity between my control node and the worker node but when I try to run my playbook I get this error:
ERROR! Syntax Error while loading YAML.
mapping values are not allowed in this context
The error appears to have been in '/root/ansible/setup.yaml': line 9, column 12, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: Apache started
service:
^ here
I can not see anything wrong with the service part in my playbook. Here’s what I currently have:
---
- hosts: webservers
vars:
my_service: apache2
desired_state: started
tasks:
- name: Apache started
service:
name: "{{ my_service }}"
state: "{{ desired_state }}"
Has anyone seen this error before?
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Accepted Answer
Hello,
The playbook looks good, there’s only a slight indentation error, Yaml is very strict about the indentations and the spacing.
You need to make sure that you have two spaces before the - name
part of your playbook. So it would look something like this:
---
- hosts: webservers
vars:
my_service: apache2
desired_state: started
tasks:
- name: Apache started
service:
name: "{{ my_service }}"
state: "{{ desired_state }}"
Hope that this helps! Regards, Bobby
Hello, I am getting a similar error with td-agent file. I checked on various pages but not clear yet.
ERROR: ERROR! We were unable to read either as JSON nor YAML, these are the errors we got from each: JSON: Expecting value: line 1 column 1 (char 0)
Syntax Error while loading YAML. did not find expected <document start>
The error appears to be in '/address/to/path/log-aggregator.yml: be elsewhere in the file depending on the exact syntax problem.
<store>
@type s3
s3_bucket {{ s3_bucket_name }}
s3_region {{ s3_bucket_region }}
s3_object_key_format %{path}/name%{time_slice}.json.%{file_extension}
path platform/core_name_log_v1_1m/%Y/%m/%d/%H
time_slice_format %Y%m%d_%H%M
store_as gzip
include_tag_key true
tag_key tag
buffer_type file
buffer_path /var/log/td-agent/cello/core/name
buffer_queue_limit 512
buffer_chunk_limit 2m
flush_interval 10s
utc
grant_full_control id=jh11qfhj67676le1p092f2xxuxxxxxxxxxxxxx3b5609t2ff6d77771020129356
check_object false
</store>
Hello, I need help. I am also getting this issue:
error: error parsing /Users/m_calestino/Desktop/getambass.yml: error converting YAML to JSON: yaml: line 3: mapping values are not allowed in this context
when I put in:
apiVersion: getambassador.io/v0 kind:Host metadata: name: minimal-host spec: hostname: host.example.com acmeProvider: some-ambassador requestPolicy: insecure: action: Redirect additionalPort: 8080
Here is the actual issue and the link below:
ISSUE: When I go /ambassador/v0/diag/ in 1.4.2 I see a ton of
NOTICE: -global-: A future Ambassador version will change the GRPC protocol version for AuthServices and RateLimitServices. See the CHANGELOG for details. NOTICE: -global-: A future Ambassador version will change the GRPC protocol version for AuthServices and RateLimitServices. See the CHANGELOG for details. NOTICE: -global-: A future Ambassador version will change the GRPC protocol version for AuthServices and RateLimitServices. See the CHANGELOG for details. … at the start. This is silly.
LINK: https://github.com/datawire/ambassador/issues/2634
Can someone help me to fix it?
Thank you
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.