11

Do any configuration management software (such as Puppet, Chef, Pallet, SmartFrog, etc.), open or closed source, using RDF data model to describe and configure infrastructure and software running on it?

Alternatively, is there an RDF vocabulary or OWL ontology which could be useful in such domain?

pwan
  • 2,894
  • 2
  • 24
  • 38
castagna
  • 1,349
  • 10
  • 12
  • This is a truly awesome question and one I have been asking myself a lot recently. RDF seems like the ideal candidate to describe Chef recipes and making these things interchangeable can only be good. I am afraid the closest I got was with project build tools (not really anything to do with configuration management). I would be interested in helping to build something for the above. It could also cover things like Amazon Cloud Formations. It would be great also to host outputted data in a SPARQL endpoint. – William Greenly Mar 12 '12 at 09:39
  • Hi William, thanks for your comment. Independently from RDF, any common machine readable data model to share a domain model configurations would be great. And, as you hinted, it would open the way to a pivoting integration approach: you could generate scripts/config files for different configuration management softwares and/or migrate from one to another in a more 'automatic' or assisted way. Not to ignore the things you could do in terms of analysis and/or reporting with a structured query language (and/or a little bit of free text search). – castagna Mar 12 '12 at 11:26
  • I've been thinking a bit about CM recently and asked myself exactly the same thing. Google pointed me here :-) This would be really cool to have. I think that the best that can be done in a reasonable amount time so that it can be used soon is to come up with an ontology and write some kind of wrappers around various facts systems (Chef's Ohai, Puppet's Factor...) to export data into RDF so that it can be queried using SPARQL. Or just find a way to export data that matters (listen on CouchDB or sthg). This would already bring a huge benefit in asking complex things and all that comes with it. – tchap Aug 21 '12 at 13:11
  • Well, for Chef it would be more clever to connect to its RabbitMQ channel since it sends information to Apache Solr, which is probably the same information we need to insert in RDF. But don't know, those are just first ideas. – tchap Aug 21 '12 at 13:22

2 Answers2

1

I don't know of any existing CM tools that are using RDF or OWL ontologies, but it looks like this is an active research topic. Here are a few sample papers. It's a rabbit hole once you start following back through the referenced papers. It looks like most of the focus is currently at a higher level (like requirements and personal assignment) than the current crop of CM tools can handle (packages, services, and files, etc)

Sharpie
  • 17,323
  • 4
  • 44
  • 47
pwan
  • 2,894
  • 2
  • 24
  • 38
1

SaltStack uses yaml or json data by default, with Python's Jinja (or Mako) template language as a way to generate the yaml or json with programmatic logic.

But it has the concept of renderers which is a python module with a render method that can take a source file (eg templated YAML, or perhaps RDF) and return a python dict which conforms to Salt's highstate data structure

Disclaimer: I haven't used SaltStack, have just been reading the docs while slogging away with Chef...

Anentropic
  • 32,188
  • 12
  • 99
  • 147