X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ta%2Finfra-ansible.git;a=blobdiff_plain;f=roles%2Fbaremetal_provision%2Ftasks%2Fmain.yml;h=04794af6940212b32f76493d6fb589c69b166b9f;hp=38b4675f7489146748320af863f5f7d5d26d3441;hb=1aeb85260cd48e76577afdae4fa3851dedb7c3c5;hpb=ebead6e70289f4cabe7cc0784e45b4864022f0fb diff --git a/roles/baremetal_provision/tasks/main.yml b/roles/baremetal_provision/tasks/main.yml index 38b4675..04794af 100644 --- a/roles/baremetal_provision/tasks/main.yml +++ b/roles/baremetal_provision/tasks/main.yml @@ -16,66 +16,57 @@ - include: convert_qcow_raw.yml - -- name: Convert baremetal_nodes.j2 Jinja2 template to json file - template: - src: 'baremetal_nodes.j2' - dest: '/tmp/baremetal_nodes.json' - -- name: Include variables from baremetal_nodes.json - include_vars: '/tmp/baremetal_nodes.json' - -- name: Remove /tmp/baremetal_nodes.json - file: - path: "/tmp/baremetal_nodes.json" - state: "absent" - -- name: Restore baremetal_ironic_nodes variable with ironic_nodes variable - set_fact: - baremetal_ironic_nodes: "{{ironic_nodes}}" - when: baremetal_ironic_nodes is undefined + run_once: True - name: Create vbmc ports for virtual hosts - include: vbmc_port_setup.yml + include_tasks: vbmc_port_setup.yml when: virtual_env -- set_fact: - net_conn_details: "{{net_conn_details + [{'node_name': item.name, 'node_ip': item.driver_info.power.os_net_config | json_query('network_config[*].addresses[0].ip_netmask') | ipaddr('address')}] }}" - with_items: "{{ baremetal_ironic_nodes }}" - when: item.driver_info.power.os_net_config.network_config[0].type != 'ovs_bridge' - no_log: True - -- set_fact: - net_conn_details: "{{net_conn_details + [{'node_name': item.name, 'node_ip': item.driver_info.power.os_net_config | json_query('network_config[*].members[*].addresses[0].ip_netmask')|first | ipaddr('address')}] }}" - with_items: "{{ baremetal_ironic_nodes }}" - when: item.driver_info.power.os_net_config.network_config[0].type == 'ovs_bridge' - no_log: True - -- include: setup_http.yml - tags: http_provision - - name: Setup tmux copy: src: "tmux_setup" dest: "/opt/" -- include: ironic_nodes_create.yml +- include_tasks: ironic_nodes_create.yml tags: - baremetal-ironic-nodes-create -- include: start_console_logging.yml +- include_tasks: start_console_logging.yml tags: - baremetal-ironic-nodes-deploy when: virtual_env == false -- include: ironic_nodes_deploy.yml +- include_tasks: ironic_nodes_deploy.yml tags: - baremetal-ironic-nodes-deploy - -- include: stop_console_logging.yml + when: baremetal_ironic_node_id is defined + +- name: Set Ironic node in maintenance. + os_ironic_node: + cloud: default + endpoint_type: internal + auth_type: password + uuid: "{{ironic_node_details.name}}" + maintenance: True + deploy: False + when: + - installation_phase != "provisioning-started" + +- name: Set Ironic node in maintenance. + environment: + OS_AUTH_TOKEN: "fake-token" + IRONIC_URL: "{{ ironic_service_adminurl }}" + os_ironic_node: + auth: + auth_type: 'None' + ironic_url: "{{ ironic_service_adminurl }}" + uuid: "{{ironic_node_details.name}}" + maintenance: True + deploy: False + when: + - installation_phase == "provisioning-started" + +- include_tasks: stop_console_logging.yml tags: - baremetal-ironic-nodes-deploy when: virtual_env == false - -- include: teardown_http.yml - tags: http_provision