Just found a very annoying bug in RANCID 3.1, which also exists in RANCID 3.0 All the documentation for the proper configuration of your router.db file says it must be in the formathostname:manufactuer:status
However when trying to do a rancid-run it fails to process any hosts and marks all the devices as down. After a lot of trolling through the control_rancid script and some Perl gymnastics I discovered it was looking for a ‘;’ as a separator. Once changing the config file to use a semicolon it works flawlessly. Knowing this a quick google did discover that it is listed in some threads e.g from http://www.shrubbery.net/pipermail/rancid-discuss/2012-October/006541.html
router.db,rancid.types.*: change field separator to ‘;’ (semi-colon) to allow for IPv6 addresses in router.db and avoid conflict with :s in device commands and perl module names
However all the official documentation still refers to using a colon http://www.shrubbery.net/rancid/man/router.db.5.html So be warned if using RANCID version 3.0 or above you will need to update your router.db files accordingly.