Remove XenAPI integration
Change-Id: Iea3f4f3d2e5c6040c1e0bc7bfae8719cc7d8ac55
This commit is contained in:
parent
522bc17981
commit
60e03d7bf3
@ -925,7 +925,7 @@ neutron_ovn_distributed_fip: "no"
|
|||||||
#######################
|
#######################
|
||||||
nova_backend_ceph: "no"
|
nova_backend_ceph: "no"
|
||||||
nova_backend: "{{ 'rbd' if nova_backend_ceph | bool else 'default' }}"
|
nova_backend: "{{ 'rbd' if nova_backend_ceph | bool else 'default' }}"
|
||||||
# Valid options are [ kvm, qemu, vmware, xenapi ]
|
# Valid options are [ kvm, qemu, vmware ]
|
||||||
nova_compute_virt_type: "kvm"
|
nova_compute_virt_type: "kvm"
|
||||||
nova_instance_datadir_volume: "nova_compute"
|
nova_instance_datadir_volume: "nova_compute"
|
||||||
nova_safety_upgrade: "no"
|
nova_safety_upgrade: "no"
|
||||||
@ -1009,18 +1009,6 @@ vmware_vcenter_host_username: "username"
|
|||||||
vmware_vcenter_cluster_name: "cluster-1"
|
vmware_vcenter_cluster_name: "cluster-1"
|
||||||
vmware_vcenter_insecure: "True"
|
vmware_vcenter_insecure: "True"
|
||||||
|
|
||||||
#######################################
|
|
||||||
# XenAPI - Support XenAPI for XenServer
|
|
||||||
#######################################
|
|
||||||
# XenAPI driver use HIMN(Host Internal Management Network)
|
|
||||||
# to communicate with XenServer host.
|
|
||||||
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_root: "/etc/kolla/xenapi/"
|
|
||||||
xenapi_facts_file: "facts.json"
|
|
||||||
|
|
||||||
#############################################
|
#############################################
|
||||||
# MariaDB component-specific database details
|
# MariaDB component-specific database details
|
||||||
#############################################
|
#############################################
|
||||||
|
@ -7,8 +7,6 @@ transport_url = {{ rpc_transport_url }}
|
|||||||
|
|
||||||
{% if nova_compute_virt_type == 'vmware' %}
|
{% if nova_compute_virt_type == 'vmware' %}
|
||||||
hypervisor_inspector = vsphere
|
hypervisor_inspector = vsphere
|
||||||
{% elif nova_compute_virt_type == 'xenapi' %}
|
|
||||||
hypervisor_inspector = xenapi
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
[service_credentials]
|
[service_credentials]
|
||||||
@ -42,13 +40,6 @@ transport_url = {{ notify_transport_url }}
|
|||||||
policy_file = {{ ceilometer_policy_file }}
|
policy_file = {{ ceilometer_policy_file }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if nova_compute_virt_type == 'xenapi' %}
|
|
||||||
[xenapi]
|
|
||||||
connection_url = {{ xenserver_connect_protocol }}://{{ xenserver_himn_ip }}
|
|
||||||
connection_username = {{ xenserver_username }}
|
|
||||||
connection_password = {{ xenserver_password }}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
[cache]
|
[cache]
|
||||||
backend = oslo_cache.memcache_pool
|
backend = oslo_cache.memcache_pool
|
||||||
enabled = True
|
enabled = True
|
||||||
|
@ -34,7 +34,7 @@ neutron_services:
|
|||||||
KOLLA_LEGACY_IPTABLES: "{{ neutron_legacy_iptables | bool | lower }}"
|
KOLLA_LEGACY_IPTABLES: "{{ neutron_legacy_iptables | bool | lower }}"
|
||||||
host_in_groups: >-
|
host_in_groups: >-
|
||||||
{{
|
{{
|
||||||
( (inventory_hostname in groups['compute'] and nova_compute_virt_type != 'xenapi')
|
( inventory_hostname in groups['compute']
|
||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
@ -49,17 +49,6 @@ neutron_services:
|
|||||||
}}
|
}}
|
||||||
volumes: "{{ neutron_openvswitch_agent_default_volumes + neutron_openvswitch_agent_extra_volumes }}"
|
volumes: "{{ neutron_openvswitch_agent_default_volumes + neutron_openvswitch_agent_extra_volumes }}"
|
||||||
dimensions: "{{ neutron_openvswitch_agent_dimensions }}"
|
dimensions: "{{ neutron_openvswitch_agent_dimensions }}"
|
||||||
neutron-openvswitch-agent-xenapi:
|
|
||||||
container_name: "neutron_openvswitch_agent_xenapi"
|
|
||||||
image: "{{ neutron_openvswitch_agent_image_full }}"
|
|
||||||
enabled: "{{ neutron_plugin_agent == 'openvswitch' and nova_compute_virt_type == 'xenapi' }}"
|
|
||||||
privileged: True
|
|
||||||
host_in_groups: >-
|
|
||||||
{{
|
|
||||||
inventory_hostname in groups['compute']
|
|
||||||
}}
|
|
||||||
volumes: "{{ neutron_openvswitch_agent_xenapi_default_volumes + neutron_openvswitch_agent_xenapi_extra_volumes }}"
|
|
||||||
dimensions: "{{ neutron_openvswitch_agent_xenapi_dimensions }}"
|
|
||||||
neutron-linuxbridge-agent:
|
neutron-linuxbridge-agent:
|
||||||
container_name: "neutron_linuxbridge_agent"
|
container_name: "neutron_linuxbridge_agent"
|
||||||
image: "{{ neutron_linuxbridge_agent_image_full }}"
|
image: "{{ neutron_linuxbridge_agent_image_full }}"
|
||||||
@ -239,7 +228,6 @@ neutron_openvswitch_agent_dimensions: "{{ neutron_agent_dimensions }}"
|
|||||||
neutron_server_dimensions: "{{ default_container_dimensions }}"
|
neutron_server_dimensions: "{{ default_container_dimensions }}"
|
||||||
neutron_bgp_dragent_dimensions: "{{ default_container_dimensions }}"
|
neutron_bgp_dragent_dimensions: "{{ default_container_dimensions }}"
|
||||||
neutron_infoblox_ipam_agent_dimensions: "{{ default_container_dimensions }}"
|
neutron_infoblox_ipam_agent_dimensions: "{{ default_container_dimensions }}"
|
||||||
neutron_openvswitch_agent_xenapi_dimensions: "{{ neutron_agent_dimensions }}"
|
|
||||||
neutron_metering_agent_dimensions: "{{ neutron_agent_dimensions }}"
|
neutron_metering_agent_dimensions: "{{ neutron_agent_dimensions }}"
|
||||||
ironic_neutron_agent_dimensions: "{{ default_container_dimensions }}"
|
ironic_neutron_agent_dimensions: "{{ default_container_dimensions }}"
|
||||||
|
|
||||||
@ -313,14 +301,6 @@ neutron_infoblox_ipam_agent_default_volumes:
|
|||||||
- "/etc/localtime:/etc/localtime:ro"
|
- "/etc/localtime:/etc/localtime:ro"
|
||||||
- "{{ '/etc/timezone:/etc/timezone:ro' if kolla_base_distro in ['debian', 'ubuntu'] else '' }}"
|
- "{{ '/etc/timezone:/etc/timezone:ro' if kolla_base_distro in ['debian', 'ubuntu'] else '' }}"
|
||||||
- "kolla_logs:/var/log/kolla/"
|
- "kolla_logs:/var/log/kolla/"
|
||||||
neutron_openvswitch_agent_xenapi_default_volumes:
|
|
||||||
- "{{ node_config_directory }}/neutron-openvswitch-agent-xenapi/:{{ container_config_directory }}/:ro"
|
|
||||||
- "/etc/localtime:/etc/localtime:ro"
|
|
||||||
- "{{ '/etc/timezone:/etc/timezone:ro' if kolla_base_distro in ['debian', 'ubuntu'] else '' }}"
|
|
||||||
- "/lib/modules:/lib/modules:ro"
|
|
||||||
- "/run/openvswitch:/run/openvswitch:shared"
|
|
||||||
- "kolla_logs:/var/log/kolla/"
|
|
||||||
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
|
|
||||||
neutron_metering_agent_default_volumes:
|
neutron_metering_agent_default_volumes:
|
||||||
- "{{ node_config_directory }}/neutron-metering-agent/:{{ container_config_directory }}/:ro"
|
- "{{ node_config_directory }}/neutron-metering-agent/:{{ container_config_directory }}/:ro"
|
||||||
- "/etc/localtime:/etc/localtime:ro"
|
- "/etc/localtime:/etc/localtime:ro"
|
||||||
@ -344,7 +324,6 @@ neutron_openvswitch_agent_extra_volumes: "{{ neutron_extra_volumes }}"
|
|||||||
neutron_server_extra_volumes: "{{ neutron_extra_volumes }}"
|
neutron_server_extra_volumes: "{{ neutron_extra_volumes }}"
|
||||||
neutron_bgp_dragent_extra_volumes: "{{ neutron_extra_volumes }}"
|
neutron_bgp_dragent_extra_volumes: "{{ neutron_extra_volumes }}"
|
||||||
neutron_infoblox_ipam_agent_extra_volumes: "{{ neutron_extra_volumes }}"
|
neutron_infoblox_ipam_agent_extra_volumes: "{{ neutron_extra_volumes }}"
|
||||||
neutron_openvswitch_agent_xenapi_extra_volumes: "{{ neutron_extra_volumes }}"
|
|
||||||
neutron_metering_agent_extra_volumes: "{{ neutron_extra_volumes }}"
|
neutron_metering_agent_extra_volumes: "{{ neutron_extra_volumes }}"
|
||||||
ironic_neutron_agent_extra_volumes: "{{ neutron_extra_volumes }}"
|
ironic_neutron_agent_extra_volumes: "{{ neutron_extra_volumes }}"
|
||||||
|
|
||||||
|
@ -32,22 +32,6 @@
|
|||||||
when:
|
when:
|
||||||
- kolla_action != "config"
|
- kolla_action != "config"
|
||||||
|
|
||||||
- name: Restart neutron-openvswitch-agent-xenapi container
|
|
||||||
vars:
|
|
||||||
service_name: "neutron-openvswitch-agent-xenapi"
|
|
||||||
service: "{{ neutron_services[service_name] }}"
|
|
||||||
become: true
|
|
||||||
kolla_docker:
|
|
||||||
action: "recreate_or_restart_container"
|
|
||||||
common_options: "{{ docker_common_options }}"
|
|
||||||
name: "{{ service.container_name }}"
|
|
||||||
image: "{{ service.image }}"
|
|
||||||
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
|
|
||||||
dimensions: "{{ service.dimensions }}"
|
|
||||||
privileged: "{{ service.privileged | default(False) }}"
|
|
||||||
when:
|
|
||||||
- kolla_action != "config"
|
|
||||||
|
|
||||||
- name: Restart fake neutron-openvswitch-agent container
|
- name: Restart fake neutron-openvswitch-agent container
|
||||||
vars:
|
vars:
|
||||||
service_name: "neutron-openvswitch-agent"
|
service_name: "neutron-openvswitch-agent"
|
||||||
|
@ -83,7 +83,6 @@
|
|||||||
- "neutron-ovn-metadata-agent"
|
- "neutron-ovn-metadata-agent"
|
||||||
- "neutron-metering-agent"
|
- "neutron-metering-agent"
|
||||||
- "neutron-openvswitch-agent"
|
- "neutron-openvswitch-agent"
|
||||||
- "neutron-openvswitch-agent-xenapi"
|
|
||||||
- "neutron-server"
|
- "neutron-server"
|
||||||
- "neutron-bgp-dragent"
|
- "neutron-bgp-dragent"
|
||||||
- "neutron-infoblox-ipam-agent"
|
- "neutron-infoblox-ipam-agent"
|
||||||
@ -189,28 +188,6 @@
|
|||||||
notify:
|
notify:
|
||||||
- "Restart {{ service_name }} container"
|
- "Restart {{ service_name }} container"
|
||||||
|
|
||||||
- name: Copying over openvswitch_agent.ini for XenAPI
|
|
||||||
become: true
|
|
||||||
vars:
|
|
||||||
service_name: "neutron-openvswitch-agent-xenapi"
|
|
||||||
os_xenapi_variables: "{{ lookup('file', xenapi_facts_root + '/' + inventory_hostname + '/' + xenapi_facts_file) | from_json }}"
|
|
||||||
merge_configs:
|
|
||||||
sources:
|
|
||||||
- "{{ role_path }}/templates/openvswitch_agent_xenapi.ini.j2"
|
|
||||||
- "{{ node_custom_config }}/neutron/openvswitch_agent_xenapi.ini"
|
|
||||||
- "{{ node_custom_config }}/neutron/{{ inventory_hostname }}/openvswitch_agent_xenapi.ini"
|
|
||||||
- "{{ node_custom_config }}/neutron/{{ service_name }}/openvswitch_agent_xenapi.ini"
|
|
||||||
# TODO(mnasiadka): Remove in V - left to not break existing deployments
|
|
||||||
- "{{ node_custom_config }}/neutron/ml2_conf.ini"
|
|
||||||
- "{{ node_custom_config }}/neutron/{{ inventory_hostname }}/ml2_conf.ini"
|
|
||||||
dest: "{{ node_config_directory }}/{{ service_name }}/openvswitch_agent.ini"
|
|
||||||
mode: "0660"
|
|
||||||
when:
|
|
||||||
- neutron_services[service_name].enabled | bool
|
|
||||||
- neutron_services[service_name].host_in_groups | bool
|
|
||||||
notify:
|
|
||||||
- "Restart {{ service_name }} container"
|
|
||||||
|
|
||||||
- name: Copying over sriov_agent.ini
|
- name: Copying over sriov_agent.ini
|
||||||
vars:
|
vars:
|
||||||
service_name: "neutron-sriov-agent"
|
service_name: "neutron-sriov-agent"
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
[DEFAULT]
|
|
||||||
# Use service_name as the log file name for neutron-openvswitch-agent-xenapi,
|
|
||||||
# so that it will use a different log file from neutron-openvswitch-agent.
|
|
||||||
log_file = {{ service_name }}.log
|
|
||||||
host = {{ os_xenapi_variables.dom0_hostname }}
|
|
||||||
|
|
||||||
[agent]
|
|
||||||
root_helper_daemon = xenapi_root_helper
|
|
||||||
root_helper =
|
|
||||||
|
|
||||||
[ovs]
|
|
||||||
of_listen_address = {{ os_xenapi_variables.domu_himn_ip }}
|
|
||||||
ovsdb_connection = tcp:{{ xenserver_himn_ip }}:{{ ovsdb_port }}
|
|
||||||
{% if computes_need_external_bridge | bool %}
|
|
||||||
bridge_mappings = {% for interface in neutron_external_interface.split(',') %}physnet{{ loop.index0 + 1 }}:{{ os_xenapi_variables.domu_vifs[interface]["bridge"] }}{% if not loop.last %},{% endif %}{% endfor %}
|
|
||||||
{% else %}
|
|
||||||
bridge_mappings =
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
local_ip = {% for ip in os_xenapi_variables.dom0_ipv4s %}{% if ip.bridge == os_xenapi_variables.domu_vifs[tunnel_interface]['bridge'] %}{{ ip.address }}{% endif %} {% endfor %}
|
|
||||||
|
|
||||||
[xenapi]
|
|
||||||
connection_password = {{ xenserver_password }}
|
|
||||||
connection_username = {{ xenserver_username }}
|
|
||||||
connection_url = {{ xenserver_connect_protocol }}://{{ xenserver_himn_ip }}
|
|
@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Install package python-os-xenapi
|
|
||||||
package:
|
|
||||||
name: python-os-xenapi
|
|
||||||
state: present
|
|
||||||
become: True
|
|
||||||
|
|
||||||
- name: Ensure XenAPI root path
|
|
||||||
file:
|
|
||||||
path: "{{ xenapi_facts_root }}"
|
|
||||||
state: directory
|
|
||||||
mode: "0770"
|
|
||||||
become: True
|
|
||||||
|
|
||||||
- name: Bootstrap XenAPI compute node
|
|
||||||
vars:
|
|
||||||
xenapi_facts_path: "{{ xenapi_facts_root + '/' + xenapi_facts_file }}"
|
|
||||||
command: xenapi_bootstrap -i {{ xenserver_himn_ip }} -u {{ xenserver_username }} -p {{ xenserver_password }} -f {{ xenapi_facts_path }}
|
|
||||||
become: True
|
|
||||||
|
|
||||||
- name: Fetching XenAPI facts file
|
|
||||||
fetch:
|
|
||||||
src: "{{ xenapi_facts_root + '/' + xenapi_facts_file }}"
|
|
||||||
dest: "{{ xenapi_facts_root + '/' + inventory_hostname + '/' }}"
|
|
||||||
flat: yes
|
|
||||||
become: True
|
|
@ -53,13 +53,6 @@
|
|||||||
notify:
|
notify:
|
||||||
- "Restart {{ item.key }} container"
|
- "Restart {{ item.key }} container"
|
||||||
|
|
||||||
- name: Set XenAPI facts
|
|
||||||
set_fact:
|
|
||||||
xenapi_facts: "{{ lookup('file', xenapi_facts_root + '/' + inventory_hostname + '/' + xenapi_facts_file) | from_json }}"
|
|
||||||
when:
|
|
||||||
- nova_compute_virt_type == 'xenapi'
|
|
||||||
- inventory_hostname in groups[nova_cell_compute_group]
|
|
||||||
|
|
||||||
- name: Copying over nova.conf
|
- name: Copying over nova.conf
|
||||||
become: true
|
become: true
|
||||||
vars:
|
vars:
|
||||||
|
@ -1,9 +1,4 @@
|
|||||||
---
|
---
|
||||||
- include_tasks: bootstrap_xenapi.yml
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups[nova_cell_compute_group]
|
|
||||||
- nova_compute_virt_type == "xenapi"
|
|
||||||
|
|
||||||
- include_tasks: clone.yml
|
- include_tasks: clone.yml
|
||||||
when: nova_dev_mode | bool
|
when: nova_dev_mode | bool
|
||||||
|
|
||||||
|
@ -19,11 +19,6 @@ host = {{ ansible_hostname }}_{{ service_name }}
|
|||||||
compute_driver = fake.FakeDriver
|
compute_driver = fake.FakeDriver
|
||||||
{% elif nova_compute_virt_type == 'vmware' %}
|
{% elif nova_compute_virt_type == 'vmware' %}
|
||||||
compute_driver = vmwareapi.VMwareVCDriver
|
compute_driver = vmwareapi.VMwareVCDriver
|
||||||
{% elif nova_compute_virt_type == 'xenapi' %}
|
|
||||||
compute_driver = xenapi.XenAPIDriver
|
|
||||||
{% if service_name == 'nova-compute' %}
|
|
||||||
host = xenapi_facts['dom0_hostname']
|
|
||||||
{% endif %}
|
|
||||||
{% else %}
|
{% else %}
|
||||||
compute_driver = libvirt.LibvirtDriver
|
compute_driver = libvirt.LibvirtDriver
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -230,14 +225,6 @@ auth_endpoint = {{ keystone_internal_url }}
|
|||||||
cafile = {{ openstack_cacert }}
|
cafile = {{ openstack_cacert }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if nova_compute_virt_type == "xenapi" %}
|
|
||||||
[xenserver]
|
|
||||||
ovs_integration_bridge = br-int
|
|
||||||
connection_password = {{ xenserver_password }}
|
|
||||||
connection_username = {{ xenserver_username }}
|
|
||||||
connection_url = {{ xenserver_connect_protocol }}://{{ xenserver_himn_ip }}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
# Cell specific settings from DevStack:
|
# Cell specific settings from DevStack:
|
||||||
# https://opendev.org/openstack/devstack/src/branch/master/lib/nova#L874
|
# https://opendev.org/openstack/devstack/src/branch/master/lib/nova#L874
|
||||||
{% if service_name.startswith("nova-compute") and enable_cells | bool %}
|
{% if service_name.startswith("nova-compute") and enable_cells | bool %}
|
||||||
|
@ -3,11 +3,11 @@ Compute
|
|||||||
=======
|
=======
|
||||||
|
|
||||||
This section describes configuring nova hypervisors and
|
This section describes configuring nova hypervisors and
|
||||||
compute services like HyperV, XenServer and so on.
|
compute services like HyperV and so on.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Hyper-V, VMware, and XenAPI support have been deprecated and will
|
Hyper-V and VMware support have been deprecated and will
|
||||||
be removed in the Victoria cycle.
|
be removed in the Victoria cycle.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
@ -21,5 +21,4 @@ compute services like HyperV, XenServer and so on.
|
|||||||
nova-guide
|
nova-guide
|
||||||
qinling-guide
|
qinling-guide
|
||||||
vmware-guide
|
vmware-guide
|
||||||
xenserver-guide
|
|
||||||
zun-guide
|
zun-guide
|
||||||
|
@ -16,19 +16,3 @@ provides an API service to manage and control the automated rescue mechanism.
|
|||||||
Kolla deploys Masakari API, Masakari Engine and Masakari Instance Monitor
|
Kolla deploys Masakari API, Masakari Engine and Masakari Instance Monitor
|
||||||
containers which are the main Masakari components only if ``enable_masakari``
|
containers which are the main Masakari components only if ``enable_masakari``
|
||||||
is set in ``/etc/kolla/globals.yml``.
|
is set in ``/etc/kolla/globals.yml``.
|
||||||
|
|
||||||
|
|
||||||
Connection URI to libvirtd
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
By default ``masakari-instancemonitor`` will connect to ``libvirt`` daemon
|
|
||||||
using ``qemu+tcp://`` connection URI to get events of KVM-based virtual
|
|
||||||
machines.
|
|
||||||
|
|
||||||
The setting is overridable using custom config, put the content in
|
|
||||||
``/etc/kolla/config/masakari/masakari-monitors.conf``.
|
|
||||||
|
|
||||||
.. code-block:: ini
|
|
||||||
|
|
||||||
[libvirt]
|
|
||||||
connection_uri = "xen://{{ migration_interface_address | put_address_in_context('url') }}/system"
|
|
||||||
|
@ -13,8 +13,8 @@ Virtualisation Drivers
|
|||||||
======================
|
======================
|
||||||
|
|
||||||
The virtualisation driver may be selected via ``nova_compute_virt_type`` in
|
The virtualisation driver may be selected via ``nova_compute_virt_type`` in
|
||||||
``globals.yml``. Supported options are ``qemu``, ``kvm``, ``vmware``, and
|
``globals.yml``. Supported options are ``qemu``, ``kvm``, and ``vmware``.
|
||||||
``xenapi``. The default is ``kvm``.
|
The default is ``kvm``.
|
||||||
|
|
||||||
HyperV
|
HyperV
|
||||||
------
|
------
|
||||||
@ -41,16 +41,6 @@ VMware
|
|||||||
Information on the VMware-based driver ``vmware`` can be found in
|
Information on the VMware-based driver ``vmware`` can be found in
|
||||||
:doc:`vmware-guide`.
|
:doc:`vmware-guide`.
|
||||||
|
|
||||||
XenServer
|
|
||||||
---------
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
XenAPI support has been deprecated and will be removed in the Victoria cycle.
|
|
||||||
|
|
||||||
Information on the XenServer-based driver ``xenapi`` can be found in
|
|
||||||
:doc:`xenserver-guide`.
|
|
||||||
|
|
||||||
Bare Metal
|
Bare Metal
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
@ -1,103 +0,0 @@
|
|||||||
.. _XenServer-guide:
|
|
||||||
|
|
||||||
======================================
|
|
||||||
XenServer - Nova Virtualisation Driver
|
|
||||||
======================================
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
XenAPI support has been deprecated and will be removed in the Victoria cycle.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
========
|
|
||||||
|
|
||||||
Kolla can deploy the OpenStack services on XenServer hosts by choosing
|
|
||||||
``xenapi`` as the compute virt driver.
|
|
||||||
|
|
||||||
In XenServer, there is a privileged domain which is known as dom0;
|
|
||||||
and it can run a number of un-privileged domains which are known as
|
|
||||||
domUs or VMs.
|
|
||||||
|
|
||||||
Most OpenStack services (e.g. Keystone, Glance, Horizon) can run either
|
|
||||||
in the XenServer VMs or in separate baremetal hosts, but some services
|
|
||||||
(which make direct use of the hypervisor) must run in the XenServer VMs.
|
|
||||||
These services will interact with the XenServer host via XenAPI to perform
|
|
||||||
privileged operations. See the following list for such kind of services:
|
|
||||||
|
|
||||||
* ``nova-compute``
|
|
||||||
|
|
||||||
* ``neutron-openvswitch-agent-xenapi``
|
|
||||||
|
|
||||||
* ``ceilometer-compute``
|
|
||||||
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
At the moment, only CentOS 7.x has been tested.
|
|
||||||
|
|
||||||
Preparation for compute node on XenServer hosts
|
|
||||||
===============================================
|
|
||||||
|
|
||||||
We need some bootstrap tasks particularly for XenAPI compute nodes. The
|
|
||||||
tasks are implemented in the package of ``python-os-xenapi`` and exposed
|
|
||||||
to kolla-ansible via a single command - ``xenapi_bootstrap``. This package
|
|
||||||
is contained in the ``RDO CloudSIG repository`` [`RDO repos`_] and will be
|
|
||||||
installed on compute nodes at nova deployment. So we need ensure this
|
|
||||||
repository is reachable from the compute nodes or cache the repository
|
|
||||||
locally.
|
|
||||||
|
|
||||||
Create a compute VM on each XenServer host which will be used to boot
|
|
||||||
instances on. The VM must meet the common requirements declared by
|
|
||||||
kolla-ansible for KVM/QEMU deployment.
|
|
||||||
|
|
||||||
Additionally you should install PV driver in the VM [`XenServer documents`_];
|
|
||||||
and create the HIMN(Host Internal Management Network) for each compute VM
|
|
||||||
by following these steps:
|
|
||||||
|
|
||||||
1. In XenCenter, from the menu choose "View -> Hidden Objects";
|
|
||||||
|
|
||||||
2. You will see HIMN in the host's 'Networking' page;
|
|
||||||
|
|
||||||
3. Create an interface on HIMN for the compute VM.
|
|
||||||
|
|
||||||
The remaining instructions are just the same as the preparations for
|
|
||||||
KVM/QEMU deployment.
|
|
||||||
|
|
||||||
Deployment
|
|
||||||
----------
|
|
||||||
|
|
||||||
Enable the virt type ``xenapi`` and configure connection options in
|
|
||||||
``/etc/kolla/globals.yml``:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
nova_compute_virt_type: "xenapi"
|
|
||||||
xenserver_username: "root"
|
|
||||||
xenserver_connect_protocol: "https"
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
When using ``https`` as the connection protocol, please refer XenServer
|
|
||||||
user document to setup the signed SSL certificates to allow the secure
|
|
||||||
communications between dom0 and domU. Otherwise, please use ``http`` for
|
|
||||||
self-signed certificates.
|
|
||||||
|
|
||||||
You also need set the password for xenserver_username in
|
|
||||||
``/etc/kolla/passwords.yml``:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
xenserver_password: "root_password"
|
|
||||||
|
|
||||||
Then you can start kolla-ansible deployment just following the
|
|
||||||
:doc:`/user/quickstart`.
|
|
||||||
|
|
||||||
References
|
|
||||||
==========
|
|
||||||
|
|
||||||
For more information on XenAPI OpenStack, see
|
|
||||||
:nova-doc:`XenAPI OpenStack <admin/configuration/hypervisor-xen-api.html>`
|
|
||||||
|
|
||||||
.. _RDO repos: https://www.rdoproject.org/what/repos/
|
|
||||||
|
|
||||||
.. _XenServer documents: https://docs.citrix.com/en-us/xenserver/current-release.html
|
|
@ -510,7 +510,7 @@
|
|||||||
########################
|
########################
|
||||||
#nova_backend_ceph: "no"
|
#nova_backend_ceph: "no"
|
||||||
|
|
||||||
# Valid options are [ qemu, kvm, vmware, xenapi ]
|
# Valid options are [ qemu, kvm, vmware ]
|
||||||
#nova_compute_virt_type: "kvm"
|
#nova_compute_virt_type: "kvm"
|
||||||
|
|
||||||
# The number of fake driver per compute node
|
# The number of fake driver per compute node
|
||||||
@ -635,18 +635,6 @@
|
|||||||
#vmware_vcenter_name:
|
#vmware_vcenter_name:
|
||||||
#vmware_vcenter_cluster_name:
|
#vmware_vcenter_cluster_name:
|
||||||
|
|
||||||
#######################################
|
|
||||||
# XenAPI - Support XenAPI for XenServer
|
|
||||||
#######################################
|
|
||||||
|
|
||||||
# NOTE: XenAPI support has been deprecated and will be removed in the Victoria cycle.
|
|
||||||
|
|
||||||
# XenAPI driver use HIMN(Host Internal Management Network)
|
|
||||||
# to communicate with XenServer host.
|
|
||||||
#xenserver_himn_ip:
|
|
||||||
#xenserver_username:
|
|
||||||
#xenserver_connect_protocol:
|
|
||||||
|
|
||||||
############
|
############
|
||||||
# Prometheus
|
# Prometheus
|
||||||
############
|
############
|
||||||
|
@ -254,11 +254,6 @@ etcd_cluster_token:
|
|||||||
####################
|
####################
|
||||||
redis_master_password:
|
redis_master_password:
|
||||||
|
|
||||||
################
|
|
||||||
# XenAPI options
|
|
||||||
################
|
|
||||||
xenserver_password:
|
|
||||||
|
|
||||||
####################
|
####################
|
||||||
# Prometheus options
|
# Prometheus options
|
||||||
####################
|
####################
|
||||||
|
4
releasenotes/notes/remove-xenapi-94ea90ffd61bae20.yaml
Normal file
4
releasenotes/notes/remove-xenapi-94ea90ffd61bae20.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
Support for deploying with XenAPI integrations has been removed.
|
Loading…
Reference in New Issue
Block a user