80 Commits

Author SHA1 Message Date
Mark Goddard
67c59b1cf7 Remove stale nova-consoleauth variables
Nova-consoleauth support was removed in
I099080979f5497537e390f531005a517ab12aa7a, but these variables were
left.

Change-Id: I1ce1631119bba991225835e8e409f11d53276550
2019-08-22 12:25:18 +01:00
Zuul
651b983bdb Merge "Restart all nova services after upgrade" 2019-06-27 13:39:12 +00:00
Mark Goddard
e6d2b92200 Restart all nova services after upgrade
During an upgrade, nova pins the version of RPC calls to the minimum
seen across all services. This ensures that old services do not receive
data they cannot handle. After the upgrade is complete, all nova
services are supposed to be reloaded via SIGHUP to cause them to check
again the RPC versions of services and use the new latest version which
should now be supported by all running services.

Due to a bug [1] in oslo.service, sending services SIGHUP is currently
broken. We replaced the HUP with a restart for the nova_compute
container for bug 1821362, but not other nova services. It seems we need
to restart all nova services to allow the RPC version pin to be removed.

Testing in a Queens to Rocky upgrade, we find the following in the logs:

Automatically selected compute RPC version 5.0 from minimum service
version 30

However, the service version in Rocky is 35.

There is a second issue in that it takes some time for the upgraded
services to update the nova services database table with their new
version. We need to wait until all nova-compute services have done this
before the restart is performed, otherwise the RPC version cap will
remain in place. There is currently no interface in nova available for
checking these versions [2], so as a workaround we use a configurable
delay with a default duration of 30 seconds. Testing showed it takes
about 10 seconds for the version to be updated, so this gives us some
headroom.

This change restarts all nova services after an upgrade, after a 30
second delay.

[1] https://bugs.launchpad.net/oslo.service/+bug/1715374
[2] https://bugs.launchpad.net/nova/+bug/1833542

Change-Id: Ia6fc9011ee6f5461f40a1307b72709d769814a79
Closes-Bug: #1833069
Related-Bug: #1833542
2019-06-27 09:36:20 +00:00
Jeffrey Zhang
4e032923c0 Remove nova-consoleauth
The nova-consoleauth service was deprecated during the Rocky release [1]
and has not been necessary since unless you're using cells v1. As Kolla
has never supported cells v1, which is finally being removed during
Train [2], we can get ahead of the curve and stop deploying
nova-consoleauth immediately.

[1] https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/convert-consoles-to-objects.html
[2] https://blueprints.launchpad.net/nova/+spec/remove-cells-v1/

Change-Id: I099080979f5497537e390f531005a517ab12aa7a
2019-06-16 16:39:07 +08:00
Zuul
a4431930c6 Merge "Remove /%(tenant_id)s suffix from v2.1 endpoints" 2019-06-07 09:08:07 +00:00
Pierre Riteau
82551a2bfb Remove /%(tenant_id)s suffix from v2.1 endpoints
The installation guide [1] uses endpoints ending at the /v2.1 suffix.

[1] https://docs.openstack.org/nova/stein/install/controller-install.html

Change-Id: I92af045da67f9e746fd6e4b94e56bb8aa72850c4
2019-05-31 18:42:49 +01:00
binhong.hua
12ff28a693 Make kolla-ansible support extra volumes
When integrating 3rd party component into openstack with kolla-ansible,
maybe have to mount some extra volumes to container.

Change-Id: I69108209320edad4c4ffa37dabadff62d7340939
Implements: blueprint support-extra-volumes
2019-05-17 11:55:04 +08:00
Mark Goddard
192dcd1e1b Fix booting instances after nova-compute upgrade
After upgrading from Rocky to Stein, nova-compute services fail to start
new instances with the following error message:

Failed to allocate the network(s), not rescheduling.

Looking in the nova-compute logs, we also see this:

Neutron Reported failure on event
network-vif-plugged-60c05a0d-8758-44c9-81e4-754551567be5 for instance
32c493c4-d88c-4f14-98db-c7af64bf3324: NovaException: In shutdown, no new
events can be scheduled

During the upgrade process, we send nova containers a SIGHUP to cause
them to reload their object version state. Speaking to the nova team in
IRC, there is a known issue with this, caused by oslo.service performing
a full shutdown in response to a SIGHUP, which breaks nova-compute.
There is a patch [1] in review to address this.

The workaround employed here is to restart the nova compute service.

[1] https://review.openstack.org/#/c/641907

Change-Id: Ia4fcc558a3f62ced2d629d7a22d0bc1eb6b879f1
Closes-Bug: #1821362
2019-03-22 16:26:36 +00:00
Eduardo Gonzalez
2fc6d4cfc5 Split placement from nova
Depends-On: https://review.openstack.org/#/c/642958
Depends-On: https://review.openstack.org/642984
Change-Id: If795a9eb3ec92f75867ce3f755d6b832eba31af9
2019-03-15 15:19:54 +00:00
Jim Rollenhagen
51c9e1b633 Allow nova services to use independent hostnames
This allows nova service endpoints to use custom hostnames, and adds the
following variables:

* nova_internal_fqdn
* nova_external_fqdn
* placement_internal_fqdn
* placement_external_fqdn
* nova_novncproxy_fqdn
* nova_spicehtml5proxy_fqdn
* nova_serialproxy_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds the following variables:

* nova_api_listen_port
* nova_metadata_listen_port
* nova_novncproxy_listen_port
* nova_spicehtml5proxy_listen_port
* nova_serialproxy_listen_port
* placement_api_listen_port

These default to <service>_port, e.g. nova_api_port, for backward
compatibility.

These options allow the user to differentiate between the port the
service listens on, and the port the service is reachable on. This is
useful for external load balancers which live on the same host as the
service itself.

Change-Id: I7bcce56a2138eeadcabac79dd07c8dba1c5af644
Implements: blueprint service-hostnames
2019-02-08 10:25:02 -05:00
binhong.hua
023334dfcb optimize qemu.conf
bump up the max_files to 32768 and max_processes to 131072.
when nova used ceph as backend, the default limit 1024 is not enough.
each connection from rbd image to osd needs 1 fd and 2 threads. if we
have 200 osds, we need 200 fds and 400 threads for 1 image.

Change-Id: I94c3ec111473ea2ccacdea5dbbf3fdc9c569859f
2019-01-18 02:28:35 +00:00
Zuul
acda7ba592 Merge "Configure vitrage notification topic" 2018-12-20 03:26:54 +00:00
Patrick O'Neill
f77cc87e81 Add support for Quobyte backend to Cinder and Nova
Add an enable_cinder_backend_quobyte option to etc/kolla/globals.yml to
enable use the Quobyte Cinder backend.
Change the bind mounts for /var/lib/nova/mnt to include the shared
propogation if Quobyte is enabled.
Update the documentation to include a section on configuring the Cinder.

Implements: blueprint cinder-quobyte-backend

Change-Id: I364939407ad244fe81cea40f880effdbcaa8a20d
2018-12-17 11:58:56 +00:00
Kien Nguyen
838cffd9c9 Configure vitrage notification topic
According [1], vitrage notification has to be configured in Nova,
Neutron, Cinder & Aodh config file.

[1] https://review.openstack.org/#/c/302802/

Change-Id: Iaf8cd7d40e6eb988adf4d208e6ad784f1004caa5
2018-12-17 08:10:39 +07:00
Will Szumski
28287826e8 Make tunnel timeout for nova_serialconsole_proxy configurable
Currently, the serial consoles as accessed through Horizon,
timeout after the haproxy_client_timeout (default: 1m) of
inactivity. This change allows you to set a larger timeout.

Change-Id: I2a9923cb69d5db976395146685aded83922c4120
Closes-Bug: #1800643
2018-10-31 09:40:53 +00:00
Zuul
9efd44d937 Merge "[nova] Fix missing blacklist permission." 2018-10-17 16:02:41 +00:00
howardlee
8b292c99bf Git checkout version support for several projects
Kolla-ansible provides support for the dev mode for some projects
of openstack, but there are still some projects that do not yet
support specific release tag. This patch will implement this function
for these project.

Change-Id: I917b27dd61295b542457a21b240afe2cd4e83e58
2018-10-03 15:30:06 +08:00
Jorge Niedbalski
48e9898abd [nova] Fix missing blacklist permission.
The cephx keys are missing a default permission
to allow to see blacklisted clients.

This permission ensures that in the event of a client
crash (kill -9/hard shutdown/power outage) the client
can re-connect and write to any devices after reboot.

Closes-Bug: 1773449

Change-Id: I44d3982233f892d2c0ce3b9964194d8098453978
Signed-off-by: Jorge Niedbalski <jorge.niedbalski@linaro.org>
2018-10-02 18:31:00 -03:00
Adam Harwell
f1c8136556 Refactor haproxy config (split by service) V2.0
Having all services in one giant haproxy file makes altering
configuration for a service both painful and dangerous. Each service
should be configured with a simple set of variables and rendered with a
single unified template.

Available are two new templates:

* haproxy_single_service_listen.cfg.j2: close to the original style, but
only one service per file
* haproxy_single_service_split.cfg.j2: using the newer haproxy syntax
for separated frontend and backend

For now the default will be the single listen block, for ease of
transition.

Change-Id: I6e237438fbc0aa3c89a3c8bd706a53b74e71904b
2018-09-26 03:30:38 -07:00
Duong Ha-Quang
c79c5d1f36 Apply Nova rolling upgrade logic
This patchset apply Nova rolling upgrade logic [1]

[1] https://docs.openstack.org/nova/latest/user/upgrade.html

Implements: blueprint apply-service-upgrade-procedure

Co-Authored-By: Ha Manh Dong <donghm@vn.fujitsu.com>
Depends-On: https://review.openstack.org/#/c/558765/
Change-Id: I20531a25dc7f5b05dc70ba771cf4c4222ade33e3
2018-09-19 16:25:51 +07:00
caoyuan
0b0b2b39d7 Provide support for nova dev mode in kolla
Add a possibility to mount sources as volumes to containers,
in "more than documentation" way. That will let us to use kolla
as a replacement for devstack.

Partially implements: blueprint mount-sources
Co-Authored-By: zhulingjie <easyzlj@gmail.com>

Change-Id: I10677e5ad22f2107a0657feeeaf32287ab9f8e28
2018-08-24 10:50:45 +05:30
Doug Szumski
264866ca2b Support setting rp_filter mode
Enables setting rp_filter mode on Neutron L3 agent and Nova compute
hosts whilst maintaining the default that it is disabled.

Closes-Bug: #1782799
Change-Id: I93e53bad9727beb786b00bd7fcd6d78785c619c2
2018-07-20 16:41:00 +01:00
Zuul
8ce120159c Merge "Allow disabling nova-ssh" 2018-07-20 10:58:14 +00:00
Zuul
60a4780d94 Merge "Make nova nova_instance_datadir_volume configurable." 2018-07-18 17:07:00 +00:00
Clint Byrum
6781c18134 Allow disabling nova-ssh
This service is only required if you want to support cold migration.
In some instances that is not a needed feature, and avoiding having
another key to manage is an advantage.

Co-Authored-By: Adam Harwell <flux.adam@gmail.com>

Change-Id: I0a55a91673d9178933f134832df4bd849ddf5af4
2018-07-16 17:58:51 +00:00
Lakshmi Prasanna Goutham Pratapa
297eb5e88f Add resource Constraints to Nova containers.
This commit will constrain the dimensions of service `Nova`
and sub-containers deployed along with it.

A user can give the dimension values in `/etc/kolla/globals.yml`
the data-types just like stated in this commit.

Reference-Docs:
https://docs.docker.com/config/containers/resource_constraints/

Added Test-cases for the same.

Partially-Implements: blueprint resource-constraints
Change-Id: I6458d8fb7b26a6e7c3a9fd0d674d9cf129b0bf5d
2018-07-12 23:24:05 +05:30
MinSun
f692b4c9ac Make nova nova_instance_datadir_volume configurable.
User can use custom directory for nova instance.
For example using a shared file system as backend.

Change-Id: I11fe4891719a2e2a34888d8b798df5602e294e4f
2018-07-05 10:16:59 +08:00
Jeffrey Zhang
3397668d10 Migrate ceph keyring creation to kolla_ceph_keyring module
In this way, keyring caps is updatable.

Change-Id: Idf7f222645b5073e2c72d59eecf3d47b3f1dc6ba
2018-07-02 09:49:48 +08:00
Gary Kotton
0ef27dd076 Add support for NSXV3
NSXV3 is the OpenStack support for the NSX Transformers platform.
This is supported from neutron in the Mitaka version. This patch
adds Kolla support

This adds a new neutron_plugin_agent type 'vmware_nsxv3'. The plugin
does not run any neutron agents.

Change-Id: I1ecd7e5f3471e4ff03cfe8c9a3aff17af3fe1842
2018-06-03 15:03:04 +03:00
Christian Berendt
ad9dc76112 nova: make libvirt port configurable and check if the port is free
Change-Id: I7dbb5a33ef78dc4ecd338ffbd59a29c0fe3be9c5
2018-05-18 10:26:39 +02:00
Gerry Buteau
2f69b3cbc6 Configure Infoblox as an IPAM driver for neutron
This patch allows configuration of the Infoblox
pluggable IPAM driver in neutron [0].

When 'infoblox' is chosen as the driver, an Infoblox
IPAM agent can be started as well.  The agent
allows for enhanced DNS capabilities by listening
for neutron and nova notifications.

[0] https://github.com/openstack/networking-infoblox/blob/master/README.rst

Change-Id: I4f863750a7806a7b6eaf13900d44e5f063afe3de
Depends-On: Ia44f0e0d7a0d60cebf0857ad51700e02eba5099b
Partially-Implements: blueprint neutron-ipam-driver-infoblox
2018-04-16 08:45:40 -04:00
Eduardo Gonzalez
ea1a1dee0d Verify YAML syntax in gates
This patchset implements yamllint test to all *.yml
files.

Also fixes syntax errors to make jobs to pass.

Change-Id: I3186adf9835b4d0cada272d156b17d1bc9c2b799
2018-03-26 17:56:22 +02:00
Zuul
9275ba878f Merge "FIX inject password error" 2018-03-12 14:27:32 +00:00
Alexandru Bogdan Pica
8e3b79440c Implement external MariaDB and pre-configured Databases support
This change allows the following use cases:

1. Using an already-configured MariaDB / MySQL server / Cluster
2. Using already-created DB users, without requiring root DB access.

Update: added external mariadb precheck

Change-Id: I78b0d178306d7c5293b0bf53e445f19f18b4b824
Implements: blueprint external-mariadb-support.
Closes-Bug: #1603121
2018-01-23 13:07:40 +00:00
caoyuan
b63ecd7e3e Update kolla_internal_fqdn to database_address since it defined in all.yml
through the database_address has beed defined in groups_vars/all.yml, we should
better use it, this way, if we want to use external database, we just need to
redefined in all.yml

refer to https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L83
Co-Authored-By: chenqiaomin <chen.qiaomin@99cloud.net>

Change-Id: Ie559301451954e16347ceaabf02f594c5c5cbe56
2018-01-17 13:01:48 +08:00
Zhaokun Fu
93fcfe7134 FIX inject password error
The envirenment variable LIBGUESTFS_BACKEND = direct
is not enabled by default in docker container.
Without it, GuestFS() init failed.

Closes-Bug: #1742029

Change-Id: I24330502df7abc8e8f952ebb41bd9ae5e4ba1168
2018-01-12 07:54:59 +00:00
Marcin Juszkiewicz
dff7896d02 nova: set libvirt/cpu_mode on aarch64 to working value
Instance failed to spawn: libvirtError: unsupported configuration: CPU
mode 'host-model' for aarch64 kvm domain on aarch64 host is not
supported by hypervisor.

Change-Id: Iad530457aef24ee8f561a8f7d2c6c6150c55bc42
2018-01-03 14:22:23 +00:00
Christian Berendt
39adda41b6 Add placement section to neutron.conf
This is required by routed provider networks.

Change-Id: I529c310c5119e68343114dc1ef12d7d8cc7e2ce1
2017-10-09 07:17:20 +00:00
Jenkins
1b9acf0663 Merge "Make the pg and pgp value configurable" 2017-09-25 11:27:25 +00:00
Jenkins
9e44fd2a53 Merge "Add ipc_mode=host for nova-compute conainer" 2017-09-25 08:52:58 +00:00
caoyuan
8fed5e2e62 Make the pg and pgp value configurable
Change-Id: I99cca8c3830077736f71a7ab1abd3818688f9bb1
2017-09-22 03:21:52 +00:00
Jeffrey Zhang
0163162b65 Revert "Remove priviledged mode for nova-api"
This reverts commit c18615efd54d57f89d1a81729099285ea1fca3a7.

This patch fixs nova-api failure on ubuntu binary.

Change-Id: Ie411399eccb0ef7ee004f77a9b1adceca3aa0cc5
Related-Bug: #1715404
2017-09-06 22:33:26 +08:00
Jeffrey Zhang
5937724503 Add ipc_mode=host for nova-compute conainer
ipc_mode=host is required after enabled multipath in nova.

Closes-Bug: #1713639
Depends-On: I0a1d85597999415cab11feb71a7fdfd7af3f7148
Change-Id: Ib0b8961a47b686b6c35456768bbbccc741cb7adf
2017-08-29 15:27:34 +08:00
guochao
c9eaf9158b Add vSphere support to nova_compute
Implements compute part of the blueprint.
Make virt_type of nova_compute configerable.

Change-Id: I0f37e49e09c4f14a64797506007bb55a6f534f0f
Partially-implements: blueprint kolla-ansible-support-vsphere
Co-Authored-By: shaofeng cheng <chengsf@winhong.com>
2017-08-04 17:15:57 +08:00
Sam Yaple
c18615efd5 Remove priviledged mode for nova-api
This only existed to add an iptables rule for nova-net related things.

Change-Id: I4e6c50d0908edde3b3cc68382f4466a828f377a5
Related-Bug: #1687187
2017-07-28 12:43:34 -04:00
Jeffrey Zhang
cacf08f0a6 Remove all kolla-kubernetes configurations
kolla-kubernetes is using its own configuration generation[0], so it is
time for kolla-ansible to remove the related code to simplify the
logical.

[0] https://github.com/openstack/kolla-kubernetes/tree/master/ansible

Change-Id: I7bb0b7fe3b8eea906613e936d5e9d19f4f2e80bb
Implements: blueprint clean-k8s-config
2017-07-18 22:00:58 +08:00
Jenkins
cd762e8efb Merge "Nova oslo_messaging_notifications config error" 2017-06-12 07:07:05 +00:00
Bertrand Lallau
f45e18144d Nova oslo_messaging_notifications config error
With the following configuration in globals.yml
enable_ceilometer="no"
enable_designate="no"
enable_searchlight="yes"

nova.conf is generated like following:

[oslo_messaging_notifications]
driver = messagingv2
topics =

topics value is missing.

Change-Id: I27145c0da8b864b2614091933c33d83bdec8b9be
Closes-Bug: #1671935
Co-Authored-By: Jeffrey Zhang <jeffrey.zhang@99cloud.net>
2017-06-08 13:54:30 +00:00
Dai Dang Van
e8b58956f7 Mixing binary and source images for N* and O* projects
In case Kolla's users want to deploy with both of
binary and source image, we should have a variable
install type that define install type for each project.

We also add specific image tag for each Openstack project.

This commit is implemented for Neutron, Nova,
Octavia project and Openvswitch as well.

Change-Id: I04d3a17231b607795bbddb85cd940fa725ff7a61
Implements: blueprint mixing-binary-and-source-image
2017-06-04 22:47:09 +07:00
Bertrand Lallau
33e7f646ed Remove all Heka related remaining stuff
Heka has been removed and replaced by fluentd.
Refer to https://review.openstack.org/#/c/437874/

Change-Id: Id9f95cbefcd4b1089e2a00a92dc66f387c27f09b
2017-03-15 17:20:04 +01:00