powervm: drop support
The PowerVM driver has been untested for a few years as well as broken due to using the wrong driver as well. It's not possible to test it within our infrastructure neither has there been any contributions to improve/fix it. This patch drops the support for it. Change-Id: Iea84648c7ff65b5a4d8b97957fb92716578f714d
This commit is contained in:
parent
53682cebcb
commit
3341ce834f
@ -172,10 +172,6 @@ nova_virt_types:
|
||||
nova_reserved_host_memory_mb: 2048
|
||||
nova_scheduler_tracks_instance_changes: True
|
||||
nova_cpu_mode: "none"
|
||||
powervm:
|
||||
nova_compute_driver: powervm.driver.PowerVMDriver
|
||||
nova_reserved_host_memory_mb: 8192
|
||||
nova_scheduler_tracks_instance_changes: True
|
||||
|
||||
|
||||
# If this is not set, then the playbook will try to guess it.
|
||||
@ -190,7 +186,6 @@ nova_supported_virt_types:
|
||||
- kvm
|
||||
- lxd
|
||||
- ironic
|
||||
- powervm
|
||||
|
||||
## Nova Auth
|
||||
nova_service_region: RegionOne
|
||||
@ -565,10 +560,6 @@ nova_vendor_data_overrides: {}
|
||||
nova_api_metadata_uwsgi_ini_overrides: {}
|
||||
nova_api_os_compute_uwsgi_ini_overrides: {}
|
||||
|
||||
nova_compute_powervm_pip_packages:
|
||||
- nova-powervm
|
||||
- pyasn1-modules
|
||||
|
||||
lxd_bind_address: 0.0.0.0
|
||||
lxd_bind_port: 8443
|
||||
|
||||
|
@ -1,112 +0,0 @@
|
||||
`Home <index.html>`_ OpenStack-Ansible Neutron
|
||||
|
||||
=====================================
|
||||
Scenario - Using PowerVM Nova plugin
|
||||
=====================================
|
||||
|
||||
Prerequisites
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
In order to use the PowerVM OpenStack drivers with OpenStack-Ansible (OSA), the
|
||||
following pre-requisites must be fulfilled:
|
||||
|
||||
- At least one of the repo-build servers must be ppc64le. Can mix and match
|
||||
repo-build servers between x86 and ppc64le.
|
||||
|
||||
- The compute nodes should be pre-configured for PowerVM with the NovaLink_
|
||||
feature.
|
||||
|
||||
- The NovaLink Management VM needs at least one direct attach I/O card.
|
||||
OpenStack Ansible is currently able to deploy the PowerVM drivers when
|
||||
paired with the Open vSwitch agent. The traditional PowerVM Shared Ethernet
|
||||
Adapter networking agent is not yet supported.
|
||||
|
||||
- The network topology on the NovaLink must match a supported OpenStack
|
||||
Ansible network configuration.
|
||||
|
||||
.. _NovaLink: http://www.ibm.com/support/knowledgecenter/POWER8/p8eig/p8eig_kickoff.htm?cp=POWER8
|
||||
|
||||
|
||||
PowerVM usage
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
The Compute driver for OpenStack-Ansible should automatically detect that it
|
||||
is of type PowerVM. If the user has specified a specific compute type, that
|
||||
is applicable to the whole cloud. It is advised that the you allow OSA to
|
||||
detect the appropriate compute node type.
|
||||
|
||||
The full set of configuration options for the PowerVM driver can be
|
||||
found in the ``nova-powervm`` usage_.
|
||||
|
||||
.. _usage: http://nova-powervm.readthedocs.io/en/latest/devref/usage.html
|
||||
|
||||
|
||||
Configuring storage
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
There are various storage back ends available for PowerVM such as local disk
|
||||
and shared storage pools. For example, to enable local disk storage backed by
|
||||
a logical volume group, you can set:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
nova_nova_conf_overrides:
|
||||
powervm:
|
||||
disk_driver: localdisk
|
||||
volume_group_name: <<VOLUME GROUP NAME>>
|
||||
|
||||
To enable iSCSI as the volume attachment type, you can set the
|
||||
``volume_adapter`` setting:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
nova_nova_conf_overrides:
|
||||
powervm:
|
||||
volume_adapter: iscsi
|
||||
|
||||
The default volume attachment type for PowerVM is fibre channel.
|
||||
|
||||
Enabling VNC console
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PowerVM only supports connecting to instance consoles over VNC. As
|
||||
OpenStack-Ansible defaults to Spice console, you must set the
|
||||
``nova_console_type`` variable to enable NoVNC:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
nova_console_type: novnc
|
||||
|
||||
|
||||
Enabling configuration drive
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
By default, PowerVM uses configuration drives to provide configuration
|
||||
information to instances built by nova. To enable this support in
|
||||
OpenStack-Ansible, you can set the ``nova_force_config_drive``
|
||||
variable as documented in the `nova configuration instructions`_.
|
||||
|
||||
.. _nova configuration instructions: ./configure-nova.html#config-drive
|
||||
|
||||
Additionally, you can enable flat network injection by using the
|
||||
``nova_nova_conf_overrides`` variable:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
nova_nova_conf_overrides:
|
||||
DEFAULT:
|
||||
flat_injected: True
|
||||
|
||||
Enabling PowerVM RMC
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To enable PowerVM RMC_, IPv4/IPv6 dual-stack mode must be enabled. To do this,
|
||||
you must set ``use_ipv6`` using the ``nova_nova_conf_overrides`` variable:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
nova_nova_conf_overrides:
|
||||
DEFAULT:
|
||||
use_ipv6: True
|
||||
|
||||
.. _RMC: http://www.ibm.com/support/knowledgecenter/8284-22A/p8eig/p8eig_rmc.htm
|
@ -6,7 +6,6 @@ Nova role for OpenStack-Ansible
|
||||
:maxdepth: 2
|
||||
|
||||
configure-nova.rst
|
||||
app-powervm.rst
|
||||
|
||||
:tags: openstack, nova, cloud, ansible
|
||||
:category: \*nix
|
||||
@ -81,13 +80,11 @@ compute drivers are supported:
|
||||
- libvirt (default)
|
||||
- ironic
|
||||
- lxd (via nova-lxd)
|
||||
- powervm (via nova-powervm)
|
||||
|
||||
The driver type is automatically detected by the OpenStack Ansible Nova role
|
||||
for the following compute driver types:
|
||||
|
||||
- libvirt (kvm / qemu)
|
||||
- powervm
|
||||
|
||||
Any mix and match of compute node types can be used for those platforms,
|
||||
except for ironic.
|
||||
|
5
releasenotes/notes/drop-powervm-6fed6605a4bf72cf.yaml
Normal file
5
releasenotes/notes/drop-powervm-6fed6605a4bf72cf.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
deprecations:
|
||||
- The PowerVM driver has been removed as it is not tested and
|
||||
it has been broken since late 2016 due to the driver name
|
||||
being renamed to powervm_ext instead of powervm.
|
@ -1,59 +0,0 @@
|
||||
---
|
||||
# Copyright 2016, IBM Corp.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- name: Install pip packages
|
||||
pip:
|
||||
name: "{{ nova_compute_powervm_pip_packages }}"
|
||||
state: "{{ nova_pip_package_state }}"
|
||||
virtualenv: "{{ nova_bin | dirname }}"
|
||||
virtualenv_site_packages: "no"
|
||||
extra_args: >-
|
||||
{{ nova_developer_mode | ternary(pip_install_developer_constraints | default('--constraint /opt/developer-pip-constraints.txt'), '') }}
|
||||
{{ (pip_install_upper_constraints is defined) | ternary('--constraint ' + pip_install_upper_constraints | default(''),'') }}
|
||||
{{ pip_install_options|default('') }}
|
||||
register: install_packages
|
||||
until: install_packages is success
|
||||
retries: 5
|
||||
delay: 2
|
||||
tags:
|
||||
- nova-install
|
||||
- nova-pip-packages
|
||||
|
||||
- name: Add nova user to pvm_admin group
|
||||
user:
|
||||
name: "{{ nova_system_user_name }}"
|
||||
groups: "pvm_admin"
|
||||
append: "yes"
|
||||
tags:
|
||||
- nova-install
|
||||
- nova-powervm
|
||||
|
||||
- name: Ensure powervm permissions
|
||||
command: "udevadm trigger"
|
||||
changed_when: false
|
||||
tags:
|
||||
- nova-config
|
||||
- nova-powervm
|
||||
|
||||
- name: Template Nova interfaces file
|
||||
template:
|
||||
src: nova-interfaces-template.j2
|
||||
dest: /etc/nova/nova-interfaces-template
|
||||
owner: "root"
|
||||
group: "root"
|
||||
mode: 0644
|
||||
tags:
|
||||
- nova-config
|
||||
- nova-powervm
|
@ -13,13 +13,6 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- name: Setup powervm repository
|
||||
include_tasks: nova_install_apt_powervm.yml
|
||||
when:
|
||||
- "nova_services['nova-compute']['group'] in group_names"
|
||||
- "nova_virt_type == 'powervm'"
|
||||
- "ansible_pkg_mgr == 'apt'"
|
||||
|
||||
- name: Record the installation method
|
||||
ini_file:
|
||||
dest: "/etc/ansible/facts.d/openstack_ansible.fact"
|
||||
|
@ -1,54 +0,0 @@
|
||||
---
|
||||
# Copyright 2017, IBM Corp.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- name: Add novalink keys
|
||||
apt_key:
|
||||
url: "{{ item.url }}"
|
||||
state: "{{ item.state }}"
|
||||
register: add_nv_keys
|
||||
until: add_nv_keys is success
|
||||
retries: 5
|
||||
delay: 2
|
||||
with_items: "{{ novalink_gpg_keys }}"
|
||||
tags:
|
||||
- novalink-apt-keys
|
||||
|
||||
# When updating the cache in the apt_repository
|
||||
# task, and the update fails, a retry does not
|
||||
# detect a change the second attempt and therefore
|
||||
# does not update the cache, resulting in a changed
|
||||
# repo config, but no updated cache. To work around
|
||||
# this bug we implement the change of repo config
|
||||
# and the cache update as two seperate tasks.
|
||||
- name: Add novalink repo
|
||||
apt_repository:
|
||||
repo: "{{ novalink_repo.repo }}"
|
||||
state: "{{ novalink_repo.state }}"
|
||||
filename: "{{ novalink_repo.filename | default(omit) }}"
|
||||
update_cache: no
|
||||
register: add_nv_repos
|
||||
tags:
|
||||
- novalink-repo
|
||||
|
||||
- name: Update Apt cache
|
||||
apt:
|
||||
update_cache: yes
|
||||
when: add_nv_repos is changed
|
||||
register: update_apt_cache
|
||||
until: update_apt_cache is success
|
||||
retries: 5
|
||||
delay: 2
|
||||
tags:
|
||||
- novalink-repo
|
@ -36,15 +36,6 @@
|
||||
or (dev_kvm.stat.ischr is defined and dev_kvm.stat.ischr
|
||||
and ansible_architecture == 'aarch64')
|
||||
|
||||
- name: Register a fact for the nova powervm virt type
|
||||
set_fact:
|
||||
nova_virt_type: "powervm"
|
||||
when:
|
||||
- nova_virt_type is not defined
|
||||
- cpuinfo_contents.stdout.find('pSeries') != -1
|
||||
- ansible_architecture == 'ppc64le'
|
||||
- cpuinfo_contents.stdout.find('qemu') == -1
|
||||
|
||||
- name: Register a fact for the nova qemu virt type
|
||||
set_fact:
|
||||
nova_virt_type: "qemu"
|
||||
|
@ -1,51 +0,0 @@
|
||||
# {{ ansible_managed }}
|
||||
|
||||
{% raw %}
|
||||
# Injected by Nova on instance boot
|
||||
#
|
||||
# This file describes the network interfaces available on your system
|
||||
# and how to activate them. For more information, see interfaces(5).
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
{% for ifc in interfaces %}
|
||||
|
||||
auto {{ ifc.name }}
|
||||
{% if ifc.address %}
|
||||
iface {{ ifc.name }} inet static
|
||||
hwaddress ether {{ ifc.hwaddress }}
|
||||
address {{ ifc.address }}
|
||||
netmask {{ ifc.netmask }}
|
||||
broadcast {{ ifc.broadcast }}
|
||||
{% if ifc.gateway %}
|
||||
gateway {{ ifc.gateway }}
|
||||
{% endif %}
|
||||
{% if ifc.dns %}
|
||||
dns-nameservers {{ ifc.dns }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if use_ipv6 %}
|
||||
{% if ifc.address_v6 %}
|
||||
{% if libvirt_virt_type == 'lxc' %}
|
||||
iface {{ ifc.name }} inet6 manual
|
||||
post-up ip -6 addr add {{ ifc.address_v6 }}/{{ifc.netmask_v6 }} dev ${IFACE}
|
||||
{% if ifc.gateway_v6 %}
|
||||
post-up ip -6 route add default via {{ ifc.gateway_v6 }} dev ${IFACE}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
iface {{ ifc.name }} inet6 static
|
||||
hwaddress ether {{ ifc.hwaddress }}
|
||||
address {{ ifc.address_v6 }}
|
||||
netmask {{ ifc.netmask_v6 }}
|
||||
{% if ifc.gateway_v6 %}
|
||||
gateway {{ ifc.gateway_v6 }}
|
||||
{% endif %}
|
||||
{% if ifc.dns_v6 %}
|
||||
dns-nameservers {{ ifc.dns_v6 }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endraw %}
|
@ -60,10 +60,6 @@ libvirt_vif_type = ethernet
|
||||
# Hypervisor
|
||||
default_ephemeral_format = ext4
|
||||
|
||||
{% if nova_virt_type == 'powervm' %}
|
||||
injected_network_template = /etc/nova/nova-interfaces-template
|
||||
{% endif %}
|
||||
|
||||
# Configdrive
|
||||
force_config_drive = {{ nova_force_config_drive }}
|
||||
|
||||
|
@ -114,30 +114,7 @@ nova_compute_lxd_distro_packages:
|
||||
- vlan
|
||||
- thin-provisioning-tools
|
||||
|
||||
# nova powervm virt driver
|
||||
nova_compute_powervm_distro_packages:
|
||||
- bridge-utils
|
||||
- genisoimage
|
||||
- kpartx
|
||||
- open-iscsi
|
||||
- python-guestfs
|
||||
- sysfsutils
|
||||
- vlan
|
||||
- nfs-common
|
||||
- dosfstools
|
||||
- multipath-tools
|
||||
- pvm-novalink
|
||||
|
||||
nova_compute_ksm_packages:
|
||||
- ksmtuned
|
||||
|
||||
novalink_repo:
|
||||
repo: "deb [arch=ppc64el] http://public.dhe.ibm.com/systems/virtualization/Novalink/debian/ novalink_1.0.0 non-free"
|
||||
state: "present"
|
||||
filename: "public_dhe_ibm_com_systems_virtualization_Novalink_debian"
|
||||
|
||||
novalink_gpg_keys:
|
||||
- url: "http://public.dhe.ibm.com/systems/virtualization/Novalink/debian/novalink-gpg-pub.key"
|
||||
state: "present"
|
||||
|
||||
nova_uwsgi_bin: '/usr/bin'
|
||||
|
@ -43,8 +43,6 @@ nova_package_list: |-
|
||||
{% elif nova_virt_type == 'lxd' %}
|
||||
{% set _ = packages.extend(nova_compute_lxd_distro_packages) %}
|
||||
{% set _ = packages.extend(nova_service_extra_distro_packages['lxd']) %}
|
||||
{% elif nova_virt_type == 'powervm' %}
|
||||
{% set _ = packages.extend(nova_compute_powervm_distro_packages) %}
|
||||
{% endif %}
|
||||
{% if nova_barbican_enabled | bool %}
|
||||
{% set _ = packages.extend(nova_compute_barbican_distro_packages) %}
|
||||
|
@ -89,9 +89,4 @@ nova_compute_oslomsg_amqp1_distro_packages:
|
||||
# TODO: add support for LXD on CentOS at some point.
|
||||
nova_compute_lxd_distro_packages: []
|
||||
|
||||
# TODO: add support for PowerVM/NovaLink on CentOS at some point.
|
||||
nova_compute_powervm_distro_packages: []
|
||||
|
||||
novalink_gpg_keys: []
|
||||
|
||||
nova_uwsgi_bin: '/usr/sbin'
|
||||
|
@ -28,8 +28,6 @@ nova_package_list: |-
|
||||
{% endif %}
|
||||
{% elif nova_virt_type == 'lxd' %}
|
||||
{% set _ = packages.extend(nova_compute_lxd_distro_packages) %}
|
||||
{% elif nova_virt_type == 'powervm' %}
|
||||
{% set _ = packages.extend(nova_compute_powervm_distro_packages) %}
|
||||
{% endif %}
|
||||
{% if nova_barbican_enabled | bool %}
|
||||
{% set _ = packages.extend(nova_compute_barbican_distro_packages) %}
|
||||
|
@ -100,9 +100,4 @@ nova_compute_oslomsg_amqp1_distro_packages:
|
||||
# TODO: add support for LXD on openSUSE at some point.
|
||||
nova_compute_lxd_distro_packages: []
|
||||
|
||||
# TODO: add support for PowerVM/NovaLink on openSUSE at some point.
|
||||
nova_compute_powervm_distro_packages: []
|
||||
|
||||
novalink_gpg_keys: []
|
||||
|
||||
nova_uwsgi_bin: '/usr/sbin'
|
||||
|
Loading…
Reference in New Issue
Block a user