A network is created and written in neutron DB. At the meantime, Etcd cannot get the corresponding key 'lswitch', which causes unable to create subnet for this network.
The log file says that Etcd was disconnected at the network creation.
AFAIK, if the operation on Etcd fails, the DB transaction should also be rollbacked at the neutron DB side to prevent from updating DB records.
The related code in dragonflow/neutron/plugin.py:
def create_network(self, context, network):
with context.session.begin(subtransactions=True):
result = super(DFPlugin, self).create_network(context, network) self._process_l3_create(context, result, network['network'])
Here is the problem:
A network is created and written in neutron DB. At the meantime, Etcd cannot get the corresponding key 'lswitch', which causes unable to create subnet for this network.
The log file says that Etcd was disconnected at the network creation.
AFAIK, if the operation on Etcd fails, the DB transaction should also be rollbacked at the neutron DB side to prevent from updating DB records.
The related code in dragonflow/ neutron/ plugin. py:
def create_ network( self, context, network): session. begin(subtransa ctions= True): network( context,
network)
self. _process_ l3_create( context, result, network['network'])
with context.
result = super(DFPlugin, self).create_
return self.create_ network_ nb_api( result)