New Question
0

neutron-ovs-cleanup.exe

asked 2019-08-21 09:31:01 +0300

phangsls gravatar image

Hi, We are getting a lot of warning on the neutron-ovs-agent.log on Found Failed openvswitch port: xxxxxxxxx

on ovs-vsctl show, error: "could not add network device xxxxxx to ofproto (Invalid argument)"

I want to clean up the failed port using neutron-ovs-cleanup.exe but getting the following error

C:\Program Files\Cloudbase Solutions\OpenStack\Nova\Python27\Scripts>neutron-ovs-cleanup.exe Traceback (most recent call last): File "C:\Program Files\Cloudbase Solutions\OpenStack\Nova\Python27\Scripts\neutron-ovs-cleanup-script.py", line 9, in <module> loadentrypoint('neutron==8.4.1.dev19', 'consolescripts', 'neutron-ovs-cleanup')() File "C:\Program Files\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\pkgresources_init.py", line 558, in loadentrypoint return getdistribution(dist).loadentrypoint(group, name) File "C:\Program Files\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\pkgresources_init.py", line 2682, in loadentrypoint return ep.load() File "C:\Program Files\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\pkgresources_init.py", line 2355, in load return self.resolve() File "C:\Program Files\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\pkgresources_init.py", line 2361, in resolve module = import(self.modulename, fromlist=['name'], level=0) File "C:\Program Files\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\neutron\cmd\ovscleanup.py", line 23, in <module> from neutron.agent.linux import interface File "C:\Program Files\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\neutron\agent\linux\interface.py", line 26, in <module> from neutron.agent.linux import utils File "C:\Program Files\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\neutron\agent\linux\utils.py", line 16, in <module> import fcntl ImportError: No module named fcntl

Look like some missing module. Is there another way to clean up ? We are using Mitaka, HyperVNovaComputeMitaka1314.msi

Thanks

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted
0

answered 2019-09-03 09:17:20 +0300

lpetrut gravatar image

updated 2019-09-03 09:18:44 +0300

Hi,

This was fixed in Queens, Mitaka is no longer supported. We were considering configuring neutron-ovs-cleanup as a Nova and Neutron agent dependency, running once per boot but we found some Windows ovs limitations. When neutron-ovs-cleanup runs, it will remove all the vm ovs ports, which will then be recreated when Nova starts. The issue is that some recreated ovs ports will become invalid. The next Windows OVS release will probably provide a fix.

For now, you could either:

  • remove all ports (e.g. by recreating the bridge) and restart Nova so that it will add them back. The downside is that some ports may become invalid due to the above mentioned bug and if you have running instances, those will become temporarily unavailable, which is the reason why neutron-ovs-cleanup is usually run once at startup. It's probably easier if there aren't any running instances (i.e. those have already been moved to a different host).

  • write a script that selectively removes stale ports. Make sure you don't remove ports that are currently in-use. You can get a list of vm hyper-v switch ports by using get-vmswitchport.

Regards,

Lucian

edit flag offensive delete link more

Comments

Hi Lucian, Thanks for the update. I am currently using ovs-vsctl command to remove those invalid port. Any side-effect using this command?

phangsls gravatar imagephangsls ( 2019-09-09 09:06:28 +0300 )edit

No, that's the right way to do it. neutron-ovs-cleanup would do the same thing.

lpetrut gravatar imagelpetrut ( 2019-09-09 11:33:26 +0300 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2019-08-21 09:31:01 +0300

Seen: 1,291 times

Last updated: Sep 03 '19