32867052d70333d78b54b272987d55fc73d2344a
1356 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Zuul
|
32867052d7 | Merge "Run nova_db_post_setup from playbook directly" | ||
|
Dmitriy Rabotyagov
|
b266f9cda4 |
Stop generating ssh keypair for nova user
With transition to ssh-certificates for nova authorization, we no longer need to generate and have SSH certificates for the nova user. Change-Id: Iff105bafc177271cb59fb0662d4c139f56e64325 |
||
|
Dmitriy Rabotyagov
|
e4ffb047c0 |
Run nova_db_post_setup from playbook directly
Due to some bugs delegation of tasks from compute to conductor hosts does not work in real life. Due to that task import was moved to the playbook level using role import in combination with tasks_from. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/897570 Change-Id: I777b1c90f57c805bc0a8593b5a5c7e63e43c4cd8 |
||
|
Dmitriy Rabotyagov
|
6fd5535e57 |
Add barbican_service_user section
Defining barbican_service_user is required for succesfull attachement of ecnrypted volumes to VMs. Without it being in place nova-compute fails with not being able to get service_token. Change-Id: I8ae3e263185b1cd8036a4fde12d9c950f2ce8b98 |
||
|
Dmitriy Rabotyagov
|
d82a9d424e |
Fix example playbook linters
Change-Id: I0d44b87c2ac31827eeb72c1db3d48e0ca571633a |
||
|
Zuul
|
e57d076633 | Merge "Do not install qemu package on debian derived OS" | ||
|
Dmitriy Rabotyagov
|
08ccb5108a |
Split lines to not exceed 160 characters limit
Change-Id: Ia5afdded2df7ec80b36072dec3c7fbbce5600647 |
||
|
Jonathan Rosser
|
76bbf0ff65 |
Do not install qemu package on debian derived OS
This is a dummy package with almost no content and no dependancies. It does not exist on debian 12. Change-Id: Ibb330238e728af257d46812e64a58fc71a424a1f |
||
|
Marc Gariepy
|
9d2924fa80 |
Config has changed for pci passthrough.
updating the config for pci devices since the old config is deprecated. https://docs.openstack.org/nova/latest/configuration/config.html#pci.device_spec Change-Id: Id2da29464359b4845c7d05e3bec53759341f4bad |
||
|
Zuul
|
6873b7d8a1 | Merge "Add quorum queues support for the service" | ||
|
Zuul
|
bf6aaf7ab0 | Merge "Enable multiple console proxies where requried in deployments" | ||
|
Dmitriy Rabotyagov
|
da9793f18e |
Add quorum queues support for the service
This change implements and enables by default quorum support for rabbitmq as well as providing default variables to globally tune it's behaviour. In order to ensure upgrade path and ability to switch back to HA queues we change vhost names with removing leading `/`, as enabling quorum requires to remove exchange which is tricky thing to do with running services. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/875399 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/873618 Change-Id: I792595dac8b651debcd364cd245145721575a516 |
||
|
James Denton
|
a2fb474086 |
Allow Glance region to be set via variable
The region_name var is missing from the [glance] block in the nova.conf template, and while a conf override can be used, all other service blocks have region_name defined and overridable with service_region. Change-Id: I28ac078f9ebe24c8799638e93d0967003d0c0605 |
||
|
Zuul
|
2928f95e1a | Merge "Fix linters and metadata" | ||
|
Andrew Bonney
|
d0877c6fd3 |
Enable multiple console proxies where requried in deployments
When Nova is deployed with a mix of x86 and arm systems (for example), it may be necessary to deploy both 'novnc' and 'serialconsole' proxy services on the same host in order to service the mixed compute estate. This patch introduces a list which defines the required proxy console types. Change-Id: I93cece8babf35854e5a30938eeb9b25538fb37f6 |
||
|
Dmitriy Rabotyagov
|
9b9bc21121 |
Fix linters and metadata
With update of ansible-lint to version >=6.0.0 a lot of new linters were added, that enabled by default. In order to comply with linter rules we're applying changes to the role. With that we also update metdata to reflect current state. Depends-On: https://review.opendev.org/c/openstack/ansible-role-systemd_service/+/888223 Change-Id: I730ae569f199fc8542a5a61beb149f459465d7e2 |
||
|
Damian Dabrowski
|
7000bc3f3f |
Deprecate nova_ram_weight_multiplier
Long time ago a variable `nova_ram_weight_multiplier` was implemented and its default value was set to 5.0. There are 2 issues with this: 1. Default value in nova is 1.0 [1] so our value is much bigger than nova's default without having a strong reason for that. 2. OSA does not provide similar variables for other multipliers like `cpu_weight_multiplier`. Because there are a couple of different multipliers and more of them can be implemented in the future(for ex. `hypervisor_version_weight_multiplier` was implemented in 2023.2) it would be hard for the OSA project to maintain variables for all of them. It is better to deprecate `nova_ram_weight_multiplier` and let users define multipliers with `nova_nova_conf_overrides` if necessary. [1] https://docs.openstack.org/nova/2023.1/configuration/config.html#filter_scheduler.ram_weight_multiplier Change-Id: I4f82840e94312d38696e3ddd05ef494821233f4d |
||
|
Damian Dabrowski
|
c90a5c2b92 |
Apply always tag to nova_virt_detect.yml
Running nova playbook with tag limit may lead to an error: The conditional check 'nova_virt_type != 'ironic'' failed. The error was: error while evaluating conditional (nova_virt_type != 'ironic'): 'nova_virt_type' is undefined\n\nThe error appears to be in '/etc/ansible/roles/os_nova/tasks/main.yml': line 289, column 3, but may be elsewhere in the file depending on the exact syntax problem. It can be easily fixed by applying always tag to tasks from nova_virt_detect.yml Change-Id: I56aee80180804b8a3e3316cffc6fa8115513b8f1 |
||
|
Dmitriy Rabotyagov
|
47007578b1 |
Install libvirt-deamon for RHEL systems
CentOS has upgraded their libivrt to version 9.3, where libvirt-daemon is not installed as a dependency anymore. So we need to explicitly isntall this package to restore functionality. [1] https://bugzilla.redhat.com/show_bug.cgi?id=2209936 Change-Id: Ic6f2606b5a478c7a891c25bd131ad351a19699bc |
||
|
Dmitriy Rabotyagov
|
00d59dcd41 |
Add auth credentials for service_user
Having auth credentials in service_user is required to interact with other services. Otherwise nova won't be properly authenticated, for example during volume detach request. Change-Id: Ifd607d3acfb18ee4d1de0b8dc39350419cae9c22 |
||
|
Zuul
|
4b20549673 | Merge "Define service_user for nova services" | ||
|
Dmitriy Rabotyagov
|
9c23b0c359 |
Define service_user for nova services
In order to cover OSSA-2023-003, a requirement to define service_user section for all nova services has been added by nova. Change-Id: I81cd6431fec94f56b0ebd66c94e90c9623ba0e38 |
||
|
Zuul
|
34e86d2851 | Merge "Add way to periodically trim Nova DB" | ||
|
Zuul
|
6314e46fe9 | Merge "Ensure ipxe-qemu is always installed" | ||
|
Dmitriy Rabotyagov
|
efe64725e1 |
Add way to periodically trim Nova DB
We're adding 2 services that are responsible for executing db purge and archive_deleted_rows. Services will be deployed by default, but left stopped/disabled. This way we allow deployers to enable/disable feature by changing value of nova_archive/purge_deleted. Otherwise, when variables set to true once, setting them to false won't lead to stopoing of DB trimming and that would need to be done manualy. Change-Id: I9f110f663fae71f5f3c01c6d09e6d1302d517466 |
||
|
Zuul
|
2925c1c29c | Merge "Delegate compute wait tasks to service_setup_host" | ||
|
Zuul
|
5a839b7af3 | Merge "Use include instead of import for conditional tasks" | ||
|
Jonathan Rosser
|
15fde4287d |
Ensure ipxe-qemu is always installed
This is required by qemu-system-x86 but only recommended by qemu-system-arm. Without the file /usr/lib/ipxe/efi-virtio.rom from ipxe-qemu it is not possible to boot a VM on arm hosts. This patch ensures that ipxe-qemu is always installed. Change-Id: I27fd98a1568bda8bea3d88c3f18b44a080982d0e |
||
|
Zuul
|
dd00e710d7 | Merge "Add TLS support to nova API backends" | ||
|
Damian Dabrowski
|
e02e56fc93 |
Add TLS support to nova API backends
By overriding the variable `nova_backend_ssl: True` HTTPS will be enabled, disabling HTTP support on the nova backend api. The ansible-role-pki is used to generate the required TLS certificates if this functionality is enabled. `nova_pki_console_certificates` are used to encrypt: - traffic between console proxy and compute hosts `nova_pki_certificates` are used to encrypt: - traffic between haproxy and its backends(including console proxy) It would be complex to use nova_pki_console_certificates to encrypt traffic between haproxy and console proxy because they don't have valid key_usage for that and changing key_usage would require to manually set `pki_regen_cert` for existing environments. Certs securing traffic between haproxy and console proxy are provided in execstarts because otherwise they would have to be defined in nova.conf that may be shared with nova-api(which stands behind uwsgi and should not use TLS). Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/879085 Change-Id: Ibff3bf0b5eedc87c221bbb1b5976b12972fda608 |
||
|
Dmitriy Rabotyagov
|
5d310c69fd |
Use include instead of import for conditional tasks
When import is used ansible loads imported role or tasks which results in plenty of skipped tasks which also consume time. With includes ansible does not try to load play so time not wasted on skipping things. Depends-On: https://review.opendev.org/c/openstack/ansible-role-uwsgi/+/880344 Change-Id: I47c6623e166254802ed0b479b2353c5f2ceb5cfa |
||
|
Dmitriy Rabotyagov
|
ef4ca0c2b4 |
Delegate compute wait tasks to service_setup_host
At the moment, we do deploy openrc file on conductors and delegate task to them. At the moment there is no good reason to do so, since we're actively utilizing service_setup_host for all interactions with API. With that we also replace `openstack` commands with native compute_service_info module that provides all information we need. Change-Id: I016ba4c5dd211c5165a74a6011da7bb384c7a82a |
||
|
Dmitriy Rabotyagov
|
cb62372a31 |
Move online_data_migrations to post-setup
According to nova rolling upgrade process [1], online_data_migrations should run once all the services are running the latest version of the code and were restarted. With that, we should move online migrations after handlers being flushed, when all services are restarted. At the same time, nova-status upgrade check must run before services are restarted to the new version, as service restart might lead to service breakage if upgrade check fails [2]. It makes no sense to run upgrade check when upgrade is fully finished. [1] https://docs.openstack.org/nova/latest/admin/upgrades.html#rolling-upgrade-process [2] https://docs.openstack.org/nova/latest/cli/nova-status.html#upgrade Change-Id: Ic681f73a09bb0ac280c227f85c6e79b31fd3429a |
||
|
Dmitriy Rabotyagov
|
94690a06da |
Ensure service is restarted on unit file changes
At the moment we don't restart services if systemd unit file is changed. We knowingly prevent systemd_service role handlers to execute by providing `state: started` as otherwise service will be restarted twice. With that now we ensure that role handlers will also listen for systemd unit changes. Change-Id: I4273d2fbcbff3028e693e3274093c1afebdcfca2 |
||
|
Dmitriy Rabotyagov
|
b6e904213e |
Remove nova_network_services mapping
At the moment we don't really utilize neutron_provider_networks mapping except of 2 quite specific drivers, that are NSX and Nuage. For these 2 usecases we suggest using overrides functionality instead. Change-Id: I7d905a1dbda1ec722b161b96742247c806bed162 |
||
|
Dmitriy Rabotyagov
|
0e59a29947 |
Remove use_forwarded_for definition for nova-api
use_forwarded_for option for api has been deprecated since 26.0.0 as this feature is the duplicate of the HTTPProxyToWSGI that has being enabled by default now. Change-Id: I45e70e42605455df944ced63f106a76f351052e8 |
||
|
Dmitriy Rabotyagov
|
6dfcf9d4c8 |
Remove calico driver reference
Calico driver support has been removed from OpenStack-Ansible starting in Antelope release [1]. We clean-up nove role to drop calico support from it as well. [1] https://review.opendev.org/c/openstack/openstack-ansible/+/866119 Change-Id: Ie9c118b8bab265e5bf06b6ec05731cd673ee4d95 |
||
|
Jonathan Rosser
|
a5808248cb |
Stop installing qemu-system on debian variants
qemu-system on debian derivative OS is a meta-package which installs qemu-system-* for all architecures understood by qemu. This is different from redhat type OS where the qemu-kvm package installed with dnf only installs the qemu-system-* binary matching the host architecture. This gives two problems, first there is inconsistency in openstack-ansible deployments between redhat and debian OS. Second, there is a potentially unexpected emulation of architectures when launching VM on a cloud with a mix of compute architectures when a full set of qemu-system-* binaries is available on a compute node. The compute node becomes a candidate for scheduling any of the supported architectures and a very specific configuration is needed both from the operator and end user to ensure that VM are run on a native architecture or emulated as required. This patch changes the installation so that redhat and debian compute nodes only have the native qemu-system binary installed. A new feature should be introduced to openstack-ansible in the future to explicitly control installation of non-native qemu-system-* binaries and write the config options for controlling emulation. Change-Id: I1c876c7968efb7f24880f1a6e96ba6b7264ddc94 |
||
|
Zuul
|
c0fa21ca47 | Merge "Install openvswitch repo for RDO scenario" | ||
|
Zuul
|
f521dd8d13 | Merge "Use SSL database connections with nova-manage" | ||
|
Dmitriy Rabotyagov
|
45877c692b |
Install openvswitch repo for RDO scenario
RDO packages for nova does depend on python3-openvswitch, which makes it required to install OVS on computes regardless of everything else. We also clean out pre-rhel9 variable files as they're not needed anymore Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/872896 Change-Id: I3e31254b7dd1c0ff3cb46153cefce6f6cadd52aa |
||
|
Jimmy McCrory
|
740a26e7ea |
Use SSL database connections with nova-manage
When Galera SSL is enabled, use SSL encrypted database connections with nova-manage commands where a connection string is provided. Change-Id: I7019b966b475c09a4e3218461941c1112ae28028 |
||
|
James Denton
|
69df45b068 |
Add authentication for [cinder] section of nova.conf
Nova complains about an inability to access endpoint list for block storage. This patch updates nova.conf with the respective configuration.: Example errors in nova-compute log: 1. The [cinder] section of your nova configuration file must be configured for authentication with the block-storage service endpoint. 2. Delete attachment failed for attachment <UUID>. Error: Unknown auth type: None (HTTP 401) Code: 401: cinderclient.exceptions.Unauthorized: Unknown auth type: None (HTTP 401) Change-Id: I4c1ae32ed078a4412ff44b7ac3f921b223d0cba3 |
||
|
Jonathan Rosser
|
b0fcbce66f |
Support configuration of resource providers with config files
Resource providers can be configured using the API or CLI, or they can also be configured on a per-compute node basis using config files stored in /etc/nova/provider_config. This patch adds support for a user defined list of provider config files to be created on the compute nodes. This can be specified in user_variables or perhaps more usefully in group_vars/host_vars. A typical use case would be describing the resources made available as a result of GPU or other hardware installed in a compute node. Change-Id: I13d70a1030b1173b1bc051f00323e6fb0781872b |
||
|
Dmitriy Rabotyagov
|
e8049ceaea |
Fix scheduler track_instance_changes option
There was a typo for track_instance_changes once it was moved under filter_scheduler. [1] https://docs.openstack.org/nova/latest/configuration/config.html#filter_scheduler.track_instance_changes Change-Id: I8316989a57ada71e72af114984ec25f227def7ba |
||
|
Dmitriy Rabotyagov
|
9a3d5b0be3 |
Enable rbd download when nova_glance_rbd is in use
With original patch [1] I somehow missed to define enable_rbd_download along with adding rbd_user/pool/conf. However, neither of these options are taken into account if enable_rbd_download is set to false, which is the default value. [1] https://review.opendev.org/c/openstack/openstack-ansible-os_nova/+/828897 Change-Id: I3220de5863c9c3af418e71774c103c4712b16086 |
||
| a7061f3861 |
Update master for stable/zed
Add file to the reno documentation build to show release notes for stable/zed. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/zed. Sem-Ver: feature Change-Id: I877a352de30bdf9b461603e236d8ec0973640c45 |
|||
|
Zuul
|
28d82b68b5 | Merge "Define local facts separately only for distro" | ||
|
Zuul
|
ab92656a36 | Merge "Add nova_ironic_serialconsole_type default setting" | ||
|
Dmitriy Rabotyagov
|
a8a338fb99 |
Define local facts separately only for distro
We do define local facts locally using python_venv_build role so no need to do the same as a separate task for source installs. Though these facts are still needed for distro path. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/862924 Change-Id: I2f7f1281d19d61a7b4cbf14369aa3bb007debd0d Needed-By: https://review.opendev.org/c/openstack/openstack-ansible/+/866126 |