monitor-external-ids can't complete all its tasks until XAPI is up. The
daemon is usually started before XAPI, so it can miss events. This
commit causes the daemon to block until XAPI is finished initializing.
# Bridge table and duplicates its value to the preferred "xs-network-uuids".
import getopt
# Bridge table and duplicates its value to the preferred "xs-network-uuids".
import getopt
import subprocess
import sys
import syslog
import subprocess
import sys
import syslog
idl = ovs.db.idl.Idl(remote, "Open_vSwitch", monitor_uuid_schema_cb)
ovs.daemon.daemonize()
idl = ovs.db.idl.Idl(remote, "Open_vSwitch", monitor_uuid_schema_cb)
ovs.daemon.daemonize()
+
+ # This daemon is usually started before XAPI, but to complete our
+ # tasks, we need it. Wait here until it's up.
+ while not os.path.exists("/var/run/xapi_init_complete.cookie"):
+ time.sleep(1)
bridges = {}
interfaces = {}
bridges = {}
interfaces = {}