Commit Graph

543 Commits

Author SHA1 Message Date
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 31be86079d
[2] commit 8f0a154138

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
Gage Hugo 5ffefb60c1 Remove train and ussuri overrides
We dropped train support a long time ago now, and our latest efforts
are to drop ussuri/bionic images. This change removes any leftover
train overrides as well as any ussuri overrides. This also changes
any image defaults to use wallaby.

Change-Id: I818a3a79faa631ec1b7de625f2113c6f19610760
2022-10-24 16:00:59 -05:00
Gage Hugo d044c0cf3d Remove list agents rally test
The list-agents rally test for nova was removed in wallaby, but it
was also only supported by the XenAPI hypervisor driver. We have
specifically overriden it for newer releases of openstack, but
with its removal and the specific driver usage, there's no real
need to keep it around.

Change-Id: I056b397444e8dc5d4b256a6fe03c23b53a0c0fff
2022-10-04 08:38:58 -05:00
okozachenko f3ed56cc18 Use HTTP probe instead of TCP probe
Strictly speaking, open socket doesn't mean working API.
We experienced API stopped responding and the socket was still
open so API was unhealthy actually but kubernetes did not restart.

HTTP probe will fix this issue.

Change-Id: I95bb3ad3123d8a4a784d260477f037fa5506d290
2022-09-01 15:54:07 +10:00
josebb b356cbe21f Support TLS endpoints in nova metadata-api
This allows nova metadata-api to consume TLS openstack endpoints,
typically identity endpoints.

Same idea with
https://review.opendev.org/c/openstack/openstack-helm/+/820212

Change-Id: I80e580badc96908f382fe8c6ddb2fae7caa957ed
2022-08-17 09:10:05 +03:00
josebb 6882155faf Distinguish between port number of internal endpoint and binding
port number in nova

Now binding ports of service and pod spec are configured using
internal endpoint values.
To support reverse proxy for internalUrl, need to distinguish
between binding ports and internal endpoint ports.

I added `service` section in endpoint items apart from admin,public
,internal and default.

Change-Id: Id5ce67f65374382d103c8a0aec78cb43713ce4d2
2022-08-13 12:01:37 +03:00
Brian Haley ced30abead Support image registries with authentication
Based on spec
support-OCI-image-registry-with-authentication-turned-on.rst

Each Helm chart can configure an OCI image registry and
credentials to use. A Kubernetes secret is then created with this
info. Service Accounts then specify an imagePullSecret specifying
the Secret with creds for the registry. Then any pod using one
of these ServiceAccounts may pull images from an authenticated
container registry.

Related OSH-infra change:
https://review.opendev.org/c/openstack/openstack-helm-infra/+/848142

Change-Id: I54540f14fed29622bc5af8d18939afd06d65e2d8
2022-08-11 00:18:37 +00:00
zhen 5598b7d6c4 Add missing configration [vnv]/novncproxy_host
[vnv]/novncproxy_host is necessary for novncproxy to binding to
specfied ip address.

Change-Id: Ib2a79e0901e9e31da37b162661f3491362378e87
2022-07-08 18:00:12 +08:00
Gage Hugo 89addfd4e1 Add Xena and Yoga values overrides
This change adds the overrides needed to run both the Xena and
Yoga releases in the OSH zuul jobs.

Change-Id: I65e016a4cb3fd52707ab29c37f025818fcb6c405
2022-06-08 17:21:57 +00:00
Graham Steffaniak 2e5b7f9cb7 add compute-kit to openstack umbrella chart
ADD: include new charts to the umbrella chart for comprehensive
     deployment of openstack-helm.

       * openvswitch
       * libvirt
       * neutron
       * nova
       * placement

Change-Id: I78d1c7c629024c3f9530239dff9f8eb9da598764
2022-05-19 17:07:31 -05:00
Schubert Anselme 8d5ddc9035
Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1
This change updates the following charts to migrate CronJob resources to the batch/v1 API version, available since v1.21. [0]
and to migrate PodDisruptionBudget to the policy/v1 API version, also available since v1.21. [1]

- aodh (CronJob & PodDisruptionBudget)
- barbican (PodDisruptionBudget)
- ceilometer (PodDisruptionBudget)
- cinder (CronJob & PodDisruptionBudget)
- cyborg (PodDisruptionBudget)
- designate (PodDisruptionBudget)
- glance (PodDisruptionBudget)
- heat (CronJob & PodDisruptionBudget)
- horizon (PodDisruptionBudget)
- Ironic (PodDisruptionBudget)
- Keystone (CronJob & PodDisruptionBudget)
- magnum (PodDisruptionBudget)
- masakari (PodDisruptionBudget)
- mistral (PodDisruptionBudget)
- neutron (PodDisruptionBudget)
- nova (CronJob & PodDisruptionBudget)
- octavia (PodDisruptionBudget)
- placement (PodDisruptionBudget)
- rally (PodDisruptionBudget)
- senlin (CronJob & PodDisruptionBudget)

0: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#cronjob-v125
1: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#poddisruptionbudget-v125

Change-Id: I2fc0692e1c8e2c4fa4d4ca1da96b5c6a832343fa
2022-05-19 10:08:18 -04:00