# clone kolla biforst poc git clone https://github.com/SeanMooney/kolla.git cd kolla && git chekcout bifrost # set up koll dependcies as normal # generate kolla build tox -e genconfig # modify kolla-build as follows. set install_type to source update bifrost-base as follows [bifrost-base] # # From kolla # # Source location type (string value) # Allowed values: local, git, url type = git # The location for source install (string value) location = https://github.com/SeanMooney/bifrost.git # Git reference to pull, commit sha, tag or branch name (string value) reference = kolla #build container tools/build.py bifrost-systemd manually run bifrost container. docker run -it --net=host -v /dev:/dev -d --privileged --name bifrost 192.168.1.51:5000/kollaglue/centos-source-bifrost-systemd:2.0.0 # fix hosts file and add hostname to 127.0.0.1 line nano /etc/hosts # generate ssh key ssh-keygen # source env variables cd /bifrost . env-vars . /opt/stack/ansible/hacking/env-setup cd playbooks/ # bootstap and start services (can be split using skip_bootstrap and skip_start) ansible-playbook -vvvv -i /bifrost/playbooks/inventory/localhost /bifrost/playbooks/install.yaml -e skip_install=true -e mysql_service_name=mysql -e "ansible_python_interpreter=/var/lib/kolla/venv/bin/python" -e network_interface=enp2s0 # at this point ironic is deployed and running check with "ironic node-list" should return with no nodes. # create a yml file discribing your physical nodes ipmi credentials. e.g. /tmp/servers.yml --- cloud1: uuid: "31303735-3934-4247-3830-333132535336" driver_info: power: ipmi_username: "admin" ipmi_address: "192.168.1.30" ipmi_password: "root" nics: - mac: "1c:c1:de:1c:aa:53" - mac: "1c:c1:de:1c:aa:52" driver: "agent_ipmitool" ipv4_address: "192.168.1.10" properties: cpu_arch: "x86_64" ram: "24576" disk_size: "120" cpus: "16" name: "cloud1" adjust as appropriate for your systems # enroll physical nodes. export BIFROST_INVENTORY_SOURCE=/tmp/servers.yml ansible-playbook -vvvv -i inventory/bifrost_inventory.py enroll-dynamic.yaml -e "ansible_python_interpreter=/var/lib/kolla/venv/bin/python" -e network_interface=enp2s0 # deploy nodes. export BIFROST_INVENTORY_SOURCE=/tmp/servers.yml ansible-playbook -vvvv -i inventory/bifrost_inventory.py deploy-dynamic.yaml -e "ansible_python_interpreter=/var/lib/kolla/venv/bin/python" -e network_interface=enp2s0 at this point ironic should clean down your node and install the default deabin image. not by default ssh is installed in the image but not enabled so you will have to acess the server phyically in recovery mode to enable the ssh service. this can be done remotely with ipmitool and serial over lan. ipmitool -I lanplus -H 192.168.1.30 -U admin -P root sol