Category Archives: Boulot

Print git hash during puppet run

So here a little trick that I implemented @customer

During each puppet run, the git commit hash of the puppet manifest
being applied in printed on in the logs instead of a timestamp:

# puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for host1.example.com
Info: Applying configuration version ’38f861974ef7041752c0051cfbca676544dc1cef’
Notice: Finished catalog run in 9.78 seconds

To achieve that, I’m just storing the git hash in a file
(something like “echo $GIT_COMMIT > .gitversion”) when building the package in jenkins
and then deploying it in the rpm.

In the puppet server configuration I have the following configuration
line:

config_version = /bin/cat $confdir/environments/$environment/.gitversion

Connection downgrade from https to http in Firefox

Note to self, when calling a page over https, all the connections created by javascript must also be over https. Otherwise, Firefox will not try to connect without, unfortunately, even complaining.

I got hit by this when trying Kibana 3 at work yesterday and it took me quite some time to realize what was happening.

Mount NFS export for machine behind a NAT

So today I was trying to mount an NFS export from a machine that was behind a NAT1. The “/etc/exports” file was correct but I kept getting “access denied” errors.

It turns out that, by default, the NFS server is only allowing access to clients when the originating port is a reserved port (< 1024) but the NAT machine in the middle was mangling the originating port to something else.

Adding “insecure” to the exports for that machine did the trick.

  1. Yeah I know NAT must die ↩︎

Redmine strange issue

I’m currently deploying redmine for a customer, and today we ran into a strange issue.

People were able to login, but for certain operations some of them get an “Invalid form authenticity token” error. Moreover redmine was setting more that one cookie with different values and paths in firefox. After some time I figure out that RAILS_RELATIVE_URL_ROOT was set in the apache configuration but was empty. It looks like firefox and IE behave differently if the path of the cookie is empty, firefox considers that the path is the current directory and IE thinks it’s ‘/’ Now everything seems working.

I will try to blog a little more about what I’m doing at work