From eab5448287464ca3900a3e7495e27ac1a2cf1dc9 Mon Sep 17 00:00:00 2001 From: Manuel Buil Date: Thu, 9 Aug 2018 16:29:24 +0200 Subject: [Baremetal] Modify interaction with bifrost roles Change some of the variables when calling opnfv-virtual.yml and baremetal=true: 1 - We want to configure DHCP mapping between ip and mac when doing baremetal. The create-nodes role will generate a file with that mapping for us (baremetalstaticips) 2 - Don't download the standard IPA image but build one with Fedora (only one that works in ericsson-pod2) when doing baremetal 3 - Wait for the blade to complete its booting. Its ssh port becomes available with the IPA provision but that is not the final state. We need to wait until the required distro gets installed. When not doing baremetal, this is fine as the VMs boot very fast with the chosen distro but for baremetal it takes a while (ericsson-pod2 servers take around 2 minutes to finish all BIOS booting). The playbook wait-for-baremetal.yml does this. Change-Id: I5536517209ff7f46ec034554d29566707778e397 Signed-off-by: Manuel Buil --- xci/infra/bifrost/playbooks/opnfv-virtual.yml | 4 ++-- xci/infra/bifrost/playbooks/wait-for-baremetal.yml | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 xci/infra/bifrost/playbooks/wait-for-baremetal.yml (limited to 'xci/infra/bifrost/playbooks') diff --git a/xci/infra/bifrost/playbooks/opnfv-virtual.yml b/xci/infra/bifrost/playbooks/opnfv-virtual.yml index 8dfd9db7..313919ba 100644 --- a/xci/infra/bifrost/playbooks/opnfv-virtual.yml +++ b/xci/infra/bifrost/playbooks/opnfv-virtual.yml @@ -77,11 +77,11 @@ 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: diff --git a/xci/infra/bifrost/playbooks/wait-for-baremetal.yml b/xci/infra/bifrost/playbooks/wait-for-baremetal.yml new file mode 100644 index 00000000..cb42cc49 --- /dev/null +++ b/xci/infra/bifrost/playbooks/wait-for-baremetal.yml @@ -0,0 +1,17 @@ +# 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 + -- cgit 1.2.3-korg