)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"bc8a87f6bd6e571027b080594a0f87b13806fedf","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support Quantum security group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added Q_USE_SECGROUP flag for quantum security group"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ifd155798912247d85a9765ef73a2186b929237b4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAAN3%2F%2F9d4%3D","line":9,"updated":"2013-03-05 07:26:48.000000000","message":"Adds","commit_id":"07eda0b846c8764dd3b353d965a6b102295d0c6a"}],"lib/quantum":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"bddc9201b802e8737bba7c55accbd88cd7179f09","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    iniset $NOVA_CONF DEFAULT quantum_auth_strategy \"$Q_AUTH_STRATEGY\""},{"line_number":222,"context_line":"    iniset $NOVA_CONF DEFAULT quantum_admin_tenant_name \"$SERVICE_TENANT_NAME\""},{"line_number":223,"context_line":"    iniset $NOVA_CONF DEFAULT quantum_url \"http://$Q_HOST:$Q_PORT\""},{"line_number":224,"context_line":"    if [[ \"$Q_USE_SECGROUP\" \u003d\u003d \"True\" ]]; then"},{"line_number":225,"context_line":"        iniset $NOVA_CONF DEFAULT security_group_api \"quantum\""},{"line_number":226,"context_line":"    fi"},{"line_number":227,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAN3%2F%2F958%3D","line":224,"updated":"2013-03-05 02:00:34.000000000","message":"Lets set this to true for all plugins that implement quantum security groups. This will allow us to exercise the nova quantum security group proxy code.","commit_id":"4dff3b68f05d383cf6915ef7fde6d4b65be204ef"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"30057059a277a41c4cc1e4d5e2454bbfd614b90f","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    iniset $NOVA_CONF DEFAULT quantum_auth_strategy \"$Q_AUTH_STRATEGY\""},{"line_number":222,"context_line":"    iniset $NOVA_CONF DEFAULT quantum_admin_tenant_name \"$SERVICE_TENANT_NAME\""},{"line_number":223,"context_line":"    iniset $NOVA_CONF DEFAULT quantum_url \"http://$Q_HOST:$Q_PORT\""},{"line_number":224,"context_line":"    if [[ \"$Q_USE_SECGROUP\" \u003d\u003d \"True\" ]]; then"},{"line_number":225,"context_line":"        iniset $NOVA_CONF DEFAULT security_group_api \"quantum\""},{"line_number":226,"context_line":"    fi"},{"line_number":227,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAN3%2F%2F940%3D","line":224,"in_reply_to":"AAAAN3%2F%2F958%3D","updated":"2013-03-05 02:06:40.000000000","message":"good idea. Will do","commit_id":"4dff3b68f05d383cf6915ef7fde6d4b65be204ef"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"bddc9201b802e8737bba7c55accbd88cd7179f09","unresolved":false,"context_lines":[{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    # Configure agent for plugin"},{"line_number":507,"context_line":"    quantum_plugin_configure_plugin_agent"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"}"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"# _configure_quantum_service() - Set config files for quantum service"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAN3%2F%2F954%3D","line":508,"updated":"2013-03-05 02:00:34.000000000","message":"oops","commit_id":"4dff3b68f05d383cf6915ef7fde6d4b65be204ef"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"30057059a277a41c4cc1e4d5e2454bbfd614b90f","unresolved":false,"context_lines":[{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    # Configure agent for plugin"},{"line_number":507,"context_line":"    quantum_plugin_configure_plugin_agent"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"}"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"# _configure_quantum_service() - Set config files for quantum service"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAN3%2F%2F94w%3D","line":508,"in_reply_to":"AAAAN3%2F%2F954%3D","updated":"2013-03-05 02:06:40.000000000","message":"will fix","commit_id":"4dff3b68f05d383cf6915ef7fde6d4b65be204ef"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"ed1c9104b57b9d373a05ff0526dcd43c723187a6","unresolved":false,"context_lines":[{"line_number":230,"context_line":"    iniset $NOVA_CONF DEFAULT quantum_auth_strategy \"$Q_AUTH_STRATEGY\""},{"line_number":231,"context_line":"    iniset $NOVA_CONF DEFAULT quantum_admin_tenant_name \"$SERVICE_TENANT_NAME\""},{"line_number":232,"context_line":"    iniset $NOVA_CONF DEFAULT quantum_url \"http://$Q_HOST:$Q_PORT\""},{"line_number":233,"context_line":"    if [[ \"$NOVA_QUANTUM_SECURITY_GROUP_PROXY\" \u003d\u003d \"True\" ]]; then"},{"line_number":234,"context_line":"        iniset $NOVA_CONF DEFAULT security_group_api \"quantum\""},{"line_number":235,"context_line":"    fi"},{"line_number":236,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAN3%2F%2F9lo%3D","line":233,"updated":"2013-03-05 06:20:23.000000000","message":"this should only be enabled if a plugin implements quantum security groups.","commit_id":"7a091e82109e0ad240f479acb49ebc840f001893"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"11f1da04d7145f71e71896c527644441e499e324","unresolved":false,"context_lines":[{"line_number":95,"context_line":"# The name of the default q-l3 router"},{"line_number":96,"context_line":"Q_ROUTER_NAME\u003d${Q_ROUTER_NAME:-router1}"},{"line_number":97,"context_line":"# Security group supported plugins"},{"line_number":98,"context_line":"Q_SECGROUP_PLUGIN\u003d\"openvswith,linuxbridge,ryu\""},{"line_number":99,"context_line":"# Enable quantum security group"},{"line_number":100,"context_line":"if [[ $Q_SECGROUP_PLUGIN \u003d~ $Q_PLUGIN ]];then"},{"line_number":101,"context_line":"    Q_USE_SECGROUP\u003d${Q_USE_SECGROUP:-\u0027True\u0027}"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAN3%2F%2F9eU%3D","line":98,"updated":"2013-03-05 07:23:42.000000000","message":"nicira","commit_id":"07eda0b846c8764dd3b353d965a6b102295d0c6a"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"c1abf10dac27a6025cf8e2cb9e50286a09a9c13f","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    Q_USE_SECGROUP\u003d\u0027False\u0027"},{"line_number":104,"context_line":"fi"},{"line_number":105,"context_line":"# Should nova proxy security group calls to quantum"},{"line_number":106,"context_line":"NOVA_QUANTUM_SECURITY_GROUP_PROXY\u003d${NOVA_QUANTUM_SECURITY_GROUP_PROXY:-$Q_USE_SECGROUP}"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"if [[ \"$Q_USE_SECGROUP\" \u003d\u003d \"True\" ]]; then"},{"line_number":109,"context_line":"    #Disable nova\u0027s firewall"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAN3%2F%2F9eA%3D","line":106,"updated":"2013-03-05 07:26:23.000000000","message":"looks unused now.","commit_id":"07eda0b846c8764dd3b353d965a6b102295d0c6a"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"33e6d864a9e283a075ed9fbce0e66cee21463246","unresolved":false,"context_lines":[{"line_number":98,"context_line":"Q_SECGROUP_PLUGIN\u003d\"openvswith,linuxbridge,nicira,ryu\""},{"line_number":99,"context_line":"# Enable quantum security group"},{"line_number":100,"context_line":"if [[ $Q_SECGROUP_PLUGIN \u003d~ $Q_PLUGIN ]];then"},{"line_number":101,"context_line":"    Q_USE_SECGROUP\u003d${Q_USE_SECGROUP:-\u0027True\u0027}"},{"line_number":102,"context_line":"else"},{"line_number":103,"context_line":"    Q_USE_SECGROUP\u003d\u0027False\u0027"},{"line_number":104,"context_line":"fi"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAN3%2F%2F9b4%3D","line":101,"updated":"2013-03-05 07:47:09.000000000","message":"nit: unneed \u0027 \u0027 around True","commit_id":"82790dec482ee8f222757d395be490bf95e94cfc"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"059e231fbfee79472809a076bbcc19120892f9ba","unresolved":false,"context_lines":[{"line_number":98,"context_line":"Q_SECGROUP_PLUGIN\u003d\"openvswith,linuxbridge,nicira,ryu\""},{"line_number":99,"context_line":"# Enable quantum security group"},{"line_number":100,"context_line":"if [[ $Q_SECGROUP_PLUGIN \u003d~ $Q_PLUGIN ]];then"},{"line_number":101,"context_line":"    Q_USE_SECGROUP\u003d${Q_USE_SECGROUP:-\u0027True\u0027}"},{"line_number":102,"context_line":"else"},{"line_number":103,"context_line":"    Q_USE_SECGROUP\u003d\u0027False\u0027"},{"line_number":104,"context_line":"fi"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAN3%2F%2F9X8%3D","line":101,"in_reply_to":"AAAAN3%2F%2F9b4%3D","updated":"2013-03-05 08:23:30.000000000","message":"Done","commit_id":"82790dec482ee8f222757d395be490bf95e94cfc"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"33e6d864a9e283a075ed9fbce0e66cee21463246","unresolved":false,"context_lines":[{"line_number":100,"context_line":"if [[ $Q_SECGROUP_PLUGIN \u003d~ $Q_PLUGIN ]];then"},{"line_number":101,"context_line":"    Q_USE_SECGROUP\u003d${Q_USE_SECGROUP:-\u0027True\u0027}"},{"line_number":102,"context_line":"else"},{"line_number":103,"context_line":"    Q_USE_SECGROUP\u003d\u0027False\u0027"},{"line_number":104,"context_line":"fi"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"if [[ \"$Q_USE_SECGROUP\" \u003d\u003d \"True\" ]]; then"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAN3%2F%2F9b0%3D","line":103,"updated":"2013-03-05 07:47:09.000000000","message":"ditto","commit_id":"82790dec482ee8f222757d395be490bf95e94cfc"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"059e231fbfee79472809a076bbcc19120892f9ba","unresolved":false,"context_lines":[{"line_number":100,"context_line":"if [[ $Q_SECGROUP_PLUGIN \u003d~ $Q_PLUGIN ]];then"},{"line_number":101,"context_line":"    Q_USE_SECGROUP\u003d${Q_USE_SECGROUP:-\u0027True\u0027}"},{"line_number":102,"context_line":"else"},{"line_number":103,"context_line":"    Q_USE_SECGROUP\u003d\u0027False\u0027"},{"line_number":104,"context_line":"fi"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"if [[ \"$Q_USE_SECGROUP\" \u003d\u003d \"True\" ]]; then"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAN3%2F%2F9X4%3D","line":103,"in_reply_to":"AAAAN3%2F%2F9b0%3D","updated":"2013-03-05 08:23:30.000000000","message":"Done","commit_id":"82790dec482ee8f222757d395be490bf95e94cfc"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"55d698f4352c31ea7b5a5ca6ce0a2e4cde79f0a6","unresolved":false,"context_lines":[{"line_number":104,"context_line":"fi"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"if [[ \"$Q_USE_SECGROUP\" \u003d\u003d \"True\" ]]; then"},{"line_number":107,"context_line":"    #Disable nova\u0027s firewall"},{"line_number":108,"context_line":"    LIBVIRT_FIREWALL_DRIVER\u003dnova.virt.firewall.NoopFirewallDriver"},{"line_number":109,"context_line":"fi"},{"line_number":110,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAN3%2F%2F9bQ%3D","line":107,"updated":"2013-03-05 07:47:59.000000000","message":"space after #","commit_id":"82790dec482ee8f222757d395be490bf95e94cfc"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"33e6d864a9e283a075ed9fbce0e66cee21463246","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"if [[ \"$Q_USE_SECGROUP\" \u003d\u003d \"True\" ]]; then"},{"line_number":107,"context_line":"    #Disable nova\u0027s firewall"},{"line_number":108,"context_line":"    LIBVIRT_FIREWALL_DRIVER\u003dnova.virt.firewall.NoopFirewallDriver"},{"line_number":109,"context_line":"fi"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"if is_service_enabled quantum; then"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAN3%2F%2F9bo%3D","line":108,"updated":"2013-03-05 07:47:09.000000000","message":"This code now requires quantum to run before nova to set this var. This seams dangerous. Perhaps we should move this to:  create_nova_conf_quantum() and use iniset . What do you think?","commit_id":"82790dec482ee8f222757d395be490bf95e94cfc"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"059e231fbfee79472809a076bbcc19120892f9ba","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"if [[ \"$Q_USE_SECGROUP\" \u003d\u003d \"True\" ]]; then"},{"line_number":107,"context_line":"    #Disable nova\u0027s firewall"},{"line_number":108,"context_line":"    LIBVIRT_FIREWALL_DRIVER\u003dnova.virt.firewall.NoopFirewallDriver"},{"line_number":109,"context_line":"fi"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"if is_service_enabled quantum; then"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAN3%2F%2F9XA%3D","line":108,"in_reply_to":"AAAAN3%2F%2F9bo%3D","updated":"2013-03-05 08:23:30.000000000","message":"done. iniset for this is done in stack.sh so I only moved the env","commit_id":"82790dec482ee8f222757d395be490bf95e94cfc"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1a38fbae184911582118a8f5d6f49142aa0184","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    Q_USE_SECGROUP\u003d${Q_USE_SECGROUP:-True}"},{"line_number":102,"context_line":"else"},{"line_number":103,"context_line":"    Q_USE_SECGROUP\u003dFalse"},{"line_number":104,"context_line":"fi"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"if is_service_enabled quantum; then"},{"line_number":107,"context_line":"    Q_RR_CONF_FILE\u003d$QUANTUM_CONF_DIR/rootwrap.conf"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAN3%2F%2F7PQ%3D","line":104,"updated":"2013-03-06 06:30:25.000000000","message":"I don\u0027t perfer this approach. It is the approach before quantum code was refactored.\n\nIt is better to define has_quantum_plugin_security_group in each plugin file and this function returns True/False.\n\nfunction has_quantum_plugin_security_group() {\n  return $Q_USE_SECGROUP // sg support plugin\n  return False // non sg support plugin\n}\n\nThis allows us to toggle quantum security group even if a plugin supports quantum securtiy group.","commit_id":"00d3f0e1e5b925e0318abdd46abdbf0e3c42e5af"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"7d7126ef51e43968b71432e11b0a08c39ea6e121","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    Q_USE_SECGROUP\u003d${Q_USE_SECGROUP:-True}"},{"line_number":102,"context_line":"else"},{"line_number":103,"context_line":"    Q_USE_SECGROUP\u003dFalse"},{"line_number":104,"context_line":"fi"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"if is_service_enabled quantum; then"},{"line_number":107,"context_line":"    Q_RR_CONF_FILE\u003d$QUANTUM_CONF_DIR/rootwrap.conf"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAN3%2F%2F6Zg%3D","line":104,"in_reply_to":"AAAAN3%2F%2F7PQ%3D","updated":"2013-03-06 19:22:21.000000000","message":"I got it","commit_id":"00d3f0e1e5b925e0318abdd46abdbf0e3c42e5af"}],"lib/quantum_plugins/README.md":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"755d0d51e1a7bee0fc63a6ee2f8376e189cd55b1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"* ``quantum_plugin_configure_service``"},{"line_number":34,"context_line":"* ``quantum_plugin_setup_interface_driver``"},{"line_number":35,"context_line":"* ``has_quantum_plugin_security_group``:"},{"line_number":36,"context_line":"  return 0 if the plugin support quantum security group otherwise return 0"}],"source_content_type":"text/x-gfm","patch_set":12,"id":"AAAAN3%2F%2F1g0%3D","line":36,"updated":"2013-03-10 07:54:19.000000000","message":"otherwise return 1?","commit_id":"58b2ff7b6eff0d924fdb7381ed087653eece042b"}],"lib/quantum_plugins/brocade":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"a1227fef66ef428aba15e6fc50ec319c0d35ccf7","unresolved":false,"context_lines":[{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"function has_quantum_plugin_security_group() {"},{"line_number":49,"context_line":"    return 1"},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"# Restore xtrace"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAAN3%2F%2F3YU%3D","line":49,"updated":"2013-03-08 09:42:15.000000000","message":"please return 0 (it supports seurity groups)\n\na comment for the 0/1 would help","commit_id":"cd5ead998e368ab6e9bff97d54e77625f38039ce"}]}
