[openstack-dev] [ironic][bifrost] Unable to Enroll Inventory

Aimee Ukasick aimeeu.opensource at gmail.com
Wed Aug 2 22:40:57 UTC 2017

Hi Bifrost Gurus!  I'm following the Brifost docs and am stuck trying
to enroll inventory.
I have only a passing familiarity with ansible,ironic, and python,
which puts me firmly in the "complete ignoramous" category.

OS: Ubuntu 16.04.2 LTS desktop (fresh install)
Sudo User: bifrost
Python: 2.7.12
pip 9.0.1
bifrost: cloned from master on 2 Aug 2017

1. modified the files in bifrost/playbooks/inventory/group_vars
--  network_interface, mysql_password, dnsmasq_router, and dnsmasq_dns_servers
2. install reqs:  sudo pip install -r requirements.txt
3. run installation playbook: sudo ansible-playbook -K -vvvv -i
inventory/target install.yaml
4. source env-vars
5. ironic node-list to check ironic installation
6. created baremetal.yml and baremetal.json based on the examples
7. export BIFROST_INVENTORY_SOURCE=/home/bifrost/osgit/baremetal.json
8. sudo ansible-playbook -K -vvvv -i inventory/bifrost_inventory.py

#8 threw this error:
ERROR! Attempted to execute "inventory/bifrost_inventory.py" as
inventory script:
Inventory script (inventory/bifrost_inventory.py) had an execution error:

No error was printed out and I couldn't find any logs, so I hopped onto IRC.
TheJulia suggested passing the environment variable and directly
executing the script to troubleshoot.

So after looking at the code, I executed bifrost/inventory.py and
saved the output in baremetal2.json.
Then export BIFROST_INVENTORY_SOURCE=/home/bifrost/osgit/baremetal2.json
Then sudo ansible-playbook -K -vvvv -i inventory/bifrost_inventory.py
Same error as above.

sudo ansible-playbook -K -vvvv -i /home/bifrost/osgit/baremetal2.json
which threw:
ERROR! Attempted to read "/home/bifrost/osgit/baremetal2.json" as YAML:
list indices must be integers, not unicode
Attempted to read "/home/bifrost/osgit/baremetal2.json" as ini file:
 /home/bifrost/osgit/baremetal2.json:2: Expected key=value host
variable assignment, got: {

sudo ansible-playbook -K -vvvv -i /home/bifrost/osgit/baremetal.yml
which provided this output:
 [WARNING]: provided hosts list is empty, only localhost is available
Loading callback plugin default of type stdout, v2.0 from
PLAYBOOK: enroll-dynamic.yaml
1 plays in enroll-dynamic.yaml
PLAY [Enroll hardware from inventory into Ironic]
skipping: no hosts matched
PLAY RECAP ****************

The issues I'm having must be user error, so I'd appreciate extra sets
of eyes and suggestions.
YAML, JSON, and terminal output: http://paste.openstack.org/show/617344/

I'm prototyping  using a NUC and 2 Super Micro servers with the goal of using
bifrost and ansible to manage the server lab that somehow landed in my lap.

Thanks in advance for any help you can give me!

Aimee Ukasick
IRC: aimeeu

More information about the OpenStack-dev mailing list