348 Commits

Author SHA1 Message Date
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
Gage Hugo
d1b72aa35e Remove nova-placement from nova chart
nova-placement has been removed as of train, since we
do not support openstack releases before train, it
is no longer needed. This change removes nova-placement
from the nova chart and all the overrides, as well as
changes the compute-kit scripts to always deploy
the placement chart.

Change-Id: Ic8649371fe9e954806cbe4bf11c589fb58c7a88d
2022-04-07 14:50:29 -05:00
josebb
8b2ba7b029 Support TLS endpoints in nova
This allows nova to consume TLS openstack endpoints.
Jobs consume openstack endpoints, typically identity endpoints.
And nova itself interact with other openstack services via
endpoints.

Change-Id: Iff4422360ca51e94fd1b00854693e266cc202390
2022-04-01 19:05:59 +03:00
Thiago Brito
45ea26175b Enable taint toleration for nova
This changes use the helm-toolkit template for toleration
in openstack services

Signed-off-by: Lucas Cavalcante <lucasmedeiros.cavalcante@windriver.com>
Story: 2009276
Task: 43531
Depends-On: I168837f962465d1c89acc511b7bf4064ac4b546c
Change-Id: I72a4f6073eaf19c662ccd0b3e35ca62c5b88ad65
2022-03-28 10:44:19 -03:00
Gage Hugo
f3de6d808a Remove consoleauth in nova
Nova consoleauth was removes several releases ago and most of our
overrides were specifically needing to disable it in order to
deploy. Since it is no longer in nova, this change removes the
nova consoleauth support from the nova chart.

Change-Id: I0a27265330156a11f6049e9beaaa14a38d8a4a93
2022-03-26 18:49:30 -05:00
Mitya_Eremeev
9f5e397f3b Host of compute ironic service equals pod name.
If compute ironic pod migrates to another host,
old compute ironic service is not deleted and
in 'down' status forever. Unless it's deleted manually.
New compute ironic service is
created successfuly and in 'up' status.
This error behavior is due to host of compute
ironic service equals node name because of host networking.
The patch disables host networking which solves the issue.

Story: #2009843
Task: #44446
Change-Id: Iec86be4961cbf3a74c8028cd981ed2a9f6584add
2022-03-21 12:36:17 +03:00
Gage Hugo
b09f5c0bf0 Update oslo messaging get_transport
oslo_messaging.get_transport is currently deprecated. This change
moves the health prove to use get_notification_transport instead.

Change-Id: Iea7c914b41dec70b36ebe93fa8ce91e00894f50e
2022-02-28 02:04:15 +00:00
Anderson, Craig (ca846m)
d514395d81 Improve health probe logging for nova and neutron
1. Log specific compute services failing rabbitMQ socket tests in nova
   health probe
2. Log specific compute services failing Database socket tests in nova
   health probe
3. Make log level configurable for nova and neutron health probes

Change-Id: I5e5d909d598af734596eb1732ae42808c1f6cd12
2022-02-22 10:05:15 +00:00
Hugo Brito
3ff41ce11c Remove ssh-config
All ssh configurations for the nova-compute pods
are now done by _ssh-init.sh.tpl . This patch removes
the ssh-config that is not needed anymore.

Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
Change-Id: Ib1b24466678a0df28a3ce7ba4d3fe94bfb169702
2022-02-04 10:05:14 -03:00
Thiago Brito
c63b1920d5 Fix nova-compute-ssh init to execute as runAsUser
On _ssh-init.sh.tpl, despite one change the runAsUser for the
nova-compute container on the securityContext, the ssh keys are always
being copied into the 'nova' user's folder. This change fixes it by
getting the correct user defined on the securityContext and copying the
keys to its correct folder.

Signed-off-by: Thiago Brito <thiago.brito@windriver.com>
Change-Id: Ia7883dc4626a295892eb4637ef717b0b1725ac89
2022-01-12 17:32:12 -03:00
Huy Tran
1d7f880c42 Add check for number of computes in cell-setup-init script
This PS further enhances [1] to handle case where present
computes are up, but the number of present computes is not
equal to total number of expected computes.

[1] https://review.opendev.org/c/openstack/openstack-helm/+/815086

Change-Id: Idb2a7aeb202fe29fc528ba0dde987e7e0ee65a95
2021-11-03 11:09:02 -05:00
Phil Sphicas
46692e21d9 Fix nova-bootstrap job labels
Similar to earlier changes [0] [1], this change ensures that the labels
for the nova-boostrap job are consistently applied under .metadata and
.spec.template.metadata.

Unfortunately, there was a conflict in the "application" label that was
unresolvable in a backwards-compatible way.

    metadata:
      labels:
        application: nova-bootstrap
    spec:
      template:
        metadata:
          labels:
            application: nova
            ...

The standard helm-toolkit labels are now applied in both places, and the
application: nova-bootstrap label is removed.

0: https://review.opendev.org/c/openstack/openstack-helm/+/812233
1: https://review.opendev.org/c/openstack/openstack-helm/+/813300

Change-Id: I72275f3cf59ca8c1677922ca3b6f2e10b5578ab0
Depends-On: I0c892be5aba7ccd6e3c378e4e45a79d2df03c06a
2021-11-02 14:38:19 +00:00
Huy Tran
6b785b16dc Add option to extend the wait for cell-setup-init
In some deployement environments, nova compute processes took a bit
longer to register on all hosts, and vm/server is instantiated almost
immediately before the process is registered on remaining hosts.
This PS enhances the cell-setup-init script to enable option to
extend the wait before performing discover hosts.

Change-Id: Ie9867e64c554d4f39fdc7432823a1869f0b4a520
2021-10-26 19:03:48 +00:00
Gage Hugo
1e651dc3c3 Helm 3 - Fix Job Labels
If labels are not specified on a Job, kubernetes defaults them
to include the labels of their underlying Pod template. Helm 3
injects metadata into all resources [0] including a
`app.kubernetes.io/managed-by: Helm` label. Thus when kubernetes
sees a Job's labels they are no longer empty and thus do not get
defaulted to the underlying Pod template's labels. This is a
problem since Job labels are depended on by
- Armada pre-upgrade delete hooks
- Armada wait logic configurations
- kubernetes-entrypoint dependencies

Thus for each Job template this adds labels matching the
underlying Pod template to retain the same labels that were
present with Helm 2.

[0]: https://github.com/helm/helm/pull/7649

Change-Id: Ib5a7eb494fb776d74e1edc767b9522b02453b19d
2021-10-06 13:54:58 -05:00
Gupta, Sangeet (sg774j)
a772a30f07 nova: Update script to true of grep does get anything.
Change-Id: I54addea00b4ab91d8fe4925f88cacd582888a7f3
2021-10-06 14:02:45 +00:00
Gupta, Sangeet (sg774j)
b75545d0c6 nova: Define service cleaner sleep time
This makes the service cleaner sleep time if any service is down
provisionable.

Change-Id: If55a22c4f22ff0a48767dae3d57aca6c3c8cccac
2021-10-05 14:34:13 +00:00
Gupta, Sangeet (sg774j)
0c80a415bf nova: Give service time to restore
nova-service-cleaner job deletes the service which are down. If the
database is down, the service will go down as well. When database comes
back up, all the services starts to come back to up status. If the
nova-service-cleaner is run in this interim time, the service that
were down gets deleted. These would have come up if the job had not
run. Adding sleep to this job to give service time to come back up
if recovering. The sleep is set to 2 times the report_interval.

Change-Id: Ia292d19508e9449ccb40d1100b1d56b1283e5d53
2021-10-05 05:10:39 +00:00
Thiago Brito
b4c58ca27b Fixing nova's helm.sh/hook disablement
It's impossible to disable the helm.sh/hook for the nova-ks-service
job since the hook is being added in duplicity to the job dictionary
before the check for Values.helm3_hook. This commit removes the
duplicity so we can disable it properly.

Signed-off-by: Thiago Brito <thiago.brito@windriver.com>
Change-Id: Ie72a13afc81bce4424b10bbc542dc7c44dd38975
2021-10-01 15:46:00 -03:00
xuxant02@gmail.com
e4fffb30e5 Fix for before option in archive_deleted_rows
Script fails with too many arguments when provided command like "$(date -d 'now - 2 days')" as the value for --before option. Addition of quotes fix the issue.

Change-Id: I0639d8aea368988976d5990c42e960de44844f61
2021-09-21 11:42:24 +05:45
Susanta Gautam
bd825495a4 Added helm.sh/hook annotations for nova chart
Chart upgrading was failing due to some immutable fields are needed to be upgraded before the jobs can be upgraded. For solving this issue, helm.sh/hook annotations with post-install and post-upgrade has been added. As for hook-weight annotations, we have added these to control the flow of the jobs with hook creation as the jobs are dependent. Like, db-init jobs need to run before db-sync and so on. Also, helm3_hook value is added in values.yaml file in case hooks needs to be disabled if needed.

Change-Id: I4d489f5ded94f19dd3fcf58dafde00b18ff5bcae
2021-08-17 21:10:38 +05:45
Chris Wedgwood
3a5c7afba1 [nova] add missing 'runlock' hostMount when enable_scsi
Change-Id: Ia6c9b50ae81bec238c4cabc422fe7140347a50a6
2021-08-06 12:51:42 -05:00
DeJaeger, Darren (dd118r)
9a8a476d9f Nova bootstrap job efficiency
This PS attempts to make the Nova bootstrap job a little speedier.
It's been noticed that flavor check/creation on initial deployment
are rather slow, so this backgrounds the creation of each flavor,
so that the defined flavors can be checked/create in parallel,
rather than one at a time. Waits for the jobs to finish at the end.

Change-Id: Ib9ab345e5aee697a41414e927910335dd286072f
2021-08-02 21:19:30 -04:00
Andrii Ostapenko
3ac3caa013 Add support for Victoria and Wallaby
Defines compute kit and cinder jobs for new releases with
corresponding values overrides.

Disables compute agent list test for Wallaby since related API
is removed [0].

Since Wallaby with switch of osc to sdk '--id auto' is no longer
treated specially in 'openstack flavor create'. The same behavior
can be achieved w/o specifying --id flag for flavor creation [1].

Starting Wallaby 'nova-manage api_db version' returns init version
for empty database greater than 0 [2]. _db-sync.sh.tpl logic prior to
this commit does not work due to this. We need to either remove
(done in current commit) or justify and alter previous logic.

[0] https://review.opendev.org/749309
[1] https://review.opendev.org/750151
[2] https://opendev.org/openstack/nova/src/branch/stable/wallaby/nova/db/sqlalchemy/migration.py#L32

Change-Id: I361431d9aa8c1a06c5d59f479fb161ecd87e2ee2
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
2021-08-02 15:46:07 +00:00
Haider, Nafiz (nh532m)
2065ccd523 Mount rabbitmq tls cert for nova-novnc communication
Change-Id: I80b2515c2f36d0167ee9ef8049bf6b167a5e399d
2021-07-28 17:07:29 +00:00
xuxant02@gmail.com
c050456bdb Fix for the values in archive_delete_rows script
There was a mistake in the script for the archive_delete_rows cron for
rendering the values from the values files. Fix for taking the values
from the values file for --max-rows and --before options when enabled
using the values.yaml file.

Change-Id: Ib63920c497bbf9ac74e41bdfd0b2e580b95bebb0
2021-07-02 19:12:04 +05:45
xuxant02@gmail.com
f3d361d2f7 Added cronjob for nova which will be cleaning the databases.
Script has been created with archve_deleted_rows which will run as
cronjob to move the deleted rows from production table to shadow table.

Change-Id: I1cd3e523301b1aaeb3366288d128e23aae5e0780
2021-06-24 15:49:35 +05:45
Gupta, Sangeet (sg774j)
5028aa8de1 Mount rabbitmq TLS secret
Mount rabbitmq TLS secret to openstack services which support internal
TLS. Once internal TLS support is added to other service, the TLSed 
rabbitmq support should be added.

Depends-on: https://review.opendev.org/c/openstack/openstack-helm-infra/+/795188

Change-Id: I9aa272e365f846746f2e06aa7b7010db730e17df
2021-06-10 14:12:57 +00:00
zhen
5bb9b20112 Replace deprecated configuration
``[vnc]/vncserver_proxyclient_address`` was deprecated, so we replace it with ``server_proxyclient_address``

Change-Id: I142710ffab2aa407a09318e4b8517938ed28f3c8
2021-05-27 10:05:34 +08:00
Haider, Nafiz (nh532m)
c900712f30 feat(tls): Make openstack services compatible with rabbitmq TLS
Depends-on: https://review.opendev.org/c/openstack/openstack-helm-infra/+/770678

Co-authored-by: Sangeet Gupta <sg774j@att.com>

Change-Id: I11e9ad3f4079b0e12e498f9ed57e5b87ae9dc66a
2021-05-21 01:27:18 +00:00
Tin
f5a70102b2 fix(perm): fixes template permission
Some nova gotpl files have +x permission. This changes it so they are
consistent with the other gotpl files.

Change-Id: Ifcd4c1032b41363ea8b1d43407315d68d7e9eec8
Signed-off-by: Tin <tin@irrational.io>
2021-05-17 11:26:01 -05:00
jinyuan
1fda67d9cd Fix the nova-compute-ironic label issue
The nova-compute-ironic label is "compute", but the label chosen by affinity is "compute-ironic", which results in multiple replicas on the same node.

Change-Id: If947be6cd400e32d3455f07a85f4263c4b17cb87
2021-04-19 15:21:37 +08:00
Karl Kloppenborg
d2e2d58a5f Add ISCSI Multipath support when enable_iscsi true
When using iscsi in both cinder and nova multipath tooling access is not
currently available. This commit provides the host system access to
configure and control multipath.
This commit has been tested in our own production systems however this
is my first commit into Openstack-Helm so please review carefully and
provide me guidance on what I might be able to do better.

Change-Id: I4f017f67a5d80b9c931e2ee1653062aa503a7fd9
2021-04-12 08:28:56 +00:00
Mohammed Naser
fdd6b4507d Use first IP address for interface
It is possible than an interface has multiple IP addresses, for
simplicity of this change, use the first one so that the service
can start.

We can look later into improving it to accept some sort of index
for the IP address.

Change-Id: Ie856f54331d689a51bfd6de45db5820b765797ef
2021-03-10 15:47:24 -05:00
okozachenko
04d600c5b0 Mount /dev/pts in nova-compute container
Nova will check if pty device exist or not under /dev/pts
when get console log.
If it does not exist, cannot get console log.
ref: https://review.opendev.org/c/starlingx/config/+/660268

Change-Id: I2793d1f51c18e81a4271b8b0c50bfe1a2dab8a09
2021-03-01 17:43:42 +02:00
jinyuan
3a05f5c3f9 Update rbac api version for nova
When using a helm3 to deploy , it fails
Helm3 no more support rbac.authorization.k8s.io/v1beta1 , but v1 can
support helm2 and helm3.

This change optimized deployment.

Change-Id: Id3dbbe721f4ded3c54d82852d9c155253d226867
2021-02-19 09:01:25 +08:00
Chris Wedgwood
61c167d359 [nova,cinder] Use HostToContainer mount propagation
Bidirectional mount propagation doesn't work as expected,
HostToContainer does and is the safer option for now.

Change-Id: Ia0b0ab1a74991745cd74d3629d23f86bd8ff5296
2021-02-02 12:19:57 +00:00
Sphicas, Phil (ps3910)
c7c19e85c0 Use HostToContainer mountPropagation
For any host mounts that include /var/lib/kubelet, use HostToContainer
mountPropagation, which avoids creating extra references to mounts in
other containers.

Affects the following resources:
* neutron-lb-agent daemonset
* neutron-ovs-agent daemonset
* neutron-sriov-agent daemonset (unused mount removed)
* nova-compute daemeonset

Change-Id: I92f1700e56517a74b1fbcc8e3a68567045a593ee
2021-01-07 20:27:08 +00:00
Chris Wedgwood
097632ebbf [nova-compute] Enable hostIPC
IPC is used by the multipath processes, hostIPC should be set so
semaphore operations work between the nova-compute pod and the host.

Without this things like `multipath -f ...` stall until timeout.

Change-Id: Iaeb6dff2ae934eabf5faddf930ba2029c0698f90
2020-12-22 17:23:08 -06:00
okozachenko
0b1ed76014 Remove deprecated os_region_name for placement
Change-Id: I0ef2ac278ce2d6f7f05683f68c1541bae8013361
2020-11-09 23:14:49 +00:00
okozachenko
74b119db35 Add nova-compute-ssh
Change-Id: Ia555bb69182441d5f17040504efc7d1d524e59ec
2020-09-25 17:39:05 +03:00
Gupta, Sangeet (sg774j)
94642833dd [nova] fix cell0 database connection
This patchset sets/updates the Database Connection for cell0 to
correct value in the database.

Change-Id: I4d445023691b748a7de0d256433bd17c7958cc04
2020-08-13 20:55:40 +00:00
Andrii Ostapenko
08ea8ec314 feat(tls): added mariadb certs to placement and nova-metadata
Change-Id: I9a26d3db41e745a35209d531ec707734dd33659d
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
2020-08-11 15:39:23 -05:00
Zuul
b6365afc93 Merge "Add missing security context to Nova pods/containers" 2020-08-06 05:39:50 +00:00
PrateekDodda
27dac1d2c1 Add missing security context to Nova pods/containers
This updates the Nova chart to include the pod
security context on the pod template.

This also adds the container security context to set
readOnlyRootFilesystem flag to true

Change-Id: I10b12db8019beb42005764430711694a61c8d17b
2020-08-05 20:07:15 +00:00
Gupta, Sangeet (sg774j)
2c031b882b feat(tls): added mariadb certs to nova-placement
This patchset add maraibd certs to the nova-placement for it
to connect securley with mariadb.

Change-Id: Icece0c108cb8bacfaae187d183afa56a8cdfc492
2020-08-05 19:18:27 +00:00
Tin Lam
945d0828c7 fix(tls): mounts missing secret
This patch set adds the missing secret mount for nova-service-cleaner.

Change-Id: Ide9be4875c22bfd2a65a42ac8c0a6c6682f49f4d
Signed-off-by: Tin Lam <tin@irrational.io>
2020-08-03 16:38:37 +00:00
sgupta
702c17eb78 feat(tls): Make openstack services compatible with mariadb with TLS
Depends-on: https://review.opendev.org/#/c/741037/
Change-Id: I21f4ede3bd18c0af8da1eba60cd0b7b932a31410
2020-07-14 23:32:03 +00:00
Zuul
861da9e355 Merge "Add missing security context to Nova pods/containers" 2020-07-13 18:33:57 +00:00
Andrii Ostapenko
44d263b2bf Enable templates linting
- braces
- brackets
- colons
- commas
- comments
- hyphens
- indentation
- key-duplicates

with corresponding code changes.

Also disable enforcement for document-(start|end) rules and
disables warnings to increase readability.

* Unrestrict octal values rule since benefits of file modes readability
  exceed possible issues with yaml 1.2 adoption in future k8s versions.
  These issues will be addressed when/if they occur.

Change-Id: Ic5e327cf40c4b09c90738baff56419a6cef132da
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
2020-07-11 00:52:51 +00:00