diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 9acfbad38e..eb1d6e436c 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -731,3 +731,5 @@ opendaylight_allowed_network_types: '"flat", "vlan", "vxlan"' xenserver_himn_ip: "169.254.0.1" xenserver_username: "root" xenserver_connect_protocol: "https" +# File used to save XenAPI's facts variables formatted as json. +xenapi_facts_file: "/etc/kolla/xenapi.json" diff --git a/ansible/roles/nova/tasks/bootstrap.yml b/ansible/roles/nova/tasks/bootstrap.yml index 0706e3a852..076ddca3d6 100644 --- a/ansible/roles/nova/tasks/bootstrap.yml +++ b/ansible/roles/nova/tasks/bootstrap.yml @@ -45,3 +45,8 @@ - include: bootstrap_service.yml when: database.changed + +- include: bootstrap_xenapi.yml + when: + - inventory_hostname in groups['compute'] + - nova_compute_virt_type == "xenapi" diff --git a/ansible/roles/nova/tasks/bootstrap_xenapi.yml b/ansible/roles/nova/tasks/bootstrap_xenapi.yml new file mode 100644 index 0000000000..7abb543d48 --- /dev/null +++ b/ansible/roles/nova/tasks/bootstrap_xenapi.yml @@ -0,0 +1,9 @@ +- name: Install package python-os-xenapi + package: + name: python-os-xenapi + state: present + become: True + +- name: Bootstrap XenAPI compute node + command: xenapi_bootstrap -i {{ xenserver_himn_ip }} -u {{ xenserver_username }} -p {{ xenserver_password }} -f {{ xenapi_facts_file }} + become: True