Introduce a script to launch ovsdb-server process
The reason for introducing this script is to be able to launch ovsdb-server and initialize it (create external bridge and plug external interface) in one shot. It is applicable ONLY to Kubernetes environment and it is required for Kubernetes DaemonSet usage. The behavior in classical Kolla has not been changed. TrivialFix Change-Id: I54897cc2c0f2bcaaf0411822f3409bf96e92833d
This commit is contained in:
parent
3071d32a3f
commit
41ec75b567
@ -1,4 +1,4 @@
|
||||
{
|
||||
"command": "/usr/sbin/ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/run/openvswitch/db.sock --remote=ptcp:6640:{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }} --log-file=/var/log/kolla/openvswitch/ovsdb-server.log",
|
||||
"command": "start-ovsdb-server {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }} {% if keystone_replicas is defined %} {{ neutron_bridge_name }} {{ neutron_external_interface }} {% endif %}",
|
||||
"config_files": []
|
||||
}
|
||||
|
@ -3,7 +3,10 @@ MAINTAINER {{ maintainer }}
|
||||
|
||||
COPY ovs_ensure_configured.sh /usr/local/bin/kolla_ensure_openvswitch_configured
|
||||
COPY extend_start.sh /usr/local/bin/kolla_openvswitch_extend_start
|
||||
RUN chmod 755 /usr/local/bin/kolla_ensure_openvswitch_configured /usr/local/bin/kolla_openvswitch_extend_start
|
||||
COPY start_ovsdb_server.sh /usr/local/bin/start-ovsdb-server
|
||||
RUN chmod 755 /usr/local/bin/kolla_ensure_openvswitch_configured \
|
||||
/usr/local/bin/kolla_openvswitch_extend_start \
|
||||
/usr/local/bin/start-ovsdb-server
|
||||
|
||||
{% block openvswitch_db_server_footer %}{% endblock %}
|
||||
{% block footer %}{% endblock %}
|
||||
|
@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
# NOTE: (sbezverk) ovs_bridge and ovs_ext_intf variables get initialized only when
|
||||
# this script is executed for kubernetes deployment. With Ansible deployment, only
|
||||
# ovsdb-server gets launched and then the following workflow step will create
|
||||
# an external bridge and plug an external interface. With Kubernetes we want to
|
||||
# leverage its dynamic nature of automatic scaling up and down. It means all
|
||||
# activities related to creating initial bridge, plugging external interface
|
||||
# must be done by DaemonSet launched container.
|
||||
|
||||
ovsdb_ip=$1
|
||||
ovs_bridge=$2
|
||||
ovs_ext_intf=$3
|
||||
|
||||
# NOTE: (sbezverk) The reason for introducing this script is to be able
|
||||
# to launch ovsdb-server and to create the initial external bridge in one step.
|
||||
# It is required in order to be able to use DaemonSet.
|
||||
|
||||
if [ ! -e $ovs_bridge ] && [ ! -e $ovs_ext_intf ]; then
|
||||
# NOTE: (sbezverk) This part is executed only by kubernetes deployment.
|
||||
# Creating external bridge
|
||||
/usr/sbin/ovsdb-server /etc/openvswitch/conf.db --remote=punix:/var/run/openvswitch/db.sock --run="ovs-vsctl --no-wait --db=unix:/var/run/openvswitch/db.sock add-br $ovs_bridge"
|
||||
# Plug the external interface into the external bridge.
|
||||
/usr/sbin/ovsdb-server /etc/openvswitch/conf.db --remote=punix:/var/run/openvswitch/db.sock --run="ovs-vsctl --no-wait --db=unix:/var/run/openvswitch/db.sock add-port $ovs_bridge $ovs_ext_intf"
|
||||
# Run ovsdb server proces
|
||||
/usr/sbin/ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/var/run/openvswitch/db.sock --log-file=/var/log/kolla/openvswitch/ovsdb-server.log
|
||||
else
|
||||
# NOTE: (sbezverk) This part is executed only by kolla-ansible deployment.
|
||||
/usr/sbin/ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/run/openvswitch/db.sock --remote=ptcp:6640:$ovsdb_ip --log-file=/var/log/kolla/openvswitch/ovsdb-server.log
|
||||
fi
|
Loading…
Reference in New Issue
Block a user