This patch adds the ability for a deployer to add vendor_data.json
for deployments. It can make things configurable via a simple
dictionary.
Change-Id: If5b061776120c3d7a7ff763eb2757c0b5b184000
The placement_database config options were added in Newton
but the actual code to use the options was reverted and is
not used.
Change-Id: Ifb09747056750893e442ebe0b4124e861a70ae55
Related-Reviews: I31293ac4689630e4113588ab2c6373cf572b8f38
Closes-Bug: #1670419
Release notes are version independent, so remove version/release
values. We've found that projects now require the service package
to be installed in order to build release notes, and this is entirely
due to the current convention of pulling in the version information.
Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.
This is needed for new release notes publishing, see
I56909152975f731a9d2c21b2825b972195e48ee8 and the discussion starting
at
http://lists.openstack.org/pipermail/openstack-dev/2017-November/124480.html
.
Change-Id: Iaafd43cdfc86f56b405b12e7929ff27615f07b84
This changes the a-r-r with the proper version, and fixes
the repo path for role upgrades:
The role will, during test-upgrade-pre, have its current branch
checked out, and will deploy the current branch infrastructure,
including the generation of the constraints.
Then, the installation of previous branch of the role will use
the constraints for its previous version, but will have no
constraints for it, and fail.
We need to generate the constraints for the previous version too.
This should do it.
This patch also implements an initial set of jobs intended to
match the current job execution method. It does not intend to
improve how the jobs are executed - only to replicate what is
currently in openstack-infra/openstack-zuul-jobs and provide
the platform to iterate on.
Co-Authored-By: Jean-Philippe Evrard <jean-philippe.evrard@rackspace.co.uk>
Depends-On: I0391ec310c4eede436011a48490e3c524c8ddf4d
Change-Id: Ib35253ed9020ed27280329891509292b5b463d6c
The placement service is already setup to use UWsgi, we need
to move the other Nova services to follow suit as part of our community
goal for Pike.
Additionally, we need to clean up the nginx configuration as we are
moving away from fronting uWSGI with nginx inside the roles.
Depends-On: Ib66b9709fb88205eaf3f133c87357a4dbbdde5ae
Change-Id: If6c30e00c1c753692c970457b75e3ae7f5cc066c
Implements: blueprint goal-deploy-api-in-wsgi
In order to cater for artifact-based installed, and
rolling upgrades, this patch implements a set of local
facts to inform the online migrations task.
The 'nova_all_software_updated' variable will be
set by the playbook on each run to ensure that the
online migrations only happen once all venvs are
homogenous. This ensures that the playbook can be
executed in a serialised fashion and the data will
not be corrupted.
The ``upgrade_levels`` setting for ``compute`` is set
to ``auto`` to ensure that a mixed RPC version
deployment can operate properly when doing a rolling
upgrade as suggested by [1].
Additional changes are made to improve the role's
ability to be executed using serialised playbooks.
Finally, the nova-manage command references to the
config file location have been removed as they refer
to the default location.
[1] https://docs.openstack.org/developer/nova/upgrade.html
Change-Id: I08e5a7f0ce526b11aa52c35ee29c458954a5f22d
Nova will set a default value for "cpu_mode" for Qemu/KVM which will be
"host-model" however this causes issues with QEMU 2.6.0:
https://bugzilla.redhat.com/show_bug.cgi?id=1404627
This patch allows the nova_cpu_model to be set, and is set for the qemu
libvirt_type to be "none" by default.
Change-Id: I1e1b0149efe3bfa069172fa99cde65566a8fe19e
As part of the docs migration work[0] for Pike we need to switch to use the
openstackdocstheme.
[0]https://review.openstack.org/#/c/472275/
Change-Id: I2f69fd113d99c778995034927ed2acfa19625e4f
The nova code already detects and defaults the cpu_mode, so remove the value
from defaults and template to let Nova do the right things.
If a deploy wants to change this setting, they can then use the config override
mechanism to do so.
Change-Id: I930582092d2c9eefc57e54b8620a80da3c35ef37
Closes-bug: #1679707
Setting the nova_console_keymap variable to 'en-us' breaks the
keyboard input for novnc consoles. It's recommended to let vnc
automatically select the correct keymap.
This patch removes the keymap variables from the `nova.conf`
templates and their default values.
Closes-bug: 1691791
Change-Id: I049ad6db2198dc8d0fae04160486c5ba6f7f36f1
The systemd unit 'TimeoutSec' value which controls the time
between sending a SIGTERM signal and a SIGKILL signal when
stopping or restarting the service has been reduced from 300
seconds to 120 seconds. This provides 2 minutes for long-lived
sessions to drain while preventing new ones from starting
before a restart or a stop.
The 'RestartSec' value which controls the time between the
service stop and start when restarting has been reduced from
150 seconds to 2 seconds to make the restart happen faster.
These values can be adjusted by using the *_init_config_overrides
variables which use the config_template task to change template
defaults.
Change-Id: Ie6abd807f4ce102c2495cdac99507bf13c10ab31
Since cinderv2 is now deprecated, nova should default to use the
cinderv3 endpoint.
Change-Id: Ifed3e46c695d5eb42565a1d10145c2f3eaea0334
Depends-On: If6b8c1c15464c6bf7d5240a1f17e0e590dcaf7cd
Closes-Bug: #1673226
This creates a specific slice which all OpenStack services will operate
from. By creating an independent slice these components will be governed
away from the system slice allowing us to better optimise resource
consumption.
See the following for more information on slices:
* https://www.freedesktop.org/software/systemd/man/systemd.slice.html
See for following for more information on resource controls:
* https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html
Tools like ``systemd-cgtop`` and ``systemd-cgls`` will now give us
insight into specific processes, process groups, and resouce consumption
in ways that we've not had access to before. To enable some of this reporting
the accounting options have been added to the [Service] section of the unit
file.
Change-Id: I3cdaf5829011b5b73112e1a76a6dfc7259b169f5
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
Removed dependency for ``cinder_backends_rbd_inuse`` in nova.conf
when setting ``rbd_user`` and ``rbd_secret_uuid`` variables.
Cinder delivers all necessary values via RPC when attaching the
volume, so those variables are only necessary for ephemeral
disks stored in Ceph. These variables are required to be set up
on cinder-volume side under backend section.
Change-Id: If505dc58b4adb46e08230b0482d48d8898529460
Closes-Bug: #1673570
MySQL SSL connections allowed.
When nova_galera_use_ssl is True Nova sets up encrypted connection
to the database using either self-signed or user-provided CA certificate.
Partial-Bug: #1667789
Change-Id: I16e074865367e52d17baadb4703e615f89142893
Users can configure the number of worker threads however when it's
not specified the calculated number of workers can get too large on
hosts with a large number of CPUs.
Change-Id: I6c950cc31b66479dc980ecd5eb580d403dd27ae6
This patch adds Nova requirements for Ocata:
* Nova Placement API running as uwsgi with Nginx.
* cell_v2 setup for cell0 and cell1
* All required settings for these services with sane defaults
It fixes up some ordering for DB operations:
* online_db_migrations should only happen after a full upgrade.
* Cell setup needs to happen after api_db sync but before db sync.
* Discover_hosts for cell_v2 needs to happen after compute is restarted
This adds functionality to allow uwsgi apps in the init scripts:
* Allowing the "--log" line to be adjusted.
* Setting the condition value so that only enabled services are deployed
* Fixes a bug for program_override which mean this value was never being
used.
Depends-On: I082f37bb3ce61a900e06a58f21c7882f83671355
Change-Id: I282d25988377d18257b708859f89a7ae4260ac07
Apt cannot have 2 mirrors with the same content in 2 different files.
If a deployer has an apt mirror with uca, the deployer
still need to add a repository, but will also need to define the
filename used, in order to avoid clashes.
This commit makes possible to decide the filename for the repo.
Change-Id: I0302b9aea379b9b1974b4479bf85d45d1a052f65
This patch adds templating a custom Nova interfaces file for PowerVM only
to support doing mixed IPV4-only and IPV6-only deployments. It also adds
documentation for configuration of PowerVM RMC.
Change-Id: Ib1ff51c95998bbc3183ea9b896dc8fa2dfbc0435
Closes-Bug: #1643988
* only kvm host are supported right now.
Depends-On: Iff4a5999be0263a2c1843d7ca29843468cbc0ccc
Depends-On: I78fb85d44b5b0e1643bd07af3e15462c02041c89
Change-Id: Ie05c243daa7d2d46b5e8779371a363d95cc990e9
The current constraints generation for the
installation involves multiple tasks and multiple
variables.
Using multiple tasks extends the installation time
unnecessarily and the additional variables are
unnecessary.
This patch aims to simplify the mechanism and
hopes to speed it up a little.
Change-Id: Iaf085a3f58dde94c3f02a0a6e5161e9e07766db4
Releasenote translation publishing is being prepared. 'locale_dirs'
needs to be defined in conf.py to generate translated version of the
release notes.
Note that this repository might not get translated release notes - or
no translations at all - but we add the entry here nevertheless to
prepare for it.
Change-Id: Icc9a4fd79b80ae3947710abd19b19926f03d8f55
Currently, qemu.conf is not tunable by OSA. However, the default
config file for qemu.conf is typically all comments and is
not frequently overwritten.
This patch enables deployers to deploy a custom /etc/libvirt/qemu.conf
config file by defining a dictionary qemu_conf_dict.
config_template plugin is not used because the qemu.conf file does
not have sections, thus putting values in [DEFAULT] is untested.
Change-Id: I780951ef466d1a82168f1f787abf58aebfe95889
In order to make it easier to differentiate between the lists of
python packages, distribution packages, downloaded packages,
package pins and other similar variables the variable names are
being changed to ensure that they have a more explicit suffix
that defines the purpose and makes the naming more consistent.
This is to facilitate a lookup plugin which will be able to look
up all the package lists and present them as a consolidated piece
of data which may be used for artifact preparation.
Change-Id: I19151dabeb96392cbceb63506d4a7e64da6119f3
lxc was originally chosen due to faulty documentation
and / or error. The correct value should be lxd
to avoid confusion, as well as possibly allow for
lxc support via libvirt in the future.
Change-Id: Id72228ab31e345eecbd4de0031c156622795a1da
This patch set is designed to allow deployers to select
the virt_type = 'lxc', which will deploy the nova-lxd
driver instead of the usual kvm driver.
Change-Id: I8b298080faaef9da1ab0040de437086a1a393296
The current method of installing the distribution packages required is
set in the tasks and cannot be changed by a deployer.
Currently the apt task always installs the latest package. This results
in unexpected binary changes when a deployer may simply be trying to
execute a configuration change.
This patch adds the ability for a deployer to change the desired state
so that the results are predictable.
Change-Id: I2293575ad0422f546a2c4750f002955d75beb4d8
Remove all tasks and variables related to toggling between installation
of nova inside or outside of a Python virtual environment.
Installing within a venv is now the only supported deployment.
Additionally, a few changes have been made to make the creation of the
venv more resistant to interruptions during a run of the role.
* unarchiving a pre-built venv will now also occur when the venv
directory is created, not only after being downloaded
* virtualenv-tools is run against both pre-built and non pre-built venvs
to account for interruptions during or prior to unarchiving
Change-Id: Ia8687d49803705702f0e9f7ea9a83d3c05694d46
Implements: blueprint only-install-venvs
This commit removes the following Mitaka deprecated items from the nova
template (and their variable definitions, if any):
- the managers ```compute_manager``` and
```conductor.manager```
- ```security_group_api``` now that it's discovered with
```use_neutron```
- live/block_migration_flag config options
(see also https://review.openstack.org/#/c/263436/)
- ```memcached_servers``` from [DEFAULT] (moved to [cache])
Change-Id: I13c503a0ab23c72f90462cbada50424edbaa71b8
This change makes the nova key distribution a lot faster
especially when deploying against very large clusters. The
change moves away from the authorized_key module and instead
generates a script with the same capabilities which is then
executed. The generated script is stored in locally on the remote
host at "/usr/local/bin/openstack-nova-key.sh" and can be
executed at any time to fix and or clean up nova authorized key
problems.
Change-Id: I0d5ec9d735a104a57ec5cf7938116915af803088
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This patch updates the sphinx configuration for docs and releasenotes
to make it easier to replicate across repositories and to comply with
pep8 testing without exceptions.
Change-Id: Ida2a6c468bbf379f937296aa73c95e25be0b4da6