calico.yaml error
I am in lab 3.1 and I ran kubectl apply -f calico.yaml and I get this error:
error: error parsing calico.yaml: error converting YAML to JSON: yaml: line 182: did not find expected '-' indicator
I did some troubleshooting:
a. line 182 looks like the lines above and below it: type: object
b. I ran the calico.yaml that i downloaded on the master node through http://www.yamllint.com/ and that reports valid
c. I did some googling on the error and only found a similar bug with a different line: https://github.com/projectcalico/calico/issues/707
d. I tried to find a calico validation tool on the calico website and there is a command line tool for calico but it does not have a validator or syntax checking service.
any ideas on how to proceed?
Comments
-
Hi, i found the problem to be the indentation in the yaml of the -name and value, they were not indented properly:
# The default IPv4 pool to create on startup if none exists. Pod IPs will be
# chosen from this range. Changing this value after installation will have
# no effect. This should fall within--cluster-cidr.
- name: CALICO_IPV4POOL_CIDR
value: "192.168.0.0/16"4 -
Hi @catorarn,
The newer calico file when downloaded, has both
-nameandvaluelines commented out. You can leave them commented out, they will work as expected.Regards,
-Chris1 -
Hi Chris, I faced the same error and fixed by indenting. Later I read you response for not to uncomment these lines. Any issue If I uncomment these lines and fixed the indention
0 -
Ignore this. Had the same issue then realised it was the indentation issue that was mentioned in the first response. Thanks for that!
0 -
@serewicz said:
Hello,Thank you for the feedback. As you should be downloading the calico file from the source, please let the projectcalico.org folks know of the issue. Typically they remedy the error quickly.
Regards,
Hi, I just stumbled upon this conversation after seeing the same error. The file as delivered works just fine. It's actually the next part of the instructions for exercise 3.1 which induces the error, if you botch the indents. Perhaps a clarification here, to be careful with the indents? Or remove this step, if it's really not necessary? The instructions technically don't say to edit the file, but they do say to avoid conflicts with existing networks. And the example shown has been uncommented. Item 6 in the screenshot below:
0 -
@serewicz said:
Hello,You will note the command used is "less", a paginator which does not edit the file. If one had happened to choose 192.168 for their VM IP range they would have issues, which is why the step exists. There is no direction to edit. Download the file and look at it. Then use it.
Regards,
That may be, but your example shows the lines not commented out. I'm sure everyone went down the same rabbit hole like I just did and tried to make our files look like your example.
0 -
hi! Thanks for posting this. I've the same issue uncommenting the CALICO_IPV4POOL_CIDR section. The value is still bad indented. now is working with my chosen network
1 -
Sorry for commenting on old thread but encountering same issue here while trying to run a command kubectl apply -f calico.yaml
getting an error:
error: error parsing calico.yaml: error converting YAML to JSON: yaml: line 182: did not find expected key
If I look at my calico.yaml contents then it has like below:
# no effect. This should fall within
--cluster-cidr.
- name: CALICO_IPV4POOL_CIDR
value: "192.168.0.0/16"Could someone help me and share how it should look after edit?
Thanks!
Gaurav0 -
never mind ended up specifying the url instead of file we had downloaded in the process.
0 -
This is still an issue. I do have 192.168.x.x as my local network, thus I need to set a value here. The text could have been made clearer. One really needs to think to get grasp of the message in the text.
Now I just have to figure out what is the correct indent.
Edit: For me vim was removing a space in my indent. That is, if i did "sudo -i" and looked at the file everything was ok. But when I exited out from that shell in to the regular shell there was a space extra on the two uncommented lines.
This is on Debian 11 Bullseye
0
Categories
- All Categories
- 178 LFX Mentorship
- 178 LFX Mentorship: Linux Kernel
- 775 Linux Foundation IT Professional Programs
- 384 Cloud Engineer IT Professional Program
- 175 Advanced Cloud Engineer IT Professional Program
- 75 DevOps IT Professional Program - Discontinued
- 7 DevOps & GitOps IT Professional Program
- 103 Cloud Native Developer IT Professional Program
- 7.7K Training Courses & Learning Paths
- 13 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 35 Cloud & Containers Training
- 3 Cybersecurity Training
- 3 DevOps & Site-Reliability Training
- 2 Linux Kernel Development Training
- 2 Networking Training
- 2 Open Source Best Practice Training
- 5 System Administration Training
- 1 System Engineering Training
- 6 Web & Application Development Training
- 798 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 96 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 92 Storage
- 773 Linux Distributions
- 81 Debian
- 68 Fedora
- 24 Linux Mint
- 13 Mageia
- 24 openSUSE
- 151 Red Hat Enterprise
- 32 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 472 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 103 Linux Security
- 79 Network Management
- 102 System Management
- 46 Web Management
- 166 Mobile Computing
- 32 Android
- 119 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 407 Off Topic
- 128 Introductions
- 35 Study Material
- 1.1K Programming and Development
- 311 Kernel Development
- 723 Software Development
- 1K Software
- 418 Applications
- 183 Command Line
- 5 Compiling/Installing
- 71 Games
- 320 Installation
- Archived
- 183 Small Talk
- 2 LFD140 Class Forum
- 1.4K LFS258 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)
