Name: openvswitch-bin Namespace: openstack Labels: app.kubernetes.io/managed-by=Helm Annotations: meta.helm.sh/release-name: openvswitch meta.helm.sh/release-namespace: openstack Data ==== openvswitch-vswitchd-init-modules.sh: ---- #!/bin/bash set -ex chroot /mnt/host-rootfs modprobe openvswitch chroot /mnt/host-rootfs modprobe gre chroot /mnt/host-rootfs modprobe vxlan openvswitch-vswitchd.sh: ---- #!/bin/bash set -ex COMMAND="${@:-start}" OVS_SOCKET=/run/openvswitch/db.sock OVS_PID=/run/openvswitch/ovs-vswitchd.pid # Create vhostuser directory and grant nova user (default UID 42424) access # permissions. function start () { t=0 while [ ! -e "${OVS_SOCKET}" ] ; do echo "waiting for ovs socket $sock" sleep 1 t=$(($t+1)) if [ $t -ge 10 ] ; then echo "no ovs socket, giving up" exit 1 fi done ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait show exec ovsinit -- /usr/sbin/ovs-vswitchd unix:${OVS_SOCKET} \ -vconsole:emer \ -vconsole:err \ -vconsole:info \ --pidfile=${OVS_PID} \ --user="openvswitch:openvswitch" \ --mlockall } function stop () { echo skipped due to ovsinit } find_latest_ctl_file() { latest_file="" latest_file=$(ls -lt /run/openvswitch/*.ctl | awk 'NR==1 {if ($3 == "root") print $NF}') echo "$latest_file" } function poststart () { # This enables the usage of 'ovs-appctl' from neutron-ovs-agent pod. # Wait for potential new ctl file before continuing timeout=5 start_time=$(date +%s) while true; do latest_ctl_file=$(find_latest_ctl_file) if [ -n "$latest_ctl_file" ]; then break fi current_time=$(date +%s) if (( current_time - start_time >= timeout )); then break fi sleep 1 done until [ -f $OVS_PID ] do echo "Waiting for file $OVS_PID" sleep 1 done PID=$(cat $OVS_PID) OVS_CTL=/run/openvswitch/ovs-vswitchd.${PID}.ctl until [ -S $OVS_CTL ] do echo "Waiting for file $OVS_CTL" sleep 1 done chown 42424.42424 ${OVS_CTL} } $COMMAND openvswitch-db-server.sh: ---- #!/bin/bash set -ex COMMAND="${@:-start}" OVS_DB=/run/openvswitch/conf.db OVS_SCHEMA=/usr/share/openvswitch/vswitch.ovsschema OVS_PID=/run/openvswitch/ovsdb-server.pid OVS_SOCKET=/run/openvswitch/db.sock function start () { umask 000 exec ovsinit --ovs-db ${OVS_DB} --ovs-schema ${OVS_SCHEMA} -- /usr/sbin/ovsdb-server ${OVS_DB} \ -vconsole:emer \ -vconsole:err \ -vconsole:info \ --pidfile=${OVS_PID} \ --remote=punix:${OVS_SOCKET} \ --remote=db:Open_vSwitch,Open_vSwitch,manager_options \ --private-key=db:Open_vSwitch,SSL,private_key \ --certificate=db:Open_vSwitch,SSL,certificate \ --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert } function stop () { echo skipped due to ovsinit } $COMMAND BinaryData ==== Events: