129 Commits

Author SHA1 Message Date
Vladimir Kozhukalov
1483987d2e Update versions of all charts to 2024.2.0
Depends-On: Ia064d83881626452dc3c0cf888128e152692ae77
Change-Id: I3c43bbc1e82cc6afbe90056fe4173d774b8c24db
2024-12-21 17:28:15 +00:00
Vladimir Kozhukalov
79f3ddfa17 Update Chart.yaml apiVersion to v2
Depends-On: I66dcaedefd0640f8a7b5343363354ba539d70627
Change-Id: I25a9354dff75cf4e02c28c0e756c360df7807778
2024-12-16 17:43:52 -06:00
huanhongda
a461d591d0 Fix typo in archive_deleted_rows script
Change-Id: I54fd9c1a771d934172b95c899336a084815d0e56
2024-12-03 15:24:11 +08:00
Marek Skrobacki
babda24efe
fix: use nova-compute.conf in nova-compute-ironic
Currently the nova-compute-ironic pod is configured to use full
nova.conf which is not subjects to `nova_compute_redactions`. As a
result, when the nova-compute-ironic starts, following traceback is
printed:

```
❯ kubectl --context uc_iad3_dev-NEW logs nova-compute-ironic-0
Defaulted container "nova-compute-ironic" out of: nova-compute-ironic, init (init)
+ exec nova-compute --config-file /etc/nova/nova.conf --config-file /etc/nova/nova-ironic.conf
2024-10-29 15:37:28.841 1179391 INFO nova.virt.driver [None req-99e9d536-2b34-4dfc-ac0f-f9680e213913 - - - - - -] Loading compute driver 'ironic.IronicDriver'
2024-10-29 15:37:29.498 1179391 ERROR nova.db.main.api [None req-48b845ff-01ca-4126-8e43-aeaa2675d0e1 - - - - - -] No DB access allowed in nova-compute:   File "/var/lib/openstack/lib/python3.10/site-packages/eventlet/greenthread.py", line 265, in main
    result = function(*args, **kwargs)
  File "/var/lib/openstack/lib/python3.10/site-packages/nova/utils.py", line 664, in context_wrapper
    return func(*args, **kwargs)
  File "/var/lib/openstack/lib/python3.10/site-packages/nova/context.py", line 422, in gather_result
    result = fn(*args, **kwargs)
  File "/var/lib/openstack/lib/python3.10/site-packages/nova/db/main/api.py", line 179, in wrapper
    return f(*args, **kwargs)
  File "/var/lib/openstack/lib/python3.10/site-packages/nova/objects/service.py", line 554, in _db_service_get_minimum_version
    return db.service_get_minimum_version(context, binaries)
  File "/var/lib/openstack/lib/python3.10/site-packages/nova/db/main/api.py", line 238, in wrapper
    _check_db_access()
  File "/var/lib/openstack/lib/python3.10/site-packages/nova/db/main/api.py", line 188, in _check_db_access
    stacktrace = ''.join(traceback.format_stack())
```

According to the https://docs.openstack.org/nova/latest/configuration/config.html#api-database the [`api-database`] config group should not be configured for this service.

Change-Id: Ie53eb250be756d96315c0be623d7aa716565661a
2024-11-26 12:58:51 +00:00
Vladimir Kozhukalov
bdeb6412a3 Add 2024.2 overrides
Depends-On: I783bd05bdd529c73825311515e1390f3cc077c4f
Depends-On: Ic43f14e212f4de6616b4255bdd5ce562c5bcf9b0
Change-Id: I48ec926258b2f8e409ff47e0c858977126698241
2024-10-15 20:20:29 -05:00
dengzhaosen
899322f8ec Add configuration for nova-scheduler
Change-Id: Ic1a86bc3fb699309332b97f3a5d62d98b99021d1
2024-09-09 15:09:37 +08:00
Vladimir Kozhukalov
f51624fbf1 Add DPKD overrides to Nova chart
For all test jobs we explicitly deploy Nova with virt_type=qemu
to make tests less dependent on the infrastructure hardware.

By default Nova sets virt_type=kvm but in case of using
DPDK feature we'd better explicitly set it so.

Change-Id: I88c8d2f8f1cc9d155486773c7052347e916255d8
2024-08-22 08:11:43 -05:00
Vladimir Kozhukalov
c09f566c9e Update kubernetes-entrypoint image
Use quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal
by default instead of 1.0.0 which is v1 formatted and
not supported any more by docker.

Change-Id: Idf43d229d1c81c506653980b5e8cd6463550bc5f
2024-07-11 12:56:20 -05:00
Vladimir Kozhukalov
79edaad3bf Update default images wherever possible
- In some charts third party images are used.
  Need inspection which of them can be updated.
- For some charts we don't build images.
  For this case let's build images for active
  projects and probably retire charts for retired
  or inactive projects.

Change-Id: Ic9e634806d40595992d68c1fc3cd54b655ca5d02
2024-04-30 19:55:33 +00:00
Tadas Sutkaitis
1df157aa08
Enable custom secret annotations
Enable custom annotations for secrets [identity, oslo_db, oslo_messaging, oci_image_registry, tls + other per chart specific]

Change-Id: I843e665f71aeb171185845e1d6f0a18fab030061
2024-04-22 23:31:27 +03:00
Vladimir Kozhukalov
e3f7a67971 Add 2024.1 overrides
Depends-On: Iefe943b6fa608cafcda418cedf48b5148eefadd1
Depends-On: Iadc9aec92b756de2ecfcb610e62c15bdbad4bb9e
Depends-On: Icf98f9af863f60fa93ff70d2e8256810bed2b9f9
Change-Id: I76f5699e74a51374c644527c58ffc4527b4f6100
2024-04-03 17:26:56 -05:00
Tadas Sutkaitis
be3f61fa4b
Nova: Enable custom annotations
Enable custom annotations for pods [deployments, daemonsets]

Change-Id: I0a301876c2758d8dd365312538471a1e2fef4c3e
2024-04-01 23:17:18 +03:00
ricolin
6ac304d752 Support uWSGI for API server
Currently Nova API server still using eventlet-based HTTP servers,
it is generally considered more performant and flexible to run them
using a generic HTTP server that supports WSGI.

Change-Id: I489557181bb8becbaf5cf7d9812a671d5cb3cc4a
2024-03-05 16:19:36 +08:00
cw0306-lee
44e2b10447 Use metadata_listen_port in nova config
metadata_port value used in queens version and changed
in rocky version to metadata_listen_port

story: 2011052
task: 49616
Change-Id: I106f50f620c2594b1f8ea7dc516d2e254c6af479
2024-03-03 21:45:10 -06:00
Stephen Taylor
ef049413fd [ceph] Update Ceph images to Jammy and Reef 18.2.1
This change updates all Ceph images for Jammy-based deployments in
openstack-helm to latest-ubuntu_jammy.

Change-Id: Id80f0fc074da01548006fc37c2629b27fbddbd25
2024-01-30 08:02:02 -07:00
okozachenko
d5b62a8235 nova: use directory mount for vencrypt certs
Kubernetes subpath mount does not reflect the changes of the
volume origin(ConfigMap, Secret or whatever).
This patch uses directory mount instead of subPath for renewed
certs to be reflected inside the pod automatically

Change-Id: I740737d23db1fe3621b4490523730375e6c36313
2024-01-11 12:03:16 -06:00
hailu
3620054def feat: Add public endpoints for the spiceproxy
Change-Id: I5e1d51931d7362359dfaac5b67eddba345ebe396
2024-01-11 10:35:14 +08:00
hailu
846ea09f24 feat: create 'vms' pool when 'conf.ceph.enabled = true'
Change-Id: I95a19d5a52ac88585d0f53a5349977e7c28ca361
2024-01-11 10:00:48 +08:00
okozachenko
48a59b1324 set startupProbe in nova compute
In environments where there is a large number of ports (100+) on a
hypervisor, the start up can take a long time, and eventually the
liveness test will fail because the process is stuck plugging ports
in.
No need initial delay for live/readiness probe and Startup probe
is enough

Change-Id: I54544a45a716fa4ff840019c0526343063ed1ac5
2024-01-04 08:12:59 -06:00
hailu
91bea58ee0 feat: getting LISTEN IP for CIDR
`CIDR` is easier to manage than `interface` on clusters with different hardware.

Change-Id: I1266eb37c1355b95f23efd33856a79f259020017
2023-12-29 15:16:25 +08:00
dengzhaosen
2dfccce221 Add the conditional statement for log_config_append
As the nova.DEFAULT.log_config_append is a aption
for the configuration of nova, we should be add
condtional statement here.

Change-Id: Ib9c50c9ccc0c93226fffccc997c232b0259dff0c
2023-12-01 16:17:36 +08:00
Ritchie, Frank (fr801x)
488481c332 Ability to add extra commands for service cleaner
This PS makes to possible to add extra commands to the nova service
cleaner job if needed.

Change-Id: Ic1dee3e15a5b56712128142e054e0ca2813944bf
2023-11-08 15:53:20 -05:00
Ritchie, Frank (fr801x)
e44c4749b4 Ability to define extra commands for cell setup
This PS makes to possible to add extra commands to the nova cell setup
job if needed.

Change-Id: I3b1f4e2ee58e60d3d830772cbb57c115dd712824
2023-11-06 16:16:39 -05:00
Vladimir Kozhukalov
82a6aa8ce9 Add 2023.2 (Bobcat) jobs
Change-Id: Iea2a16db8acaa94259aeb3e21097bb771b70c38e
2023-10-13 12:40:12 -05:00
Ritchie, Frank (fr801x)
507ed30b95 Improve cinder authentication support
The current values specified in values.yaml along with the configmap-etc
template can make it very difficult for the end user to properly configure
a cinder authentication method other than password. These changes give the end
user the needed flexibility.

Change-Id: I99e75e1aa9ddd8378518b1291123a34d2881715f
2023-09-28 12:49:05 -04:00
Thales Elero Cervi
7189e6c916 Nova: Add IP addresses search control flag
Add options to nova to enable/disable the use of:
1. The vnc or spice server proxyclient address found by the console
   compute init container
2. The my_ip hypervisor address found by compute init container
3. The libvirt live_migration_inbound_addr used by nova compute to
   live-migrate instances

These options can be used to prevent cases where the found addresses
overwrite what has already been defined in nova.conf by per host nova
compute DaemonSet overrides.
It is important to allow the flexibility of using or not the default
ConfigMap - DaemonSet cluster level configuration, allowing the
possibility of having custom per host overrides definitions that will
not be overwrite by nova-compute-init.sh

One use case (live-migration) for this flexibility is the following:
Originally the nova-compute-init.sh script received the capability of
selection a target interface (by name, in a ConfigMap level) through
which the live-migration traffic should be handled [1], allowing the
possibility of selecting a separate network to handle live-migration
traffic. This was not assuming any interface/network IP if users did not
set .Values.conf.libvirt.live_migration_interface.
Later [2], same script was updated to fall-back to default gateway IP
resolution in case the live_migration_interface is not defined.
So, currently it is mandatory to define a "cluster level config" for the
interface name (i.e., through ConfigMap) or to rely on default gateway
IP resolution for live-migration addresses.
This can be problematic for use cases were:
* There are many networks defined for the cluster and a host default
  gateway might not resolve to the desired network IP;
* There is the need of having a per host definition of nova.conf, since
  nova-compute-init.sh will create a new .conf that will overwrite it.

[1] commit 31be86079d711c698b2560b4bed654e23373a596
[2] commit 8f0a15413839c92d6d527bf7cbc441380de6c2af

Change-Id: Iaf86e0a215802001f58d607a1a3a18acf83f5e81
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
Signed-off-by: Robert Church <robert.church@windriver.com>
2023-09-25 15:49:46 -03:00
okozachenko
96ea802204 Create a certificate for novnc vencrypt separately
Once manifests.certificates is set as true, TLS for all
components are enabled. There is no way to enable TLS for each
component.
This patch is to support the usecase to just enable vencrypt auth
scheme.

Change-Id: I1e33071a16e0eb764c51442f99c3795ceb9efb19
2023-09-07 23:16:17 +03:00
Vladimir Kozhukalov
5aadee0dc8 Add Ubuntu Jammy overrides
Change-Id: Icabf43efee2e64c856ae14a69881d96b380d7751
2023-09-07 00:12:04 +03:00
Sadegh Hayeri
5aa17f74d8 Fix VNC configs
Change-Id: Ib169ca0dff1a32a055c62a1bd9e9c1636a7f6634
2023-09-01 01:03:40 +03:00
okozachenko
bd955f077f Update health probe script in nova
If we define ovsdb_connection in os_vif_ovs config group, health
probe fails for nova-compute because of the wrong condition to
detect db connection string from configuration file.
This patch detects db connection string using string.startswith()
in a more strict way.

Change-Id: I12a3ea4061d5c13879b878b85eb206726b5db27c
2023-09-01 01:29:38 +10:00
okozachenko
7d39af25fd nova: Add cinder auth config
Change-Id: Ieaf2400f73e5a9b940539a22ae696f19a6a1e2bf
2023-08-30 02:36:24 +03:00
Mosher, Jaymes (jm616v)
bee2353cae Allow enabling vencrypt for VNC
This patchset allows enabling vencrypt for VNC, based on a
downstream patchset. [1]

Primary differences:
- uses HTK to render the cert instead of its own template
- leaves the creation of a separate (sub)issuer for vencrypt as
  outside the scope of this (and the libvirt) chart.

1. https://github.com/vexxhost/atmosphere/pull/483

Co-Authored-By: Oleksandr Kozachenko okozachenko1203@gmail.com

Change-Id: If377faebc4c65f37b08a3c8aab2fed844a07c26f
2023-08-29 15:46:18 -06:00
Ali Safari
818b067071 Fix nova ssh keys permission
Change-Id: Ic7a2c8b5fb3ea530eba965a75122044da59713f8
2023-08-29 21:41:37 +03:00
okozachenko
51de7be825 Set targeted dependency of nova-compute with ovn network backend
Change-Id: I40ad779036be0860f944ea9bff87f3317dc6314e
2023-08-21 22:42:17 +10:00
Sadegh Hayeri
91c8a5baf2 Use service tokens
Change-Id: If81d59cb848ae7e07eb7bcb8d594b5005a7d5528
2023-07-27 07:01:00 +00:00
az7961
5ef1d54607 Ensure that the script handles cases where the PID file exists but is empty or does not contain the expected data structure.
Change-Id: I4301a6cbea0688369c735d4751c741106b3fe7ab
2023-07-06 14:20:57 -05:00
Vladimir Kozhukalov
b1f74a351a Add 2023.1 test jobs
- Also run last two test scripts in compute-kit job
  sequentially. This is handy since it allows to see
  what is happening during the test run. Both these
  test scripts usually take just few minutes. But if
  we run them using ansible async feature and one of
  the scripts fails then we are forced to wait for
  a long timeout.

Change-Id: I75b8fde3ec4e3355319b1c3f257e2d76c36f6aa4
2023-07-04 18:34:31 +03:00
Vladimir Kozhukalov
02a9e1e0ed Enable Zed compute-kit and cinder jobs
Also a new nodeset was temporarily added.
The aio compute-kit jobs for recent releases require
a huge node to work reliably. We'll remove the temporary nodeset
once this is merged
https://review.opendev.org/c/openstack/openstack-helm-infra/+/884989

Change-Id: I7572fc39a8f6248ff7dac44f20076ba74a3499fc
2023-06-01 16:15:50 +03:00
moontaek-rho
969e3f7871 title: Update oslo_messaging_RPCClient
oslo_messaging.RPCClient is currently deprecated.
Configure health probe to use get_rpc_client if get_rpc_client is
available

story: 2010766
task: 48076
Change-Id: I0795e6e099b935ead8d6d3d22722999b852749d0
2023-05-25 19:40:04 +09:00
moontaek-rho
b6cbbf38a9 title: Update get_notification_transport
If the transport_url of nova's oslo messaging notification and the default transport_url value are different, timeout occurs when oslo_messaging.RPCClient.call is executed because of the part written in oslo_messaging.get_notification_transport.
This change moves the health probe to use get_rpc_transport instead.

story: 2010766
task: 48074
Change-Id: Ia6a2b9ce500e8806f76882b28f4d9cca440b6e1a
2023-05-24 03:26:09 +00:00
okozachenko
423d91d6c3 Define service_type in keystone_authtoken
If application credentials with access rules are required,
an OpenStack service using keystonemiddleware to authenticate
with keystone, needs to define service_type in its configuration
file.

Change-Id: I7034e82837d724f12d57969857f79d67c962cebe
2023-05-12 23:09:58 +10:00
Jerry Elmore
bd6a78e983 Fixed typo openstack-helm/nova/templates/deployment-spiceproxy.yaml that caused SPICE console deployment to break.
Change-Id: Ibfb7decb1d76854c61654e2ad3b0f627485c610c
2023-05-09 13:05:03 +03:00
liyingjun
f90fa9ea9e fix(nova): missing privilege separation directory for nova ssh
nova-compute-ssh failed to start with error "Missing privilege
separation directory: /run/sshd" when nova ssh is enabled.

Change-Id: I4fa25a56f191aae6b4fa9efce508723d7c256c8c
2023-04-24 02:05:53 +00:00
Mohammed Naser
8f0a154138 fix(nova): add default live_migration_inbound_addr
At the moment, if live_migration_inbound_addr is not defined it
will default to the hostname of the hypervisor which requires
DNS in order to work properly.

DNS can be complicated and it is possible that an environment
might not have it, so it makes sense to default to grabbing the
default route interface to do live migrations over in order
to allow live migrations when DNS is not setup.

Change-Id: I10eb63fc64d7cd34ef89df529637b1e81951e38c
2023-03-30 13:31:41 -04:00
Mohammed Naser
d77e5389f0 fix: vnc access
The VNC port option was changed long ago..

Let's catch up.

Change-Id: I9f45c7102422af20f03f95fa30271d51df6d72ee
2023-03-24 14:37:11 -04:00
Samuel Liu
73e696b3fb Replace node-role.kubernetes.io/master with control-plane
The master label is no longer present on kubeadm control plane nodes(v1.24). For new clusters, the label 'node-role.kubernetes.io/master' will no longer be added to control plane nodes, only the label 'node-role.kubernetes.io/control-plane' will be added. For more information, refer to KEP-2067[https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/kubeadm/2067-rename-master-label-taint]: Rename the kubeadm "master" label and taint.

the kubernetes pr: https://github.com/kubernetes/kubernetes/pull/107533

Change-Id: Iad8c833371efb3ec35149c89eb8fafdf1150fa87
2023-03-21 09:02:00 +08:00
Sadegh Hayeri
c83582a866 Add ovn
Change-Id: Iacf6423399d51134af5b00b472ef6b42e17dfd6a
2023-03-17 21:31:48 +03:30
Stephen Taylor
884a734833 [ceph] Update all Ceph images to Focal
This change updates all Ceph image references to use Focal images
for all charts in openstack-helm.

Change-Id: I67cd294e2aabf3c3af404da42204f9b6157b06f7
2023-03-17 07:50:10 -06:00
Mohammed Naser
1885f46343 Remove deprecated config options
We have a few deprecated config options that are not being
used anymore as well as some that have been moved to other
groups for quite sometime.

Change-Id: Ibd447897f6399bab47b031ccab228188ebed8266
2023-02-11 04:14:38 +00:00
Markin, Sergiy
ccd6ab8cce Added backoffLimit control for nova-bootstrap job
This PS adds backoffLimit to nova-bootstrap job in nova chart. By default, this job was created from a template in helm-toolkit.

58291db1a6

In this commit the job was re-designed without controlling of the backoffLimit value.

Change-Id: Icb28363be8063d849fd22e9c2542edf1eb203d60
2022-11-15 17:42:16 -06:00