22. FAQ / Troubleshooting

The following section is designed to answer frequently asked questions and help troubleshoot Digital Rebar Provision installs.

Want ligher reading? Checkout our Fun Facts.

22.1. Bind Error

Digital Rebar Provision will fail if it cannot attach to one of the required ports.

  • Typical Error Message: “listen udp4 :67: bind: address already in use”
  • Additional Information: The conflicted port will be included in the error between colons (e.g.: :67:)
  • Workaround: If the conflicting service is not required, simply disable that service
  • Resolution: Stop the offending service on the system. Typical corrective actions are:
    • 67 - dhcp. Correct with sudo pkill dnsmasq

See the port mapping list on start-up for a complete list.

22.2. Generate Certificate

Sometimes the cert/key pair in the github tree is corrupt or not sufficient for the environment. The following command can be used to rebuild a local cert/key pair.

sudo openssl req -new -x509 -keyout server.key -out server.crt -days 365 -nodes

It may be necessary to install the openssl tools.

22.3. Add SSH Keys to Authorized Keys

To have provisioned operating systems (including discovery/sledgehammer) add keys, you should set the access_keys parameter with a hash of the desired keys. This can be accomplished by editing the root access profile to add your key(s) and then update the profile via the CLI.

vi assets/profiles/root-access.yaml
./drpcli profiles update root-access - < assets/profiles/root-access.yaml

NOTE: By default, these changes are targeted at the root-access profile and you will need to add that profile to selected machines for your keys to be injected.

If you want this parameter applied to all machines by default, then you should change root-access to global in the yaml file and command line.

cp assets/profiles/root-access.yaml assets/profiles/global.yaml
# remember to change root-access to global!
vi assets/profiles/global.yaml
./drpcli profiles update global - < assets/profiles/global.yaml

22.4. Turn on autocomplete for the CLI

The DRP CLI will automatically create the autocomplete file if a path is provided. You must make sure to use the correct path! The example below is for Ubuntu.

./drpcli autocomplete /etc/bash_completion.d/drpcli

Log out and log back in to take effect or run:

  • . /etc/bash_completion # On Ubuntu
  • . /etc/profile.d/bash_completion.sh # On Centos
  • . /usr/local/etc/bash_completion # On OS X with bash 4 installed.

22.5. Turn Up the Debug

To get additional debug from dr-provision, set debug preferences to increase the logging. See Prefs.

22.6. Missing VBoxNet Network

Virtual Box does not add host only networks until a VM is attempting to use them. If you are using the interfaces API (or UX wizard) to find available networks and vboxnet0 does not appear then start your VM and recreate the address.

Virtual Box may also fail to allocate an IP to the host network due to incomplete configuration. In this case, ip addr will show the network but no IPv4 address has been allocated; consequently, Digital Rebar will not report this as a working interface.