On Jun 6, 9:30 pm, Steven Truong wrote:
I tried to use both yaml and json backends because some of my users
might not know Yaml.
They might think they don't, but YAML is a superset of JSON, so any of
your users who know JSON also know a big chunk of YAML -- in all
likelihood, enough YAML to encode data for hiera.
However, when I ran hiera from the CLI, I could
only retrieve things from YAML and not in JSON. The objects in JSON
are not overlapped with those in YAML. I could retrieve all objects
when I ran YAML or JSON alone.
Is it possible to use both YAML and JSON as Hiera's backends? Or just
JSON + puppet or YAML + puppet or MySQL/Redis + puppet? Is Puppet
backend required as the second tier?
As I understand it, hiera can query multiple backends for the same
key, but it is possible that it chooses only one backend for each
hierarchy level. The Puppet backend is not required at all as far as
I can tell; if you do not want to look up data in your Puppet
variables then you should not use it.
cat hiera.yaml
---
:backends:
- yaml
- json
:hierarchy: - %{operatingsystem}
- common
:yaml:
:datadir: /etc/puppet/hierayaml_data
:json:
:datadir: /etc/puppet/hierajson_data
ls hiera*data
hierajson_data:
common.json
hierayaml_data:
common.yaml Ubuntu.yaml
I guess you were hoping that for hierarchy level "common", hiera would
consult both common.json and common.yaml. I don't think it works that
way. As I understand it, Hiera will choose *one* backend for each
hierarchy level, based on the order in which the backends are listed
and on whether the corresponding data source is present.
If you really need separate YAML and JSON data, then this may work
better:
:backends:
- yaml
- json
:hierarchy: - %{operatingsystem}
- common_yaml
- common_json
:yaml:
:datadir: /etc/puppet/hierayaml_data
:json:
:datadir: /etc/puppet/hierajson_data
-----
Of course, you would also need to rename the YAML and JSON data files
correspondingly.
Alternatively, just use YAML. Any JSON-only people will feel almost
at home right away, and any extra bits they need for this work should
be easy to pick up. That will also avoid problems revolving around
which file should contain each item.
John
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.