)]}'
{"etc/quantum/plugins/ryu/ryu.ini":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":16,"context_line":"[OVS]"},{"line_number":17,"context_line":"integration_bridge \u003d br-int"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# openflow_controller \u003d \u003chost IP address of ofp controller\u003e:\u003cport: 6633\u003e"},{"line_number":20,"context_line":"# openflow_rest_api \u003d \u003chost IP address of ofp rest api service\u003e:\u003cport: 8080\u003e"},{"line_number":21,"context_line":"openflow_controller \u003d 127.0.0.1:6633"},{"line_number":22,"context_line":"openflow_rest_api \u003d 127.0.0.1:8080"}],"source_content_type":"text/x-properties","patch_set":3,"id":"AAAAM3%2F%2FOls%3D","side":"PARENT","line":19,"updated":"2013-02-01 06:36:43.000000000","message":"Did you mean to remove this?","commit_id":"03d264751a1a6103615a40270b068bdee5e9d600"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"1dcdef969957a97e06a01bcde25e2dd6e5c49c89","unresolved":false,"context_lines":[{"line_number":16,"context_line":"[OVS]"},{"line_number":17,"context_line":"integration_bridge \u003d br-int"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# openflow_controller \u003d \u003chost IP address of ofp controller\u003e:\u003cport: 6633\u003e"},{"line_number":20,"context_line":"# openflow_rest_api \u003d \u003chost IP address of ofp rest api service\u003e:\u003cport: 8080\u003e"},{"line_number":21,"context_line":"openflow_controller \u003d 127.0.0.1:6633"},{"line_number":22,"context_line":"openflow_rest_api \u003d 127.0.0.1:8080"}],"source_content_type":"text/x-properties","patch_set":3,"id":"AAAAM3%2F%2FOiM%3D","side":"PARENT","line":19,"in_reply_to":"AAAAM3%2F%2FOls%3D","updated":"2013-02-01 07:59:49.000000000","message":"Yes. It was not used anymore.","commit_id":"03d264751a1a6103615a40270b068bdee5e9d600"}],"quantum/db/migration/alembic_migrations/versions/49332180ca96_ryu_plugin_update.py":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"from alembic import op"},{"line_number":37,"context_line":"import sqlalchemy as sa"},{"line_number":38,"context_line":"from sqlalchemy.dialects import mysql"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"from quantum.db import migration"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOlY%3D","line":38,"updated":"2013-02-01 06:36:43.000000000","message":"All the other migration scripts do not use this import and instead use the types out of import sqlalchemy as sa. This should do the same.","commit_id":"06673577675ab6db856a389d7690ae06be4886ec"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"1dcdef969957a97e06a01bcde25e2dd6e5c49c89","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"from alembic import op"},{"line_number":37,"context_line":"import sqlalchemy as sa"},{"line_number":38,"context_line":"from sqlalchemy.dialects import mysql"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"from quantum.db import migration"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOic%3D","line":38,"in_reply_to":"AAAAM3%2F%2FOlY%3D","updated":"2013-02-01 07:59:49.000000000","message":"Done","commit_id":"06673577675ab6db856a389d7690ae06be4886ec"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    op.create_table("},{"line_number":55,"context_line":"        u\u0027ofp_server\u0027,"},{"line_number":56,"context_line":"        sa.Column(u\u0027id\u0027, mysql.INTEGER(display_width\u003d11), nullable\u003dFalse),"},{"line_number":57,"context_line":"        sa.Column(u\u0027address\u0027, mysql.VARCHAR(length\u003d64), nullable\u003dTrue),"},{"line_number":58,"context_line":"        sa.Column(u\u0027host_type\u0027, mysql.VARCHAR(length\u003d255), nullable\u003dTrue),"},{"line_number":59,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOlQ%3D","line":56,"updated":"2013-02-01 06:36:43.000000000","message":"s/msql.INTEGER/sa.Integer","commit_id":"06673577675ab6db856a389d7690ae06be4886ec"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"1dcdef969957a97e06a01bcde25e2dd6e5c49c89","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    op.create_table("},{"line_number":55,"context_line":"        u\u0027ofp_server\u0027,"},{"line_number":56,"context_line":"        sa.Column(u\u0027id\u0027, mysql.INTEGER(display_width\u003d11), nullable\u003dFalse),"},{"line_number":57,"context_line":"        sa.Column(u\u0027address\u0027, mysql.VARCHAR(length\u003d64), nullable\u003dTrue),"},{"line_number":58,"context_line":"        sa.Column(u\u0027host_type\u0027, mysql.VARCHAR(length\u003d255), nullable\u003dTrue),"},{"line_number":59,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOiY%3D","line":56,"in_reply_to":"AAAAM3%2F%2FOlQ%3D","updated":"2013-02-01 07:59:49.000000000","message":"Done","commit_id":"06673577675ab6db856a389d7690ae06be4886ec"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":54,"context_line":"    op.create_table("},{"line_number":55,"context_line":"        u\u0027ofp_server\u0027,"},{"line_number":56,"context_line":"        sa.Column(u\u0027id\u0027, mysql.INTEGER(display_width\u003d11), nullable\u003dFalse),"},{"line_number":57,"context_line":"        sa.Column(u\u0027address\u0027, mysql.VARCHAR(length\u003d64), nullable\u003dTrue),"},{"line_number":58,"context_line":"        sa.Column(u\u0027host_type\u0027, mysql.VARCHAR(length\u003d255), nullable\u003dTrue),"},{"line_number":59,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOlM%3D","line":57,"updated":"2013-02-01 06:36:43.000000000","message":"s/msql.VARCHAR/sa.String(length\u003d36)","commit_id":"06673577675ab6db856a389d7690ae06be4886ec"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"1dcdef969957a97e06a01bcde25e2dd6e5c49c89","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    op.create_table("},{"line_number":55,"context_line":"        u\u0027ofp_server\u0027,"},{"line_number":56,"context_line":"        sa.Column(u\u0027id\u0027, mysql.INTEGER(display_width\u003d11), nullable\u003dFalse),"},{"line_number":57,"context_line":"        sa.Column(u\u0027address\u0027, mysql.VARCHAR(length\u003d64), nullable\u003dTrue),"},{"line_number":58,"context_line":"        sa.Column(u\u0027host_type\u0027, mysql.VARCHAR(length\u003d255), nullable\u003dTrue),"},{"line_number":59,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOiU%3D","line":57,"in_reply_to":"AAAAM3%2F%2FOlM%3D","updated":"2013-02-01 07:59:49.000000000","message":"Done","commit_id":"06673577675ab6db856a389d7690ae06be4886ec"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":55,"context_line":"        u\u0027ofp_server\u0027,"},{"line_number":56,"context_line":"        sa.Column(u\u0027id\u0027, mysql.INTEGER(display_width\u003d11), nullable\u003dFalse),"},{"line_number":57,"context_line":"        sa.Column(u\u0027address\u0027, mysql.VARCHAR(length\u003d64), nullable\u003dTrue),"},{"line_number":58,"context_line":"        sa.Column(u\u0027host_type\u0027, mysql.VARCHAR(length\u003d255), nullable\u003dTrue),"},{"line_number":59,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOlI%3D","line":58,"updated":"2013-02-01 06:36:43.000000000","message":"s/msql.VARCHAR/sa.String(length\u003d36)","commit_id":"06673577675ab6db856a389d7690ae06be4886ec"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"1dcdef969957a97e06a01bcde25e2dd6e5c49c89","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        u\u0027ofp_server\u0027,"},{"line_number":56,"context_line":"        sa.Column(u\u0027id\u0027, mysql.INTEGER(display_width\u003d11), nullable\u003dFalse),"},{"line_number":57,"context_line":"        sa.Column(u\u0027address\u0027, mysql.VARCHAR(length\u003d64), nullable\u003dTrue),"},{"line_number":58,"context_line":"        sa.Column(u\u0027host_type\u0027, mysql.VARCHAR(length\u003d255), nullable\u003dTrue),"},{"line_number":59,"context_line":"        sa.PrimaryKeyConstraint(u\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOiQ%3D","line":58,"in_reply_to":"AAAAM3%2F%2FOlI%3D","updated":"2013-02-01 07:59:49.000000000","message":"Done","commit_id":"06673577675ab6db856a389d7690ae06be4886ec"}],"quantum/plugins/ryu/agent/ryu_quantum_agent.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"eff06dd2418e6712f2a3df7a0cfff27afbdb2b9a","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        self._setup_rpc()"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        self.int_br \u003d None"},{"line_number":169,"context_line":"        self.vif_ports \u003d None"},{"line_number":170,"context_line":"        self._setup_integration_br(root_helper, integ_br,"},{"line_number":171,"context_line":"                                   tunnel_ip, ovsdb_port, ovsdb_ip)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FRiI%3D","line":168,"updated":"2013-01-30 18:16:48.000000000","message":"stylistic item, but should do not need to set these values to None since the _setup_integration_br will do it for you.","commit_id":"911a1811438794d4136d8433a0741965dff7cc1a"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"1dcdef969957a97e06a01bcde25e2dd6e5c49c89","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        self._setup_rpc()"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        self.int_br \u003d None"},{"line_number":169,"context_line":"        self.vif_ports \u003d None"},{"line_number":170,"context_line":"        self._setup_integration_br(root_helper, integ_br,"},{"line_number":171,"context_line":"                                   tunnel_ip, ovsdb_port, ovsdb_ip)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FQg4%3D","line":168,"in_reply_to":"AAAAM3%2F%2FRiI%3D","updated":"2013-01-31 03:59:38.000000000","message":"Done","commit_id":"911a1811438794d4136d8433a0741965dff7cc1a"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"unresolved":false,"context_lines":[{"line_number":39,"context_line":"from quantum.openstack.common.cfg import NoSuchGroupError"},{"line_number":40,"context_line":"from quantum.openstack.common.cfg import NoSuchOptError"},{"line_number":41,"context_line":"from quantum.openstack.common import log"},{"line_number":42,"context_line":"from quantum.openstack.common import rpc"},{"line_number":43,"context_line":"from quantum.plugins.ryu.common import config"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FPc4%3D","line":42,"updated":"2013-01-31 19:24:54.000000000","message":"not used","commit_id":"838841b98b8ec0b28d3ba592a9ee1aad7b3f62d9"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"1dcdef969957a97e06a01bcde25e2dd6e5c49c89","unresolved":false,"context_lines":[{"line_number":39,"context_line":"from quantum.openstack.common.cfg import NoSuchGroupError"},{"line_number":40,"context_line":"from quantum.openstack.common.cfg import NoSuchOptError"},{"line_number":41,"context_line":"from quantum.openstack.common import log"},{"line_number":42,"context_line":"from quantum.openstack.common import rpc"},{"line_number":43,"context_line":"from quantum.plugins.ryu.common import config"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FOrM%3D","line":42,"in_reply_to":"AAAAM3%2F%2FPc4%3D","updated":"2013-02-01 04:35:20.000000000","message":"Done","commit_id":"838841b98b8ec0b28d3ba592a9ee1aad7b3f62d9"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        rest_api_addr \u003d self.plugin_rpc.get_ofp_rest_api_addr(self.context)"},{"line_number":179,"context_line":"        if not rest_api_addr:"},{"line_number":180,"context_line":"            raise RuntimeError(_(\"Ryu rest API port isn\u0027t specified\"))"},{"line_number":181,"context_line":"        LOG.debug(_(\"Going to ofp controller mode %s\"), rest_api_addr)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        ryu_rest_client \u003d client.OFPClient(rest_api_addr)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FPcw%3D","line":180,"updated":"2013-01-31 19:24:54.000000000","message":"The exception is too generic. We should have more specific exceptions","commit_id":"838841b98b8ec0b28d3ba592a9ee1aad7b3f62d9"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"1dcdef969957a97e06a01bcde25e2dd6e5c49c89","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        rest_api_addr \u003d self.plugin_rpc.get_ofp_rest_api_addr(self.context)"},{"line_number":179,"context_line":"        if not rest_api_addr:"},{"line_number":180,"context_line":"            raise RuntimeError(_(\"Ryu rest API port isn\u0027t specified\"))"},{"line_number":181,"context_line":"        LOG.debug(_(\"Going to ofp controller mode %s\"), rest_api_addr)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        ryu_rest_client \u003d client.OFPClient(rest_api_addr)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FOrE%3D","line":180,"in_reply_to":"AAAAM3%2F%2FPcw%3D","updated":"2013-02-01 04:35:20.000000000","message":"I changed it into quantum.common.exceptions.Invalid.\nI think that this is slightly better.","commit_id":"838841b98b8ec0b28d3ba592a9ee1aad7b3f62d9"}],"quantum/plugins/ryu/common/config.py":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":20,"context_line":"ovs_opts \u003d ["},{"line_number":21,"context_line":"    cfg.StrOpt(\u0027integration_bridge\u0027, default\u003d\u0027br-int\u0027,"},{"line_number":22,"context_line":"               help\u003d_(\"Integration bridge to use\")),"},{"line_number":23,"context_line":"    cfg.StrOpt(\u0027openflow_controller\u0027, default\u003d\u0027127.0.0.1:6633\u0027,"},{"line_number":24,"context_line":"               help\u003d_(\"OpenFlow controller to connect to\")),"},{"line_number":25,"context_line":"    cfg.StrOpt(\u0027openflow_rest_api\u0027, default\u003d\u0027127.0.0.1:8080\u0027,"},{"line_number":26,"context_line":"               help\u003d_(\"OpenFlow REST API location\")),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOlA%3D","side":"PARENT","line":23,"updated":"2013-02-01 06:36:43.000000000","message":"same question? You should have something in the commit message that you are removing this if you really want to do that.","commit_id":"03d264751a1a6103615a40270b068bdee5e9d600"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"1dcdef969957a97e06a01bcde25e2dd6e5c49c89","unresolved":false,"context_lines":[{"line_number":20,"context_line":"ovs_opts \u003d ["},{"line_number":21,"context_line":"    cfg.StrOpt(\u0027integration_bridge\u0027, default\u003d\u0027br-int\u0027,"},{"line_number":22,"context_line":"               help\u003d_(\"Integration bridge to use\")),"},{"line_number":23,"context_line":"    cfg.StrOpt(\u0027openflow_controller\u0027, default\u003d\u0027127.0.0.1:6633\u0027,"},{"line_number":24,"context_line":"               help\u003d_(\"OpenFlow controller to connect to\")),"},{"line_number":25,"context_line":"    cfg.StrOpt(\u0027openflow_rest_api\u0027, default\u003d\u0027127.0.0.1:8080\u0027,"},{"line_number":26,"context_line":"               help\u003d_(\"OpenFlow REST API location\")),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FOiI%3D","side":"PARENT","line":23,"in_reply_to":"AAAAM3%2F%2FOlA%3D","updated":"2013-02-01 07:59:49.000000000","message":"I updated the commit message.","commit_id":"03d264751a1a6103615a40270b068bdee5e9d600"}]}
