Activity log for bug #1492714

Date Who What changed Old value New value Message
2015-09-06 10:02:35 Li Ma bug added bug
2015-09-06 10:04:42 Li Ma description [Problem] Currently, Linux network configuration in Neutron heavily relies on shell commands, like ip, brctl, ipset, iptables, etc. Shell commands makes Neutron agents inefficient and really hard to operate in high load environment. In our production deployment scaling from 50 - 500 physical machines per region, 50+ virtual instances per machine, the Neutron agents run extremely slowly and sometimes unresponsive. There is a blueprint that switch openflow operations from shell to ryu-based python library, but it is not sufficient. [Solution-1] I'd like to introduce a pure Python netlink library: pyroute2. It supports network configuration including ip-link, ip-route, ip-netns, tc, ipset and iptables in the roadmap, and is also compatible with python3. It only requires standard library which is also awesome, because you don't need to rely on other unstable third-party libraries that makes dependency hard to maintain. Moreover, it supports transactional local DB operations for network configuration called IPDB. Doc Link: http://docs.pyroute2.org/general.html Pypi Link: https://pypi.python.org/pypi/pyroute2 I should first issue a rfe for discussion. Forgot it. :-) Blueprint Link: https://blueprints.launchpad.net/neutron/+spec/pure-python-linuxnet-conf [Solution-2] Currently pyroute2 still doesn't support whole functionality of ipset and iptables, but they are definitely on the roadmap. I'm not sure its progress. I've forked this project and will try to involve in if possible to make sure it evolves as expected. What I suggest is that if possible, should we open a new project, pyosnetconf or networking-linuxnet-conf, whatever, that implements OpenStack's own python library for Linux network configuration. It may be much more aggressive, but still meaningful to neutron. I'm OK with the two solutions mentioned above. I'd like to get feedback as much as possible to move forward. Anyway, I strongly suggest to make it work. [Problem] Currently, Linux network configuration in Neutron heavily relies on shell commands, like ip, brctl, ipset, iptables, etc. Shell commands makes Neutron agents inefficient and really hard to operate in high load environment. In our production deployment scaling from 50 - 500 physical machines per region, 50+ virtual instances per machine, the Neutron agents run extremely slowly and sometimes unresponsive. There is a blueprint that switch openflow operations from shell to ryu-based pure python library, but it is not sufficient. [Solution-1] I'd like to introduce a pure Python netlink library: pyroute2. It supports network configuration including ip-link, ip-route, ip-netns, tc, ipset and iptables in the roadmap, and is also compatible with python3. It only requires standard library which is also awesome, because you don't need to rely on other unstable third-party libraries that makes dependency hard to maintain. Moreover, it supports transactional local DB operations for network configuration called IPDB. Doc Link: http://docs.pyroute2.org/general.html Pypi Link: https://pypi.python.org/pypi/pyroute2 I should first issue a rfe for discussion. Forgot it. :-) Blueprint Link: https://blueprints.launchpad.net/neutron/+spec/pure-python-linuxnet-conf [Solution-2] Currently pyroute2 still doesn't support whole functionality of ipset and iptables, but they are definitely on the roadmap. I'm not sure its progress. I've forked this project and will try to involve in if possible to make sure it evolves as expected. What I suggest is that if possible, should we open a new project, pyosnetconf or networking-linuxnet-conf, whatever, that implements OpenStack's own python library for Linux network configuration. It may be much more aggressive, but still meaningful to neutron. I'm OK with the two solutions mentioned above. I'd like to get feedback as much as possible to move forward. Anyway, I strongly suggest to make it work.
2015-09-06 10:28:53 Li Ma neutron: assignee Li Ma (nick-ma-z)
2015-09-08 03:50:55 Li Ma bug added subscriber Ramu Ramamurthy
2015-09-09 01:38:00 Dongcan Ye bug added subscriber Dongcan Ye
2015-09-18 03:36:37 Itsuro Oda bug added subscriber Itsuro Oda
2015-10-20 15:43:07 Kyle Mestery neutron: status New Triaged
2015-10-20 15:43:10 Kyle Mestery neutron: importance Undecided High
2015-11-11 21:24:37 Armando Migliaccio neutron: importance High Wishlist
2015-11-12 12:20:20 Artur Korzeniewski bug added subscriber Artur Korzeniewski
2015-11-17 16:53:14 Armando Migliaccio tags rfe rfe-approved
2015-11-18 12:00:15 Miguel Angel Ajo bug added subscriber Antoni Segura Puimedon
2015-11-20 01:55:53 Armando Migliaccio neutron: milestone mitaka-1
2015-12-03 19:21:21 Armando Migliaccio neutron: milestone mitaka-1 mitaka-2
2016-01-20 18:29:50 Armando Migliaccio neutron: milestone mitaka-2 mitaka-3
2016-02-09 02:37:30 Armando Migliaccio neutron: milestone mitaka-3
2016-02-09 02:38:23 Armando Migliaccio neutron: assignee Li Ma (nick-ma-z)
2016-02-09 02:38:25 Armando Migliaccio neutron: status Triaged Incomplete
2016-04-19 04:17:39 Launchpad Janitor neutron: status Incomplete Expired
2016-05-04 23:38:24 Armando Migliaccio neutron: status Expired Confirmed
2016-05-04 23:38:48 Armando Migliaccio neutron: assignee Angus Lees (gus)
2016-05-04 23:38:51 Armando Migliaccio neutron: milestone newton-1
2016-06-01 05:31:36 OpenStack Infra neutron: status Confirmed In Progress
2016-06-03 19:33:42 Armando Migliaccio neutron: milestone newton-1 newton-2
2016-06-23 13:21:51 OpenStack Infra neutron: assignee Angus Lees (gus) Oleg Bondarev (obondarev)
2016-06-23 13:22:18 Oleg Bondarev neutron: assignee Oleg Bondarev (obondarev) Angus Lees (gus)
2016-06-23 16:44:32 OpenStack Infra neutron: assignee Angus Lees (gus) Oleg Bondarev (obondarev)
2016-07-15 23:33:23 Armando Migliaccio neutron: milestone newton-2 newton-3
2016-08-09 11:19:18 OpenStack Infra neutron: assignee Oleg Bondarev (obondarev) Kevin Benton (kevinbenton)
2016-08-11 03:50:11 OpenStack Infra neutron: assignee Kevin Benton (kevinbenton) Angus Lees (gus)
2016-09-01 20:11:25 Armando Migliaccio neutron: milestone newton-3 newton-rc1
2016-09-09 01:50:12 Armando Migliaccio neutron: milestone newton-rc1 ocata-1
2016-11-08 04:36:03 OpenStack Infra neutron: assignee Angus Lees (gus) Omer Anson (omer-anson)
2016-11-16 22:42:45 Armando Migliaccio neutron: milestone ocata-1 ocata-2
2017-01-06 16:03:55 Armando Migliaccio neutron: milestone ocata-2 ocata-3
2017-01-26 23:40:49 Armando Migliaccio neutron: milestone ocata-3 ocata-rc1
2017-01-26 23:43:09 Armando Migliaccio neutron: milestone ocata-rc1 pike-1
2017-03-17 02:42:56 Nguyen Phuong An bug added subscriber Nguyen Phuong An
2017-03-21 08:29:19 Kevin Benton neutron: status In Progress New
2017-03-21 08:29:19 Kevin Benton neutron: assignee Omer Anson (omer-anson)
2017-03-21 08:29:26 Kevin Benton tags rfe-approved rfe-approved timeout-abandon
2017-05-18 01:19:48 Armando Migliaccio neutron: milestone pike-1 pike-2
2018-02-05 14:58:24 Slawek Kaplonski neutron: assignee Slawek Kaplonski (slaweq)
2018-03-15 18:12:19 Ihar Hrachyshka tags rfe-approved timeout-abandon rfe-approved
2018-03-15 18:12:43 Ihar Hrachyshka neutron: status New In Progress
2018-08-09 14:45:09 Slawek Kaplonski neutron: milestone pike-2
2018-11-12 22:10:43 Itsuro Oda removed subscriber Itsuro Oda
2020-04-23 10:32:24 OpenStack Infra tags rfe-approved in-stable-queens rfe-approved
2022-11-08 10:52:30 Lajos Katona neutron: status In Progress Fix Released