Fixing Puppet error “Could not find parent resource type”

While working with Puppet, I recently received the following error:

# puppet agent --no-daemonize --verbose --onetime --test
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find parent resource type 'users::virtual' of type hostclass in production at /etc/puppet/modules/users/manifests/sysadm.pp:2 on node test.example.com
warning: Not using cache on failed catalog

 

The error, the users::virtual class was not in a file of the same name.

Renaming the file containing the users::virtual class to virtuals.pp in the users module fixed the problem.

LSI MegaRaid SAS 9260-4i No Base port found

Yesterday and coworker and I put a new LSI MegaRaid SAS 9260-4i into one of our servers that was running KVM and received the a surprising message on boot up:

F/W Error
No Base port found

Um, OK.  Thinking it was a bad card we swapped it for another with the same specs.  Same error.

We then:

  • removed and resat the card, same error
  • changed the cables, same error
  • checked LSIs site, nothing
  • searched the ‘net, nothing
  • rebooted the server, resetting its bios setting to defaults, bingo!

The card came up no problem.  It was a bios setting causing the problem.

Next we went into the bios changed some settings:

  • disabled quiet boot
  • enabled virtualization in the CPU
  • enabled virtualized I/O in the CPU

Rebooted and, the error was back.  We returned to the bios and disabled the Virtualized I/O.  Voila!  Unlike the previous (and older) raid card, the newer LSI 9260-4i doesn’t like the Virtualized I/O in the Intel CPUs/bios.

Hope this helps someone else out there.

 

Bind rndc error in Debian and Ubuntu

If you should come across the following error messages while setting up Bind on Debian or Ubuntu chances are there was a bind update somewhere is the past and it has broken your setup.
WARNING: key file (/etc/bind/rndc.key) exists, but using default configuration file (/etc/bind/rndc.conf)
rndc: no server specified and no default
WARNING: key file (/etc/bind/rndc.key) exists, but using default configuration file (/etc/bind/rndc.conf)rndc: no server specified and no default

The cause of the error is the/etc/bind9/rndc.conf file.   rndc.conf is left behind when Bind is/was updated from a previous version.  While this may keep old configurations from breaking it seems to break new ones.    According to README.Debian  (/usr/share/doc/bind9/README.Debian), Bind’s configuration file layout changed and this file is no-longer needed.

The fix is simple:

  1. In /etc/bind remove rndc.conf.
  2. Add the following to /etc/bind/named.conf:
    include "/etc/bind/rndc.key";
    controls {
    inet 127.0.0.1 port 953
    allow { 127.0.0.1; } keys { "rndc-key"; };
    };
  3. Restart bind.