Commit Graph

110 Commits

Author SHA1 Message Date
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
Doug Goldstein 249b5d219e
ironic: allow custom annotations on jobs
Change-Id: Ied5974888c3e4d23159bc4d38dd0d92a1a21a8dc
Signed-off-by: Doug Goldstein <doug.goldstein@rackspace.com>
2024-04-11 22:40:01 -05:00
Tadas Sutkaitis a4a8b460ac
Ironic: Enable custom annotations
Enable custom annotations for pods [deployments, daemonsets]

Change-Id: Ib2de0b5554db091b89f1c1eb242814f2859f9ee6
2024-03-27 09:20:45 +02:00
Vladimir Kozhukalov 52cd767c84 Cleanup unnecessary files
We recently re-worked all the deployment jobs
so they use `deploy-env` Ansible role which works
for both multi-node and single-node environments.
This means there is no need to have diffrent sets
of scripts for these two cases.

Also when we deploy Openstack components it is better
to have values overrides for different scenarios but
not different sets of scripts. Here we remove unused
deployment scripts which in many cases duplicated
the code base.

We will be cleaning up the code base even further to
provide excelent user experience.

Change-Id: Iacda03964a4dd0e60873593df9f590ce20504f2f
2023-11-02 16:12:27 -05: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
Karl Kloppenborg 1c87fe6fe3 chore: add helm3 hook capabilities to ironic
bugfix: add helm3_hook default

bugfix: revert change on neutron - not applicable to this changeset
Change-Id: I4bc60e8e34a6861742f1f9e7582e69f49740ab87
2023-01-16 05:53:45 +00: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
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
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 7a5eadfda1 Update ironic defaults to use Wallaby
This change updates the default image values for the ironic chart
to use the wallaby release images.

This is part of the effort to remove older release references.

Change-Id: I485bc247c5d14176b6b4db36e2b5006a900238f9
2022-04-26 14:40:02 -05:00
Thiago Brito 1d9464bad4 Enable taint toleration for ironic
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: Idf412a10e6c6eb6721c427627cf945a70151e355
2022-03-22 18:46:00 +00:00
Gage Hugo c20c1e4400 Update htk requirements repo
As part of the move to helm v3, all the charts in the OSH repos
will no longer lint/build properly due to a lack of helm serve
in helm v3.

This change modifies the helm-toolkit repo location to the
osh-infra repo in order to account for the removal oh helm serve.

This work is part of the migration to helm v3 and will be utilized
in future changes.

Change-Id: I90d25943d69ad6c76455f7778a4894f00c525c46
2021-10-10 18:45:28 -05:00
Thiago Brito 8ab6013409 Changing all policies to yaml format
In the Victoria cycle oslo.policy decided to change all default policies
to yaml format. Today on openstack-helm we have a mix of json and yaml
on projects and, after having a bad time debugging policies that should
have beeing mounted somewhere but was being mounted elsewhere, I'm
proposing this change so we can unify the delivery method for all
policies across components on yaml (that is supported for quite some
time). This will also avoid having problems in the future as the
services move from json to yaml.

[1] https://specs.openstack.org/openstack/oslo-specs/specs/victoria/policy-json-to-yaml.html

Signed-off-by: Thiago Brito <thiago.brito@windriver.com>
Change-Id: Id170bf184e44fd77cd53929d474582022a5b6d4f
2021-05-26 18:15:41 -03:00
Gage Hugo 5233582991 Remove support for openstack releases older than T
This change bumps each openstack chart version up to the next
greatest minor version of 0.2.0, signifying that openstack-helm
will no longer support older, EOL releases for each chart.

Change-Id: I7ce80c7bdc779c1de4472079f18102f506bfbb90
2021-04-29 12:04:34 -05:00
Susanta Gautam 201dd4ea6c Added post-install and post-upgrade hook for jobs in ironic
Chart upgrading was failing due to some immutable fields are needed to upgrade before the jobs can be upgraded. For solving this issue, we
have added the helm.sh/hook annotations with post-install and post-upgrade values.
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.

Change-Id: I0905be3d1708e5226ccd41b84b409a290c89f826
2021-03-24 17:07:44 +05:45
Andrii Ostapenko 20b6b9a236
Change helm-toolkit dependency version to ">= 0.1.0"
Since we introduced chart version check in gates, requirements are not
satisfied with strict check of 0.1.0

Change-Id: If537f69dec7e3360f6bffcc4424f10c248919ece
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
2020-09-24 12:20:13 -05:00
Zuul 28669f8854 Merge "Sync logging values with upstream repos" 2020-09-17 04:08:40 +00:00
Mohammed Naser 89969ade3a Add chart-testing linter
Added chart lint in zuul CI to enhance the stability for charts.
Fixed some lint errors in the current charts.

Change-Id: I7e4b191fb9e355ab5d5a233e8ed121346519df62
2020-09-16 21:12:17 +03:00
okozachenko a8fc28696d Sync logging values with upstream repos
Some OSH charts have diffferent values for logger_root
handler from upsgream repo config defaul values.
Exactly, logger_root handler values.
This leads double logging finally.
To fix this, set logger_root as null like upstream repos.

Change-Id: I20e4f48efe29ae59c56f74e0ed9a4085283de6ad
2020-09-15 19:15:05 +03:00
John Haan 2671986a6f enabled_drivers is not necessary any more in ironic chart
ironic conductor does not allow to have the enabled_drivers

configuration value from stein version.

If we set values for enabled_drivers, the service raised errors.

Change-Id: I5b299ab691013836d5eb2169f95b12805a27b4e8
2020-06-26 05:11:49 +00:00
Zuul 560d6e9c23 Merge "[Ironic] Add configmap bin/etc hash to annotations" 2020-06-03 07:39:05 +00:00
Andrii Ostapenko 8cfa2aa390 Enable yamllint checks
- brackets
- braces
- colon
- commas
- comments
- document-end
- document-start
- empty-lines
- hyphens
- indentation
- new-line-at-end-of-file
- new-lines
- octal-values
- trailing-spaces

with corresponding code adjustment.

Also add yamllint.conf under the check.

Change-Id: Ie6251c9063c9c99ebe7c6db54c65d45d6ee7a1d4
2020-05-27 19:16:34 -05:00
Vasyl Saienko 9f8f2b8695 [Ironic] Add configmap bin/etc hash to annotations
Make sure ironic conductor pods are restarted automatically with configmap changes.

Change-Id: I08ae650d6117d4d3590028a3f385615623318af8
2020-05-27 07:52:17 +00:00
Gage Hugo db79e79788 Remove OSH Authors copyright
The current copyright refers to a non-existent group
"openstack helm authors" with often out-of-date references that
are confusing when adding a new file to the repo.

This change removes all references to this copyright by the
non-existent group and any blank lines underneath.

Change-Id: Ia035037e000f1bf95202fc07b8cd1ad0fc019094
2020-04-03 20:53:32 +00:00
Gage Hugo f9dbba7043 Revert "Revert "Keystone Authtoken Cache: allow universal secret key to be set""
This reverts commit 90d070390d.

Change-Id: I017c6e9676b872e1aab21f9dc8aa2f93db58d49f
2020-02-21 11:16:55 -06:00
Zuul c591479c8b Merge "Check return value of get subnets before iterate for ironic" 2020-02-13 20:37:26 +00:00
Vasyl Saienko 90d070390d Revert "Keystone Authtoken Cache: allow universal secret key to be set"
This reverts commit 1c85fdc390.

Do not use randomly generated strings in configmaps as this leads to
whole helm release redeployment even no values are changed. The random
items have to be generated outside of helm chart and provided via
values.
Also previous behaviour didn't allow to use cache during rolling upgrade
as new pods were spawned with new key.

Change-Id: I423611b18fca0d65e2e721a9c6a0c3d8df0813d2
2020-02-12 11:18:06 +00:00
Mingyuan Qi 1fd5ec6595 Check return value of get subnets before iterate for ironic
With the update of openstack clients:
openstack client >= 4.0.0
neutron client >= 6.14.0
neturon lib >= 1.29.1

The command 'openstack network show ${network} -f value -c subnets'
returns '[]' instead of null string if no subnets found in the
specific network. This commit adds a check logic to avoid subsequent
command returns error by using '[]' as subnet input.

Change-Id: I7e7d5209227b0e34131b7715dbd3faa6066a94b7
Signed-off-by: Mingyuan Qi <mingyuan.qi@intel.com>
2019-12-31 19:02:45 +00:00
Steve Wilkerson 9736f5f544 Update kubernetes-entrypoint image reference
This updates the kubernetes-entrypoint image reference to consume
the publicly available kubernetes-entrypoint image that is built
and maintained under the airshipit namespace, as the stackanetes
image is no longer actively maintainedy

Depends-On: https://review.opendev.org/688435

Change-Id: I8e76cdcc9d4db8975b330e97169754a2a407341f
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-10-21 13:58:22 +00:00
Zuul 2d8acb9396 Merge "Apply network policy to all services" 2019-10-14 13:53:25 +00:00
Tin Lam e8e5072a18 Apply network policy to all services
The base network policy framework currently applies only to some
OpenStack services' charts but not others. This patch set applies the
same base network policies framework to all services.

Change-Id: I786c68057f6742a79a33f78db6e3bba8b99cf1b8
Signed-off-by: Tin Lam <tin@irrational.io>
2019-09-27 14:18:26 +00:00
Michael Polenchuk 73639ee4f2 [ironic] Support override of agent image
Make bootstrap script structured to be able to override
version of agent or even image source itself.

Change-Id: Ibdba2222176833b5a593bfc1619e2a0913b6fac1
2019-09-23 13:24:49 +04:00
Radu Viorel Cosnita c54f51c603 Mount all ironic conductor volumes.
We can configure custom volumes and volumeMounts in the helm chart for ironic conductor and these are now mounted in the ironic-conductor container.

Change-Id: I717920cb0b75951175019bb991c8d948916a9db3
Signed-off-by: Radu Viorel Cosnita <radu.cosnita@gmail.com>
Story: 2006458
Task: 36380
2019-09-16 15:14:35 +00:00
Mingyuan Qi 5f37a88a14 Ironic: Add pxe boot support for centos image
Current pxe init script does not support pxe for centos distro as
base image. Different folders were checked for centos to copy
pxe/ipxe files to tftpboot folder.

Change-Id: I4911825193d75aaaed24e8b71ba43efa2fc78fe8
Signed-off-by: Mingyuan Qi <mingyuan.qi@intel.com>
2019-07-10 15:23:28 +08:00
Pete Birley 9bcf0df94c Messaging: use htk function to directly hit RabbitMQ servers
This PS updates the charts to use the htk function recently introduced
to allow oslo.messaging clients ans servers to directly hit their
backends rather than using either DNS or K8S svc based routing.

Depends-On: I5150a64bd29fa062e30496c1f2127de138322863

Change-Id: I458b4313c57fc50c8181cedeca9919670487926a
Signed-off-by: Pete Birley <pete@port.direct>
2019-06-18 21:47:45 +00:00
Zuul cd460f12c2 Merge "Rafactoring volume mount variables in db sync job" 2019-06-18 18:24:18 +00:00
Pete Birley 31bd9c832d Logs: Make it optional to use log_config_append option
This PS enables the use of simple logging options if desired.

Change-Id: If6ea420c6ed595b3b6b6eedf99a0bf26a20b6abf
Signed-off-by: Pete Birley <pete@port.direct>
2019-06-17 13:51:21 -05:00
John Haan 0ea9be7ade Rafactoring volume mount variables in db sync job
This patch make the db sync job template follows the same pattern
that other templates utilize the variables to make in a predictable
pattern.

Change-Id: Idbedd046c6b4fd001cf63004ffac792173a5778b
Story: 2005754
Task: 33457
2019-05-22 17:47:03 +09:00
Zuul f8adab245b Merge "Point to OSH-images images" 2019-05-18 19:12:58 +00:00
Jean-Philippe Evrard 1d335146fa Point to OSH-images images
We now have a process for OSH-images image building,
using Zuul, so we should point the images by default to those
images, instead of pointing to stale images.

Without this, the osh-images build process is completely not
in use, and updating the osh-images process or patching its
code has no impact on OSH.

This should fix it.

Change-Id: I672b8755bf9e182b15eff067479b662529a13477
2019-05-13 10:58:02 +02:00
Roy Tang (rt7380) 5df6fa3789 Expose Anti-Affinity Weight Setting.
Add weight default setting to anti-affinity.

Depends-on: Id8eb303674764ef8b0664f62040723aaf77e0a54
Change-Id: I09f96522cddf3a77dae73daca4557877eda5df50
2019-05-10 22:05:24 -05:00
Zuul 7f95467e3d Merge "Replace git.openstack.org URLs with opendev.org URLs" 2019-05-01 16:11:28 +00:00
Zuul 7d938de167 Merge "Add ipxe file path variable and installation codes for CentOS" 2019-05-01 14:53:18 +00:00
tw0410 0e64d83752 Add ipxe file path variable and installation codes for CentOS
In _ironic-conductor-pxe-init.sh.tpl file,
there are only codes for ubuntu system.

However in Openstack-Helm especially in kolla image,
there are Ubuntu version and CentOS version.

So add codes for OS dependency check and ipxe file PATH for each OS.

Change-Id: I04886da64ae0dfda782bcd8d8d2cde960ab1db1d
Signed-off-by: TaewooLee <tw0410.lee@samsung.com>
2019-04-29 09:19:35 +09:00
caoyuan cb77d3adff Replace git.openstack.org URLs with opendev.org URLs
Change-Id: I9a7bcee8727cb127d57ccb4dce1183895a4130cd
2019-04-25 00:37:57 +08:00
Pete Birley 623c131292 OSH: Add emptydirs for tmp
This PS adds emptydirs backing the /tmp directory in pods, which
is required in most cases for full operation when using a read only
filesystem backing the container.

Additionally some yaml indent issues are resolved.

Change-Id: I9df8f70e913b911ff755600fa2f669d9c5dcb928
Signed-off-by: Pete Birley <pete@port.direct>
2019-04-20 08:55:44 -05:00
jlego229-kim 65bd9a7a04 Change default of ironic.conductor.api_url from internal to public
Currently a pxe-client has to contact with ironic-api through
it's internal endpoint during lookup() period.

However, the pxe-client cannot access kube-dns by ifself,
so it needs additional dns server. (or Using NodePort)

With additional dns server, it will be safer for pxe-client
to contact with ironic-api through it's public endpoint(passing by ingress)
rather than internal endpoint directly becuase internal pod's IPs would be changed frequently.

Also, I refered to {Values.conf.ironic.glance.swift_endpoint_url}.
(swift is also accessed by the pxe-client and swift_url's default is public endpoint)

Change-Id: I0ad97f3ed608973d7e5a4a11d87595fe258a0db5
2019-04-17 13:08:32 +09:00
Itxaka 715f4bcfff
Fix volumemounts indent issue
Using {{- if for the volume mounts caused them to be added inline with
the previous line.

Removing the - from the if expression makes them be properly aligned on
the next line

Change-Id: Ia5e28366fb1f2ae7420b7f5217c10cbb94bc48ab
2019-04-10 11:56:26 +02:00
Pavlo Shchelokovskyy f3b1be7bde Add preliminary support for standalone ironic
currently ironic chart is quite entangled with the presense of
other openstack services (Glance, Neutron, Swift).

Ironic is capable of running completely standalone, and while
the keystone and some neutron-related pieces are implemented as jobs
and can be turned off in manifests and dependencies sections of values,
others are scripts running as initContainers and are not the easy to
switch off.

This patch adds more key/values to the bootstrap key,
which allows to turn off Neutron-, Swift- and Glance-related pieces
while keeping possibility that some other networking, image or
object_store actions appropriate for standalone case may be needed.

Change-Id: Icccbdbce81ca350042f33f5e86bb942064839267
2019-03-22 17:04:08 +02:00
Jiří Suchomel a2a5dda47c Added volume related keys to pod mounts to ease the overriding
If user wants to add an extra volumeMounts/volume to a pod,
amd uses override values e.g. like this

pod:
  mounts:
    nova_placement:
      init_container: null
      nova_placement:
        volumeMounts:
          - name: nova-etc
          ...

helm template parser complains with

Warning: The destination item 'nova_placement' is a table and ignoring the source 'nova_placement' as it has a non-table value of: <nil>

So when we create empty values for such keys in values.yaml, the source
will be present and warning does not need to be shown.

Change-Id: Ib8dc53c3a54e12014025de8fafe16fbe9721c0da
2019-03-15 16:29:19 +00:00