Commit Graph

518 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
astebenkova 3bf4954a6b [neutron] Properly create ovs bridges in mappings for DPDK
1. Create bridges with datapath_type=netdev parameter so that neutron
   ovs-agent wouldn't recreate it dropping all the custom settings
2. Delete --no-wait flag to make sure a bridge/port was in fact created
   by ovs-vswitchd in order to prevent further commands from failing

Change-Id: I3ad5b63a0813761a23573166c5024e17d87f775d
2024-04-12 09:27:23 +03:00
liujinxin 14e665a1fd Ensure that the script handles cases where the PID file exists but is empty or does not contain the expected data structure.
Change-Id: Iba433485d2e5deebd7f256bba191382071696b96
2024-04-09 15:36:02 +08: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
ricolin 11121d5f77 Proper chown /run/openvswitch/db.sock under OVN
Change-Id: I7a9e24baacb3ab5768211997d6e9f7c65407bb83
2024-04-02 21:38:49 +08:00
Tadas Sutkaitis 6870a64783
Neutron: Enable custom annotations
Enable custom annotations for pods [deployments, daemonsets]

Change-Id: Icdc99552dd45096428f836981401635c2409d0e8
2024-03-28 22:03:02 +02:00
Vladimir Kozhukalov 82d1b86b2a Update for future ingress improvements
- Openvswitch agent init script skips attaching
  interface if it does not exist. And the compute-kit.sh
  deploys neutron with

  auto_bridge_add: {"br-ex": "provider1"}

  where "provider1" is a tap interface that is going
  to be created while deploying the test env.

- Heat test script checks only public endpoints

- Add 1+2 nodes nodeset. The primary node is used
  as a client node and not a member of K8s cluster.

Change-Id: If7c8763dd619dec31f9d141f21399d159395049a
2024-03-19 16:13:14 -05: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
Alexey Odinokov 552cab2ff1 Make sure trust on command is applied to avoid race-condition with ovs-dpdk
When i40e driver performs 'vf <n> trust on' it actually resets the device.
Intel recommends to check if the command actually finished by running
'ip link show' to avoid race-condition with too early start of
openvswitch-dpdk which will use its own dpdk-based driver for VF and which
will also try to reset the VF. Double reset of VF sometimes causes
very strange behavior including completely non-functional VF interface..

Change-Id: I28c162a63f89b3cdfe857e00651572bbbaa36748
2024-02-16 18:41:22 +00:00
Vladimir Kozhukalov 17ca3983c2 Update neutron chart to enable dpdk tests
Running dpdk test job on a sinlge node env
does not require a real hardware dpdk interfaces
to be attached to the tunnel bridge. Let's
make the list of dpdk interfaces empty which
will allow us to test the Openvswitch in user space
but not touch real hardware.

Change-Id: I2f9d954258451f64eb87d03affc079b71b00f7bd
Co-Authored-By: Arina Stebenkova <astebenkova@mirantis.com>
2024-02-13 22:21:07 -06:00
hailu 7b2766b9d2 fix: ovn-metadata-agent '/run/netns' mountPropagation overrides by parent directory.
mountPropagation:
`None`(default) - This volume mount will not receive any subsequent mounts that are mounted to this volume or any of its subdirectories by the host.

Change-Id: I51500c406a3cae879d01dfff92ca91f30bbcb29f
2024-01-03 08:07:58 -06:00
okozachenko 2ca488f8c1 neutron: fix auth_url for designate integration
Change-Id: Iffe385c710790892057a78538dcf8de2d32cf4c8
2023-12-06 23:45:27 +11:00
ricolin 6ae4b98eec Disable DVR for OVN floating ip
DVR with OVN floating ip is currently unstable and caused us a lot
of network connectivity issues.

This propose disable it as the default value (False) for
`enable_distributed_floating_ip`.

Change-Id: Ibcf49c331482336e1cbae76dfc2bde86962e350e
2023-11-06 15:37:00 -06:00
ricolin dbceca760a fix(ovn): enable dependency to handle slow envs
With these missing flags, the Helm deploy would finish
but the services would not be functional, causing the
jobs to fail.

Change-Id: If0f6447945552fe6aedace45562e27efcab9a534
2023-11-06 15:36:01 -06: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
ricolin 45b44f74e5 Fix: Allow multiple ovs opetions in ovs-vsctl
story: 2010934

Change-Id: I15ac563a8bf0fd7a01a5f29317b23bdabd615ab2
2023-11-01 00:12:21 +08:00
ricolin 5a4ab112c8 fix: ovs support `member`
OVS 2.15 changed terminology slave to member.
This change reflect that change.

Change-Id: If100748f9dc7083406b8004d0066673b54159b2c
2023-11-01 00:12:21 +08:00
Vladimir Kozhukalov 82a6aa8ce9 Add 2023.2 (Bobcat) jobs
Change-Id: Iea2a16db8acaa94259aeb3e21097bb771b70c38e
2023-10-13 12:40:12 -05:00
Ritchie, Frank (fr801x) 1f5da00e99 Fix start function template
The template contains extra backslashes which can cause the start function
to contain extra backslashes, ie:

function start () {
  exec neutron-server \
        --config-file /etc/neutron/neutron.conf \ \
        --config-file /etc/neutron/taas_plugin.ini \ \
        --config-file /etc/neutron/plugins/ml2/sriov_agent.ini \
        --config-file /etc/neutron/plugins/ml2/ml2_conf.ini
}

With this change the function templates correctly.

Change-Id: I9f8ceb203a0039a83ee49c76d6891f7380a6cc08
2023-09-22 16:49:37 -04:00
Karl Kloppenborg fb88dd9b05 feat: BGP-Dragent for Neutron
Change-Id: Ibf4ce793f0e8d4d03b9e2bd5cd1163b52fcad4f1
2023-09-18 17:10:05 +00:00
okozachenko 6b55070317 Run native netns cleanup in neutron
drive-by changes
- Use the same node selector for ovn metadata agent as ovs
  because both should be run on the same nodes
- fix ovn_metadata_agent endpoint config

Change-Id: I81402d6f877a469a6f4beeb5550bbb8f9e75cb43
2023-09-07 22:41:41 +03:00
Vladimir Kozhukalov 5aadee0dc8 Add Ubuntu Jammy overrides
Change-Id: Icabf43efee2e64c856ae14a69881d96b380d7751
2023-09-07 00:12:04 +03:00
Vladimir Kozhukalov 9b46e06062 Fix getting IP when there are multiple IPs assigned
Story: 2003851
Task: 26644
Change-Id: I425dac241cbf454d91c644e7d2ef65625f70e01c
2023-08-31 01:28:23 +03:00
Mohammed Naser 56c4341d8b chore: refactor ovn support
This makes the OVN support more robust, refactors certain shared
components with the normal metadata agent, fixes proper init
container handling and much more(tm).

Depends-On: https://review.opendev.org/c/openstack/openstack-helm-infra/+/889187
Change-Id: I09512c89f44a78796353a12c61f075a181fa8cd5
2023-08-15 22:31:00 +03:00
Ritchie, Frank (fr801x) c394080738 Add exec probe timeouts
As of kubernetes 1.20 exec liveness and readiness probes default to 1
second. See the note here:

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

This PS adds exec probe timeouts where necessary.

Change-Id: If1de652f0b2bef8dac2e9b306e645930320c67eb
2023-08-11 12:58:56 -04:00
Sadegh Hayeri 91c8a5baf2 Use service tokens
Change-Id: If81d59cb848ae7e07eb7bcb8d594b5005a7d5528
2023-07-27 07:01:00 +00:00
ricolin eed71a7920 Add asap2 support for neutron
Change-Id: I3822e0073e3a3b77ed795498084619ea02f34a84
2023-07-14 13:28:04 +08: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
moontaek-rho 83652f2e1a Remove duplicated argument when running a liveness check
This change removes duplicated argument from neutron-ovs-agent-liveness.sh in neutron when running health-probe.py

story: 2010803
task: 48286
Change-Id: Ia362fc27c2fc250e4747941400bfa82eead5e99c
2023-06-28 14:54:49 +09:00
moontaek-rho faf0998be7 title: Update oslo_messaging_RPCClient and get_rpc_transport in neutron
oslo_messaging.RPCClient and get_transport is deprecated in antelop version (2023.1).This change moves the health prove to use get_rpc_client and get_rpc_transport instead.

story: 2010792
task: 48229
Change-Id: I870619626e1bfe6f40f293c01835dac6157947d7
2023-06-14 19:29:43 +09: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
okozachenko e1aaa1b550 Configure keystone auth credentials for placement in neutron
Change-Id: Iba03fc7142860c40c790bdf12bc24818e6921f65
2023-05-25 11:41:06 +03:00
Alexey Odinokov 4832872397 Include readiness check into liveness probe
It appears that readiness probe may not pass
but liveness probe passes in some rare cases and
it would be nice to restart the pod if readiness
probe doesn't pass for a long time.

Change-Id: I12049e4e84e2bc7d5ad90334ecdf91e25c61e575
2023-05-22 16:14:01 +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
dbcocle-ts 63529d7dc0 Sync neutron db to ovn nb db when neutron-server start
Neutron server default only log warning when ovn north-bound's db
mismatched with neutron's db. This patch enable auto sync neutron
db to ovn nb db when neutron-server start.

Reference code:
https://opendev.org/openstack/neutron/src/branch/master/neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py#L98

Change-Id: I005425ce533f48b2c25b28b47b22e94d054e68d2
2023-04-23 02:35:23 +00:00
dbcocle-ts 427f14909a Fix the issue that ovn metadata not work in muti-node enviroment
Neutron-ovn-medatadata-agent should run on compute nodes.

Closes-Bug: #2016849
Change-Id: Ia8d291bff59459214032a29dbb4ad6098766fc6c
2023-04-19 01:47:40 +00:00
liyingjun 84a6df2e5d fix(neutron): Don't check tcp socket state for ovn metadata agent
When using ovn as neutron plugin, the health probe failed with "RabbitMQ
sockets not Established" error, because it still check TCP connection to
Rabbitmq while OVN metadata agent doesn't use Rabbitmq. This patch adds
a condition check to avoid tcp socket state check for ovn metadata agent.

Story: #2010686
Change-Id: Ic35c1b4bb3c4d1cff7b633e6f69d5269cc23eeef
2023-04-04 07:37:07 +00: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
okozachenko e03c021e70 Fix ovs dependency labels
Depends-On: https://review.opendev.org/c/openstack/openstack-helm-infra/+/866478
Change-Id: I94ba8c5143d6d243c0ba31af62639852582bd1c7
2022-12-14 01:51:32 +11:00
ricolin b72f3d0f3c Avoid unrequired policy setup
OpenStack services already moved to use policy in code.
No need to have policy file at this point, at least no need to put
default policy rule to policy.yaml file anymore.
To put in duplicate rules, will cause unnecessay logs and process.
Also not healthy for policy in code maintain as the `default` rules in
openstack-helm might override actual default rules in code which we
might not even mean to change it at all.

Change-Id: I29ea57aa80444ed64673818e597c9ca346ba7b2f
2022-11-23 22:43:10 +08: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
josebb 52bdfae2bf Distinguish between port number of internal endpoint and binding
port number in neutron

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: I38dca50a8462faa4e9a7eeed56839b1b996eae06
2022-09-02 18:27:48 +03: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 753e43072d Support TLS endpoints in neutron
This allows neutron to consume TLS openstack endpoints.
Jobs consume openstack endpoints, typically identity endpoints.
And neutron itself interact with other openstack services via
endpoints.

Change-Id: I204b8a1a5a1fb253ea4207f5f5d76d47fac41bef
2022-08-12 21:28:56 +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
Robel Herarso 0933141334 Add neutron_netns_cleanup_cron release image override
This will add a value override for neutron_netns_cleanup_cron release image so that we don't use stein release images by default in the respective Openstack release jobs.

Change-Id: Ie856090ac3ed2f8c60afeacc2ed729c36b7d3372
2022-07-19 15:02:27 -07:00
Samuel Liu b1182ebfd8 Fix /run/xtables.lock may be a directory
By default, hostPath does not specify type. Instead, it creates a directory. If the Neutron container starts earlier than CNI(Calico), Calico may fail.

Change-Id: I56498a91461214bf591c7dfe6f9445ffe2e6d7d0
2022-07-05 17:54:19 -04:00
Alexey Terekhin 7b05f28e82 Fix for neutron-netns-cleanup-cron.py script.
Change-Id: I40a9b42204db4455f656e2711dda8ca136b201cb
2022-06-29 15:36:51 +00: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