-e testing_user=root \
-e test_vm_num_nodes=${NUM_NODES} \
-e test_vm_cpu='host-model' \
- -e inventory_dhcp=false \
+ -e inventory_dhcp=${BIFROST_INVENTORY_DHCP} \
-e inventory_dhcp_static_ip=false \
-e enable_inspector=true \
-e inspect_nodes=true \
- -e download_ipa=true \
- -e create_ipa_image=false \
+ -e download_ipa=${BIFROST_DOWNLOAD_IPA} \
+ -e create_ipa_image=${BIFROST_CREATE_IPA} \
-e write_interfaces_file=true \
-e ipv4_gateway=192.168.122.1 \
-e wait_timeout=3600 \
-e ironic_url="http://192.168.122.2:6385/" \
${BIFROST_ROOT_DIR}/playbooks/opnfv-virtual.yml
+
+if [ "${BAREMETAL}" = true ]; then
+ ansible-playbook ${XCI_ANSIBLE_PARAMS} \
+ --user=devuser -i ${XCI_PATH}/xci/playbooks/dynamic_inventory.py \
+ -i ${XCI_CACHE}/repos/bifrost/playbooks/inventory/bifrost_inventory.py \
+ ${BIFROST_ROOT_DIR}/playbooks/wait-for-baremetal.yml
+fi
+
echo "-----------------------------------------------------------------------"
echo "Info: VM nodes are provisioned!"
echo "-----------------------------------------------------------------------"
enabled_hardware_types: ipmi
network_interface: "{{ ansible_default_ipv4.interface }}"
# Create the IPA image for ironic to boot the nodes and write the final distro in the hard drive
+ # fedora is used because it is the only one working with ericsson-pod2 (it has support for newer hardware)
- role: bifrost-create-dib-image
dib_imagename: "{{ http_boot_folder }}/ipa"
build_ramdisk: false
- dib_os_element: "{{ ipa_dib_os_element|default('debian') }}"
- dib_os_release: "jessie"
+ dib_os_element: "{{ ipa_dib_os_element|default('fedora') }}"
dib_elements: "ironic-agent {{ ipa_extra_dib_elements | default('') }}"
dib_notmpfs: true
when:
--- /dev/null
+# ironic needs to boot the server again to install the OS in the hard drive
+# we are currently modifying opnfv vm networking config while ironic is
+# doing that and it sometimes fail because of networking glitches. We should
+# wait until the OS is installed to do the opnfv config
+
+- hosts: baremetal
+ name: "Wait for baremetal blades to be ready"
+ become: no
+ gather_facts: False
+ tasks:
+ - name: "Wait for nodes to reboot."
+ wait_for: state=stopped port=22 host={{ ipv4_address }} timeout=240
+ delegate_to: opnfv
+ - name: "Wait for nodes to become available."
+ wait_for: state=started port=22 host={{ ipv4_address }} timeout=3600
+ delegate_to: opnfv
+
export BIFROST_INVENTORY_SOURCE=/tmp/baremetal.json
+if [ "${BAREMETAL}" = true ]; then
+ export BIFROST_INVENTORY_DHCP=true
+ export BIFROST_DOWNLOAD_IPA=false
+ export BIFROST_CREATE_IPA=true
+else
+ export BIFROST_INVENTORY_DHCP=false
+ export BIFROST_DOWNLOAD_IPA=true
+ export BIFROST_CREATE_IPA=false
+fi
+
pip install -q --upgrade -r "${XCI_CACHE}/repos/bifrost/requirements.txt"