The language-puppet website.

Work with your manifests!

Language-puppet v0.3.0 - Resource Relationships

This version introduces resource relationships handling. It is also full of nasty bugs :) An improved version is already in the works, along with great features.

First of all, you will now get notifications when a resource is missing or when you have created cycles. There are still some bugs :

  • The aliases are not taken into account.

  • The relationship metaparameters on classes are ignored.

  • With the released version, nothing is actually working. Sorry … I realized too late how broken it was. You might want to check github, or the updated binary packages.

This is the kind of error messages you will get when cycles are found :

1
2
3
4
5
6
7
8
puppetresources: The following cycles have been found:
  File[/a]
       -> File[/b] ["./manifests/site.pp" (line 557, column 9)] link is Just (RRequire,UNormal,"./manifests/site.pp" (line 556, column 9))
       -> File[/c] ["./manifests/site.pp" (line 558, column 9)] link is Just (RRequire,UNormal,"./manifests/site.pp" (line 557, column 9))
       -> File[/d] ["./manifests/site.pp" (line 559, column 9)] link is Just (RRequire,UNormal,"./manifests/site.pp" (line 558, column 9))
       -> File[/e] ["./manifests/site.pp" (line 560, column 9)] link is Just (RRequire,UNormal,"./manifests/site.pp" (line 559, column 9))
       -> File[/f] ["./manifests/site.pp" (line 561, column 9)] link is Just (RRequire,UNormal,"./manifests/site.pp" (line 560, column 9))
       -> File[/g] ["./manifests/site.pp" (line 562, column 9)] link is Just (RRequire,UNormal,"./manifests/site.pp" (line 561, column 9))

Please note how each resource and link position is displayed. This is a lot more verbose than what the vanilla Puppet spouts, but I believe it is also much more useful. Chasing after links defined as a resource chain gets old very fast.

This is the current error message when a relationship points to (or from) an unknown resource:

1
puppetresources: Unknown relation ("file","/b") -> ("file","/a") used at "./manifests/site.pp" (line 556, column 9) debug: (False,True,False,False)

This one is terrible, and will need to be reworked. There is still quite a bit of work, but I am fairly pleased at how everything seems to fold in place.

I started this project at the end of April, 7 months ago. The project is incredibly useful as it is right now, and I am confident I will be able to provide a robust and vastly more efficient puppetmaster, with a ton of helpful tools, before the first anniversary of this project.

Comments