65 Commits

Author SHA1 Message Date
Mohammed Naser
b8220a2367 Added vendor_data.json support
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
2018-03-06 14:57:40 -05:00
103da84516 Update reno for stable/queens
Change-Id: Iff3293d646f4fc6b283a6afdd861cf9ddae9770d
2018-02-14 15:49:45 +00:00
Jesse Pretorius
023c4f27fc Remove placement_database related options/code
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
2018-02-07 11:56:52 +00:00
Jean-Philippe Evrard
8a3840b70e Handle Pike changes for Nova
- Deprecated the use_baremetal_filters according to upstream
  nova documentation [1] [2], mentioning its deprecation in Pike.
- Deprecated the metadata_host and metadata_port according to [1].
- Deprecated the firewall_driver according to [1].

[1]: https://docs.openstack.org/releasenotes/nova/pike.html#deprecation-notes
[2]: https://docs.openstack.org/releasenotes/ironic/

Change-Id: Ic70b1db72c45c91ca928f17725a9cf0ec1cdc644
2017-12-13 13:49:39 +00:00
Andreas Jaeger
c6c05a79a7 Remove setting of version/release from releasenotes
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
2017-11-17 08:02:16 +01:00
Major Hayden
b439e4a2ba
Fix nits in release note
Change-Id: Ie65fcb8beabbda08350ba38f93d5dbbc0d0a91a3
2017-10-31 10:41:51 -05:00
Marc Gariepy
55be574630 Explicitly disable KSM by default on Ubuntu.
By default KSM is enabled on Ubuntu, disabling it specificaly.

Change-Id: I689a851c5268db70e04564386952945fe5612cb0
2017-10-31 13:01:33 +00:00
ArchiFleKs
e2e79c8157 Enable KSM support for Nova
Change-Id: I6515354a3ceb7f08a647a3e0b93ab06ad24e209c
2017-10-26 14:06:10 +00:00
Jean-Philippe Evrard
c60ebb7f5c Update upgrade role for Queens from P
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
2017-10-19 14:45:31 +00:00
6065d4538f Update reno for stable/pike
Change-Id: I098ccd44d447c1511e5ffdc5b26c7b71fc561778
2017-08-23 05:54:54 +00:00
Andy McCrae
823a80bd44 Move to use UWsgi for Nova
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
2017-08-14 14:27:25 +01:00
Jesse Pretorius
7fc1497ebe Implement data migrations for rolling upgrades
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
2017-07-06 06:18:21 +00:00
Andy McCrae
a2f95e90ca Set cpu_mode = none for Qemu
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
2017-07-03 16:00:53 +01:00
ZhongShengping
fe528783f9 Fix openstackdocstheme settings
To use openstackdocstheme 1.11.0 properly, this patch fixes
some settings according to follow[0].

[0]https://docs.openstack.org/openstackdocstheme/latest/

Change-Id: Iea2bbb38ca17318c9325433522f5e8b9985d76f6
2017-07-03 16:20:59 +08:00
ZhongShengping
403f3ffd38 Switch from oslosphinx to openstackdocstheme
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
2017-06-26 11:36:59 +08:00
Duong Ha-Quang
27872a8cad Remove cpu_mode option in Nova configuration
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
2017-06-05 02:13:26 +00:00
Major Hayden
385d03cf20
Remove default for nova_console_keymap
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
2017-05-18 13:39:41 -05:00
Jesse Pretorius
6682ea094c Rename release note to unique hash
Change-Id: I23128d3c57f63f85478bf001270a1fe7a6342f45
2017-04-28 11:32:35 +01:00
Jesse Pretorius
3e8a78bf1a Reduce init restart/kill times
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
2017-04-26 13:02:06 +00:00
Andy McCrae
cff06e11eb Rename reno to avoid conflict on integrated repo
Change-Id: Ibbd248fc31e57809c38e468b7486af250933ca04
2017-04-11 12:10:40 +01:00
Andy McCrae
863da4bce1 Use the cinderv3 endpoint by default
Since cinderv2 is now deprecated, nova should default to use the
cinderv3 endpoint.

Change-Id: Ifed3e46c695d5eb42565a1d10145c2f3eaea0334
Depends-On: If6b8c1c15464c6bf7d5240a1f17e0e590dcaf7cd
Closes-Bug: #1673226
2017-03-27 14:54:35 +01:00
Kevin Carter
e9cc32c574 Ensure the components are isolated from the system
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>
2017-03-24 13:57:35 +00:00
Andrey Grebennikov
402771006d Allow libvirt rbd params to be independent of cinder
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
2017-03-20 14:23:43 -05:00
Jenkins
659e0e6a8e Merge "Added MySQL connection SSL support" 2017-03-04 16:22:58 +00:00
Andrey
57e283fdfa Added MySQL connection SSL support
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
2017-03-03 10:57:29 -06:00
Andy McCrae
7c9a64b2ed Adjust conf for deprecation warnings
Remove deprecated config options and move those that are now in
different configuration sections.

Change-Id: Ifea82dc03a859356eb55b097aa5747e3fa0c40ba
2017-02-28 13:06:09 +00:00
Ravi Gummadi
f83296e073 Cap the number of worker threads
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
2017-02-23 05:46:15 -05:00
Jenkins
47553225ff Merge "Use https instead of http for git.openstack.org" 2017-02-06 09:37:38 +00:00
Cao Xuan Hoang
5b624d6cea Use https instead of http for git.openstack.org
Trivialfix

Change-Id: Ic1f293e0c3bcbce3fd5c7179b1564079fe42f05d
2017-02-06 16:28:44 +07:00
3c40a4f71e Update reno for stable/ocata
Change-Id: I762b0e21038939d715a23bc35ca60a509da544f5
2017-02-03 18:58:39 +00:00
Andy McCrae
966ea269c9 Add nova-placement-api service and cell_v2 setup
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
2017-02-02 16:47:19 +00:00
Jean-Philippe Evrard
68a7db92e9 Allow override of the repo filename
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
2017-01-09 13:08:21 +00:00
Adam Reznechek
cbd64aa00a Add custom interfaces file and update docs for PowerVM RMC
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
2016-11-29 18:11:42 +00:00
Marc Gariepy
83a9864b0d Add CentOS support for os_nova
* only kvm host are supported right now.

Depends-On: Iff4a5999be0263a2c1843d7ca29843468cbc0ccc
Depends-On: I78fb85d44b5b0e1643bd07af3e15462c02041c89
Change-Id: Ie05c243daa7d2d46b5e8779371a363d95cc990e9
2016-11-15 08:10:56 -05:00
Jesse Pretorius
244a830185 Simplify pip options/constraints mechanism
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
2016-11-02 17:53:34 +00:00
Qing Wu Wang
59b855a8a4 Change protocol of novalink url.
Change novalink url protocol from ftp to http.

Change-Id: If143b645b7ce12a68ebcd15764a38d59a1c69a9a
Closes-Bug: #1637348
2016-10-31 09:06:05 -05:00
Jimmy McCrory
c88cd87cde Remove nova-cert
nova-cert has been marked for deprecation and removal in Ocata.

Change-Id: Ia2e5fdfc995d3bf3790f23a0579ee8757d215851
2016-10-14 14:42:10 -07:00
Andreas Jaeger
4bb01afac9 Enable release notes translation
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
2016-10-06 20:37:49 +02:00
Major Hayden
2037030f12 Update reno for stable/newton
Change-Id: Ibf10227316edc5abc8abe988b11216f1679ae0e4
2016-09-29 14:21:42 -05:00
Michael Gugino
a8b3c81942 Add config template for qemu.conf
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
2016-09-02 14:56:09 -04:00
Jesse Pretorius
57cc173e6d Rename package lists (and related vars) appropriately
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
2016-08-30 19:54:11 +01:00
Michael Gugino
41c1dbcdcb Change nova_virt_type from lxc to lxd
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
2016-08-25 15:11:25 -04:00
Michael Gugino
06081df5ab Implement nova-lxd driver
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
2016-08-08 18:05:13 -04:00
Jesse Pretorius
2529e2a3a8 Add ability to change apt/yum package state
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
2016-08-02 15:38:24 +01:00
Anton Khaldin
7f69cdd1df Only install to virtual environment
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
2016-07-21 17:16:33 +00:00
Jenkins
472e0afbfb Merge "Improve deployment performance on large clusters" 2016-07-19 14:30:55 +00:00
Jean-Philippe Evrard
451cd166ce Remove Mitaka Deprecated items
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
2016-07-19 13:36:48 +01:00
Kevin Carter
bda35e7fd6 Improve deployment performance on large clusters
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>
2016-07-18 20:31:25 -07:00
Jesse Pretorius
601c49bdeb Update sphinx configuration
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
2016-07-12 16:53:47 +01:00
Jenkins
c327d96e10 Merge "Turn SSH auth into the default for live migration" 2016-07-08 15:26:47 +00:00