diff --git a/libvirt/templates/daemonset-libvirt.yaml b/libvirt/templates/daemonset-libvirt.yaml index 04b5204651..5c48b08bdf 100644 --- a/libvirt/templates/daemonset-libvirt.yaml +++ b/libvirt/templates/daemonset-libvirt.yaml @@ -16,12 +16,14 @@ limitations under the License. {{- if .Values.manifests.daemonset_libvirt }} {{- $envAll := . }} +{{- $dependencyOpts := dict "envAll" $envAll "dependencyMixinParam" $envAll.Values.network.backend "dependencyKey" "libvirt" -}} +{{- $_ := include "helm-toolkit.utils.dependency_resolver" $dependencyOpts | toString | fromYaml }} {{- $mounts_libvirt := .Values.pod.mounts.libvirt.libvirt }} {{- $mounts_libvirt_init := .Values.pod.mounts.libvirt.init_container }} {{- $serviceAccountName := "libvirt" }} -{{ tuple $envAll "libvirt" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} +{{ tuple $envAll "pod_dependency" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} --- apiVersion: apps/v1 kind: DaemonSet @@ -49,7 +51,7 @@ spec: hostPID: true dnsPolicy: ClusterFirstWithHostNet initContainers: -{{ tuple $envAll "libvirt" $mounts_libvirt_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} +{{ tuple $envAll "pod_dependency" $mounts_libvirt_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} {{- if .Values.conf.ceph.enabled }} {{- if empty .Values.conf.ceph.cinder.keyring }} - name: ceph-admin-keyring-placement diff --git a/libvirt/values.yaml b/libvirt/values.yaml index 9212028109..1ae06fe93a 100644 --- a/libvirt/values.yaml +++ b/libvirt/values.yaml @@ -37,6 +37,12 @@ images: - dep_check - image_repo_sync +network: + # provide what type of network wiring will be used + # possible options: openvswitch, linuxbridge, sriov + backend: + - openvswitch + endpoints: cluster_domain_suffix: cluster.local local_image_registry: @@ -118,8 +124,31 @@ dependencies: services: - endpoint: node service: local_image_registry + targeted: + openvswitch: + libvirt: + pod: + - requireSameNode: true + labels: + application: neutron + component: neutron-ovs-agent + linuxbridge: + libvirt: + pod: + - requireSameNode: true + labels: + application: neutron + component: neutron-lb-agent + sriov: + libvirt: + pod: + - requireSameNode: true + labels: + application: neutron + component: neutron-sriov-agent static: - libvirt: null + libvirt: + services: null image_repo_sync: services: - endpoint: internal diff --git a/tools/deployment/armada/multinode/armada-osh.yaml b/tools/deployment/armada/multinode/armada-osh.yaml index 088a581f11..e44c9f807b 100644 --- a/tools/deployment/armada/multinode/armada-osh.yaml +++ b/tools/deployment/armada/multinode/armada-osh.yaml @@ -1465,17 +1465,6 @@ data: - memcached --- schema: armada/ChartGroup/v1 -metadata: - schema: metadata/Document/v1 - name: openstack-infra-services -data: - description: "OpenStack Infra Services" - sequenced: True - chart_group: - - libvirt - - openvswitch ---- -schema: armada/ChartGroup/v1 metadata: schema: metadata/Document/v1 name: openstack-keystone @@ -1523,9 +1512,11 @@ metadata: schema: metadata/Document/v1 name: openstack-compute-kit data: - description: "Deploy nova and neutron" + description: "Deploy nova and neutron, as well as supporting services" sequenced: False chart_group: + - libvirt + - openvswitch - nova-rabbitmq - nova - neutron-rabbitmq @@ -1574,7 +1565,6 @@ data: - openstack-ceph-config - deploy-mariadb - deploy-memcached - - openstack-infra-services - openstack-keystone - openstack-glance - openstack-radosgw diff --git a/tools/deployment/baremetal/005-setup-nodes.sh b/tools/deployment/baremetal/005-setup-nodes.sh index c3a2583c88..cb4602ee91 100755 --- a/tools/deployment/baremetal/005-setup-nodes.sh +++ b/tools/deployment/baremetal/005-setup-nodes.sh @@ -30,6 +30,7 @@ make all helm install ./libvirt \ --namespace=libvirt \ --name=libvirt \ + --set network.backend=null \ --set conf.ceph.enabled=false \ --set images.tags.libvirt=docker.io/openstackhelm/vbmc:centos diff --git a/tools/deployment/developer/ceph/150-libvirt.sh b/tools/deployment/developer/ceph/150-libvirt.sh index 5123839a30..bf93eed369 100755 --- a/tools/deployment/developer/ceph/150-libvirt.sh +++ b/tools/deployment/developer/ceph/150-libvirt.sh @@ -25,8 +25,8 @@ helm upgrade --install libvirt ./libvirt \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_LIBVIRT} -#NOTE: Wait for deploy -./tools/deployment/common/wait-for-pods.sh openstack +#NOTE(portdirect): We dont wait for libvirt pods to come up, as they depend +# on the neutron agents being up. #NOTE: Validate Deployment info helm status libvirt diff --git a/tools/deployment/developer/nfs/150-libvirt.sh b/tools/deployment/developer/nfs/150-libvirt.sh index afc66b5c13..201cd27904 100755 --- a/tools/deployment/developer/nfs/150-libvirt.sh +++ b/tools/deployment/developer/nfs/150-libvirt.sh @@ -26,8 +26,8 @@ helm upgrade --install libvirt ./libvirt \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_LIBVIRT} -#NOTE: Wait for deploy -./tools/deployment/common/wait-for-pods.sh openstack +#NOTE(portdirect): We dont wait for libvirt pods to come up, as they depend +# on the neutron agents being up. #NOTE: Validate Deployment info helm status libvirt diff --git a/tools/deployment/multinode/130-libvirt.sh b/tools/deployment/multinode/130-libvirt.sh index ea549bf369..ff1beab214 100755 --- a/tools/deployment/multinode/130-libvirt.sh +++ b/tools/deployment/multinode/130-libvirt.sh @@ -15,14 +15,14 @@ # under the License. set -xe -#NOTE: Deploy command +#NOTE: Deploy libvirt helm upgrade --install libvirt ./libvirt \ --namespace=openstack \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_LIBVIRT} -#NOTE: Wait for deploy -./tools/deployment/common/wait-for-pods.sh openstack +#NOTE(portdirect): We dont wait for libvirt pods to come up, as they depend +# on the neutron agents being up. #NOTE: Validate Deployment info helm status libvirt