The kubernetes DIB element in https://github.com/openstack/magnum/tree/660848873f0b664f40eddb6740e44de7f93fd1b6/magnum/drivers/k8s_fedora_ironic_v1/image/kubernetes provides instructions to build a Kubernetes Fedora image for baremetal using ironic. Attempting to use an image built using these instructions results to boot ironic nodes using local boot results in ironic failing to provision the nodes due to a grub-related error (see below). Local boot is required to support multi-tenancy and is the default as of at least ocata.
Adding the grub2 element to this list allowed provisioning of the nodes to complete successfully.
Ironic conductor error message:
2017-05-03 10:03:50.157 7 ERROR ironic.drivers.modules.agent_base_vendor [req-47ab1c7c-ff83-4a3a-8aac-e2ef67e6e620 - - - - -] Failed to install a bootloader when deploying node ac2c1bc3-2a63-4cbc-8a82-7861464d8082. Error: {u'message': u'Command execution failed: Installing GRUB2 boot loader to device /dev/sda failed with Unexpected error while running command.\nCommand: chroot /tmp/tmp5xmNFn /bin/sh -c "/usr/sbin/grub2-install /dev/sda"\nExit code: 1\nStdout: u\'\'\nStderr: u"/usr/sbin/grub2-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn\'t exist. Please specify --target or --directory.\\n".', u'code': 500, u'type': u'CommandExecutionError', u'details': u'Installing GRUB2 boot loader to device /dev/sda failed with Unexpected error while running command.\nCommand: chroot /tmp/tmp5xmNFn /bin/sh -c "/usr/sbin/grub2-install /dev/sda"\nExit code: 1\nStdout: u\'\'\nStderr: u"/usr/sbin/grub2-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn\'t exist. Please specify --target or --directory.\\n".'}