Activity log for bug #1630832

Date Who What changed Old value New value Message
2016-10-06 02:12:57 Ha Van Tu bug added bug
2016-10-06 02:19:41 Ha Van Tu summary Using Netlink to improve performance of conntrack-tools [RFE] FWaaS: Using Netlink instead of conntrack-tools to improve performance
2016-10-06 02:22:46 Cao Xuan Hoang bug added subscriber Cao Xuan Hoang
2016-10-06 02:29:34 Ha Van Tu description Updating firewall with a large number of firewall rules needs improving performance. When the Firewall is updated, the conntrack entries will be deleted by conntrack-tools ("conntrack -D" commands) with each rule associated with this firewall. The problem is inside a cloud system with a large number of firewall rules applied. Updating so much rules will lead to call a large number of subprocesses to implement the "conntrack -D" commands. That will consume the system resource and it will take a long time to finish updating firewall[1]. By using Netlink, we can call the subprocess only one time [6], so as to reduce the system resource and time to update firewall. There should be some critical points need to be discussed: - The standard Netlink interface for Python. There are 2 sources: [3] and [4] on github, but I don't know these resources are acceptable or not. - The "conntrack -D" needs *root privilege*. My solution is make the Python module which performs deleting conntrack entries become Linux command (calling "python pythonmodule.py") and wrap by rootwrap.[5] [1] With the system with Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory, it take 429s to finish removing 10.000 rules. The client is in [2] [2] http://paste.openstack.org/show/584602/ [3] https://github.com/ei-grad/python-conntrack [4] https://github.com/regit/pynetfilter_conntrack [5] https://ask.openstack.org/en/question/60893/rootwrap-python-write-to-root-only-owned-file/ [6] http://paste.openstack.org/show/584603/ Updating firewall with a large number of firewall rules needs improving performance. When the Firewall is updated, the conntrack entries will be deleted by conntrack-tools ("conntrack -D" commands) with each rule associated with this firewall. The problem is inside a cloud system with a large number of firewall rules applied. Updating so much rules will call a large number of subprocesses to implement the "conntrack -D" commands. That will consume the system resource and it will take a long time to finish updating firewall[1]. The client example to delete rules is in [2]. By using Netlink, we can call the subprocess only one time [3], so as to reduce the system resource and time to update firewall[4]. There should be some points need to be discussed: - The standard Netlink interface for Python. There are 2 sources: [5] and [6] on github, but I don't know these resources are acceptable or not. - The "conntrack -D" needs *root privilege*. My solution is making the Python module which performs deleting conntrack entries become Linux command (calling "python pythonmodule.py") and then wrapping it by rootwrap.[7] [1] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "conntrack-tools", it take average 429s to finish removing 10.000 rules. [2] http://paste.openstack.org/show/584602/ [3] http://paste.openstack.org/show/584603/ [4] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "Netlink", it take average 0.8s to finish removing 10.000 rules. [5] https://github.com/ei-grad/python-conntrack [6] https://github.com/regit/pynetfilter_conntrack [7] https://ask.openstack.org/en/question/60893/rootwrap-python-write-to-root-only-owned-file/
2016-10-06 02:51:44 Brian Haley bug added subscriber Brian Haley
2016-10-06 02:55:14 Ha Van Tu description Updating firewall with a large number of firewall rules needs improving performance. When the Firewall is updated, the conntrack entries will be deleted by conntrack-tools ("conntrack -D" commands) with each rule associated with this firewall. The problem is inside a cloud system with a large number of firewall rules applied. Updating so much rules will call a large number of subprocesses to implement the "conntrack -D" commands. That will consume the system resource and it will take a long time to finish updating firewall[1]. The client example to delete rules is in [2]. By using Netlink, we can call the subprocess only one time [3], so as to reduce the system resource and time to update firewall[4]. There should be some points need to be discussed: - The standard Netlink interface for Python. There are 2 sources: [5] and [6] on github, but I don't know these resources are acceptable or not. - The "conntrack -D" needs *root privilege*. My solution is making the Python module which performs deleting conntrack entries become Linux command (calling "python pythonmodule.py") and then wrapping it by rootwrap.[7] [1] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "conntrack-tools", it take average 429s to finish removing 10.000 rules. [2] http://paste.openstack.org/show/584602/ [3] http://paste.openstack.org/show/584603/ [4] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "Netlink", it take average 0.8s to finish removing 10.000 rules. [5] https://github.com/ei-grad/python-conntrack [6] https://github.com/regit/pynetfilter_conntrack [7] https://ask.openstack.org/en/question/60893/rootwrap-python-write-to-root-only-owned-file/ Updating firewall with a large number of firewall rules needs improving performance. When the Firewall is updated, the conntrack entries will be deleted by conntrack-tools ("conntrack -D" commands) with each rule associated with this firewall. The problem is inside a cloud system with a large number of firewall rules applied. Updating so much rules will call a large number of subprocesses to implement the "conntrack -D" commands. That will consume the system resource and it will take a long time to finish updating firewall[1]. The client example to delete rules is in [2]. By using Netlink, we can call the subprocess only one time [3], so as to reduce the system resource and time to update firewall[4]. There should be some points need to be discussed: - The standard Netlink interface for Python. There are 2 sources: [5] and [6] on github, but I don't know these resources are acceptable or not. If there is not standard one, we may need to write conntrack library for OpenStack from scratch. - The "conntrack -D" needs *root privilege*. My solution is making the Python module which performs deleting conntrack entries become Linux command (calling "python pythonmodule.py") and then wrapping it by rootwrap.[7] [1] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "conntrack-tools", it take average 429s to finish removing 10.000 rules. [2] http://paste.openstack.org/show/584602/ [3] http://paste.openstack.org/show/584603/ [4] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "Netlink", it take average 0.8s to finish removing 10.000 rules. [5] https://github.com/ei-grad/python-conntrack [6] https://github.com/regit/pynetfilter_conntrack [7] https://ask.openstack.org/en/question/60893/rootwrap-python-write-to-root-only-owned-file/
2016-10-06 03:33:39 Armando Migliaccio neutron: status New Confirmed
2016-10-06 03:33:43 Armando Migliaccio neutron: importance Undecided Wishlist
2016-10-19 04:21:50 Sarath Chandra Mekala bug added subscriber Sarath Chandra Mekala
2016-10-21 10:48:00 Ha Van Tu description Updating firewall with a large number of firewall rules needs improving performance. When the Firewall is updated, the conntrack entries will be deleted by conntrack-tools ("conntrack -D" commands) with each rule associated with this firewall. The problem is inside a cloud system with a large number of firewall rules applied. Updating so much rules will call a large number of subprocesses to implement the "conntrack -D" commands. That will consume the system resource and it will take a long time to finish updating firewall[1]. The client example to delete rules is in [2]. By using Netlink, we can call the subprocess only one time [3], so as to reduce the system resource and time to update firewall[4]. There should be some points need to be discussed: - The standard Netlink interface for Python. There are 2 sources: [5] and [6] on github, but I don't know these resources are acceptable or not. If there is not standard one, we may need to write conntrack library for OpenStack from scratch. - The "conntrack -D" needs *root privilege*. My solution is making the Python module which performs deleting conntrack entries become Linux command (calling "python pythonmodule.py") and then wrapping it by rootwrap.[7] [1] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "conntrack-tools", it take average 429s to finish removing 10.000 rules. [2] http://paste.openstack.org/show/584602/ [3] http://paste.openstack.org/show/584603/ [4] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "Netlink", it take average 0.8s to finish removing 10.000 rules. [5] https://github.com/ei-grad/python-conntrack [6] https://github.com/regit/pynetfilter_conntrack [7] https://ask.openstack.org/en/question/60893/rootwrap-python-write-to-root-only-owned-file/ Updating firewall with a large number of firewall rules needs improving performance. When the Firewall is updated, the conntrack entries will be deleted by conntrack-tools ("conntrack -D" commands) with each rule associated with this firewall. The problem is inside a cloud system with a large number of firewall rules applied. Updating so much rules will call a large number of subprocesses to implement the "conntrack -D" commands. That will consume the system resource and it will take a long time to finish updating firewall[1]. The client example to delete rules is in [2]. By using Netlink, we can call the subprocess only one time [3], so as to reduce the system resource and time to update firewall[4]. There should be some points need to be discussed: - The standard Netlink interface for Python. There are 2 sources: [5] and [6] on github, but I don't know these resources are acceptable or not. If there is not standard one, we may need to write conntrack library for OpenStack from scratch. - The "conntrack -D" needs *root privilege*. My solution is making the Python module which performs deleting conntrack entries become Linux command (calling "python pythonmodule.py") and then wrapping it by rootwrap.[7] [1] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "conntrack-tools", it take average 429s to finish removing 10.000 rules. [2] http://paste.openstack.org/show/584602/ [3] http://paste.openstack.org/show/584603/ [4] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "Netlink", it take average 33s to finish removing 10.000 rules. [5] https://github.com/ei-grad/python-conntrack [6] https://github.com/regit/pynetfilter_conntrack [7] https://ask.openstack.org/en/question/60893/rootwrap-python-write-to-root-only-owned-file/
2016-11-03 02:26:12 Ha Van Tu description Updating firewall with a large number of firewall rules needs improving performance. When the Firewall is updated, the conntrack entries will be deleted by conntrack-tools ("conntrack -D" commands) with each rule associated with this firewall. The problem is inside a cloud system with a large number of firewall rules applied. Updating so much rules will call a large number of subprocesses to implement the "conntrack -D" commands. That will consume the system resource and it will take a long time to finish updating firewall[1]. The client example to delete rules is in [2]. By using Netlink, we can call the subprocess only one time [3], so as to reduce the system resource and time to update firewall[4]. There should be some points need to be discussed: - The standard Netlink interface for Python. There are 2 sources: [5] and [6] on github, but I don't know these resources are acceptable or not. If there is not standard one, we may need to write conntrack library for OpenStack from scratch. - The "conntrack -D" needs *root privilege*. My solution is making the Python module which performs deleting conntrack entries become Linux command (calling "python pythonmodule.py") and then wrapping it by rootwrap.[7] [1] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "conntrack-tools", it take average 429s to finish removing 10.000 rules. [2] http://paste.openstack.org/show/584602/ [3] http://paste.openstack.org/show/584603/ [4] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "Netlink", it take average 33s to finish removing 10.000 rules. [5] https://github.com/ei-grad/python-conntrack [6] https://github.com/regit/pynetfilter_conntrack [7] https://ask.openstack.org/en/question/60893/rootwrap-python-write-to-root-only-owned-file/ Updating firewall with a large number of firewall rules needs improving performance. When the Firewall is updated, the conntrack entries will be deleted by conntrack-tools ("conntrack -D" commands) with each rule associated with this firewall. The problem is inside a cloud system with a large number of firewall rules applied. Updating so much rules will call a large number of subprocesses to implement the "conntrack -D" commands. That will consume the system resource and it will take a long time to finish updating firewall[1]. The client example to delete rules is in [2]. By using Netlink, we can call the subprocess only one time [3], so as to reduce the system resource and time to update firewall[4]. There should be some points need to be discussed: - The standard Netlink interface for Python. There are 2 sources: [5] and [6] on github, but I don't know these resources are acceptable or not. If there is not standard one, we may need to write conntrack library for OpenStack from scratch. - The "conntrack -D" needs *root privilege*. My solution is using oslo_privsep for instead.[7] [1] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "conntrack-tools", it take average 429s to finish removing 10.000 rules. [2] http://paste.openstack.org/show/584602/ [3] http://paste.openstack.org/show/584603/ [4] For example: With the developer system (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz and 16GiB memory) and using "Netlink", it take average 33s to finish removing 10.000 rules. [5] https://github.com/ei-grad/python-conntrack [6] https://github.com/regit/pynetfilter_conntrack [7] https://review.openstack.org/#/c/389654/
2017-03-15 20:53:06 Armando Migliaccio neutron: status Confirmed Triaged
2017-03-16 00:53:08 Ha Van Tu bug added subscriber Cuong Nguyen
2017-03-16 01:24:47 Ha Van Tu bug added subscriber Nguyen Phuong An
2017-03-16 22:27:39 Armando Migliaccio neutron: milestone pike-1
2017-03-16 22:27:47 Armando Migliaccio neutron: assignee Ha Van Tu (tuhv)
2017-03-16 22:27:51 Armando Migliaccio tags fwaas needs-attention rfe fwaas needs-attention rfe-approved
2017-03-16 22:31:20 Armando Migliaccio tags fwaas needs-attention rfe-approved fwaas loadimpact
2017-05-18 01:20:36 Armando Migliaccio neutron: milestone pike-1 pike-2
2017-05-30 09:42:47 OpenStack Infra neutron: status Triaged In Progress
2017-05-30 09:42:47 OpenStack Infra neutron: assignee Ha Van Tu (tuhv) Cuong Nguyen (cuongnv)
2017-07-14 08:21:04 OpenStack Infra neutron: assignee Cuong Nguyen (cuongnv) songminglong (songminglong)
2017-07-14 08:32:05 songminglong neutron: assignee songminglong (songminglong)
2017-07-17 02:52:28 OpenStack Infra neutron: assignee songminglong (songminglong)
2017-07-17 03:14:46 songminglong neutron: assignee songminglong (songminglong)
2017-07-17 09:22:51 OpenStack Infra neutron: assignee songminglong (songminglong)
2017-07-17 09:23:01 songminglong neutron: assignee songminglong (songminglong)
2017-07-25 07:01:22 OpenStack Infra neutron: assignee Cuong Nguyen (cuongnv)
2017-08-01 21:47:17 Kevin Benton neutron: importance Wishlist Medium
2017-11-28 04:47:49 OpenStack Infra neutron: assignee Cuong Nguyen (cuongnv) Cao Xuan Hoang (hoangcx)
2018-02-18 02:24:37 OpenStack Infra neutron: assignee Cao Xuan Hoang (hoangcx) Brian Haley (brian-haley)
2018-05-29 08:54:44 OpenStack Infra neutron: assignee Brian Haley (brian-haley) Slawek Kaplonski (slaweq)
2018-08-31 07:38:00 Slawek Kaplonski neutron: status In Progress New
2018-08-31 07:38:00 Slawek Kaplonski neutron: assignee Slawek Kaplonski (slaweq)
2018-08-31 07:38:06 Slawek Kaplonski tags fwaas loadimpact fwaas loadimpact timeout-abandon
2022-11-08 01:11:26 Brian Haley neutron: status New Won't Fix