)]}'
{"devstack/plugin.sh":[{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"3f209ae8cd220039d9126fbe3f453e0b356698bd","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# Pluggable DB drivers"},{"line_number":41,"context_line":"#----------------------"},{"line_number":42,"context_line":"function is_df_db_driver_selected {"},{"line_number":43,"context_line":"    test -n \"$NB_DRIVER_CLASS\""},{"line_number":44,"context_line":"    return $?"},{"line_number":45,"context_line":"}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"is_df_db_driver_selected \u0026\u0026 die $LINENO \"Database service is already set for Dragonflow.\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"if is_service_enabled df-etcd ; then"},{"line_number":50,"context_line":"    source $DEST/dragonflow/devstack/etcd_driver"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7aa08908_ce29e339","line":47,"range":{"start_line":42,"start_character":0,"end_line":47,"end_character":89},"updated":"2016-06-09 09:53:33.000000000","message":"This is script is run multiple times \n\nsource /opt/stack/new/dragonflow/devstack/plugin.sh stack pre_install /  install / post install \nSo it will fail on the second run","commit_id":"aceb77b98769b6908c0a3d42b25050055e4b9927"},{"author":{"_account_id":16983,"name":"Eshed Gal-Or","email":"eshed.galor@huawei.com","username":"eshedg"},"change_message_id":"c45802d8ed46f39991b1c605c42c509a04e0f604","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    return $?"},{"line_number":45,"context_line":"}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"is_df_db_driver_selected \u0026\u0026 die $LINENO \"Database service is already set for Dragonflow.\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"if is_service_enabled df-etcd ; then"},{"line_number":50,"context_line":"    source $DEST/dragonflow/devstack/etcd_driver"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7aa08908_f4b47382","line":47,"updated":"2016-06-09 09:55:12.000000000","message":"this line seems redundant... setting of the db driver is only done below","commit_id":"aceb77b98769b6908c0a3d42b25050055e4b9927"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"6af7140e1732565f5570409e459f238509fce532","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    return $?"},{"line_number":45,"context_line":"}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"is_df_db_driver_selected \u0026\u0026 die $LINENO \"Database service is already set for Dragonflow.\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"if is_service_enabled df-etcd ; then"},{"line_number":50,"context_line":"    source $DEST/dragonflow/devstack/etcd_driver"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7aa08908_48da03eb","line":47,"in_reply_to":"7aa08908_f4b47382","updated":"2016-06-09 11:49:28.000000000","message":"@Eshed - This line makes sure that the driver isn\u0027t \u0027partially selected\u0027 in local.conf.","commit_id":"aceb77b98769b6908c0a3d42b25050055e4b9927"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"868ea0aef550df607ef1ad3895ff024d00fec5ac","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    DF_REDIS_PUBSUB\u003d\"False\""},{"line_number":70,"context_line":"fi"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"is_df_db_driver_selected || die $LINENO \"No database service is set for Dragonflow.\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# Pub/Sub Service"},{"line_number":75,"context_line":"#----------------"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7aa08908_4e7f3666","line":72,"range":{"start_line":72,"start_character":0,"end_line":72,"end_character":24},"updated":"2016-06-12 07:42:43.000000000","message":"Instead of exit directly, give beginner a default setting may be a better way!","commit_id":"aceb77b98769b6908c0a3d42b25050055e4b9927"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"b257e033608b1ebfdc25ad80b71d5049b8c29806","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    DF_REDIS_PUBSUB\u003d\"False\""},{"line_number":70,"context_line":"fi"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"is_df_db_driver_selected || die $LINENO \"No database service is set for Dragonflow.\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# Pub/Sub Service"},{"line_number":75,"context_line":"#----------------"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7aa08908_5b06ccce","line":72,"range":{"start_line":72,"start_character":0,"end_line":72,"end_character":24},"in_reply_to":"7aa08908_4e7f3666","updated":"2016-06-13 06:02:31.000000000","message":"@duankebo - this is an excellent idea, but it is out of scope for this fix. Even if we set a default for NB_DRIVER_CLASS, we do not have a service enabled, which could cause issues.\nthis should be done as a part of a bigger refactoring of this code.","commit_id":"aceb77b98769b6908c0a3d42b25050055e4b9927"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"3483bc2749698de2c3eb0af3dcadfb26bdf29dd8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    NB_DRIVER_CLASS\u003d\"dragonflow.db.drivers.etcd_db_driver.EtcdDbDriver\""},{"line_number":55,"context_line":"fi"},{"line_number":56,"context_line":"if is_service_enabled df-ramcloud ; then"},{"line_number":57,"context_line":"    is_df_db_driver_selected \u0026\u0026 die $LINENO \"More than one database service is set for Dragonflow.\""},{"line_number":58,"context_line":"    source $DEST/dragonflow/devstack/ramcloud_driver"},{"line_number":59,"context_line":"    NB_DRIVER_CLASS\u003d\"dragonflow.db.drivers.ramcloud_db_driver.RamCloudDbDriver\""},{"line_number":60,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":3,"id":"7aa08908_59eff41d","line":57,"range":{"start_line":57,"start_character":3,"end_line":57,"end_character":99},"updated":"2016-06-13 06:55:50.000000000","message":"I think that you should remove this line it will fail on the second run","commit_id":"202a0b6c696d6902a7ae96867d7796ffa078253a"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"3483bc2749698de2c3eb0af3dcadfb26bdf29dd8","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    NB_DRIVER_CLASS\u003d\"dragonflow.db.drivers.ramcloud_db_driver.RamCloudDbDriver\""},{"line_number":60,"context_line":"fi"},{"line_number":61,"context_line":"if is_service_enabled df-zookeeper ; then"},{"line_number":62,"context_line":"    is_df_db_driver_selected \u0026\u0026 die $LINENO \"More than one database service is set for Dragonflow.\""},{"line_number":63,"context_line":"    source $DEST/dragonflow/devstack/zookeeper_driver"},{"line_number":64,"context_line":"    NB_DRIVER_CLASS\u003d\"dragonflow.db.drivers.zookeeper_db_driver.ZookeeperDbDriver\""},{"line_number":65,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":3,"id":"7aa08908_99f5dcee","line":62,"range":{"start_line":62,"start_character":4,"end_line":62,"end_character":28},"updated":"2016-06-13 06:55:50.000000000","message":"ditto","commit_id":"202a0b6c696d6902a7ae96867d7796ffa078253a"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"3483bc2749698de2c3eb0af3dcadfb26bdf29dd8","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    NB_DRIVER_CLASS\u003d\"dragonflow.db.drivers.zookeeper_db_driver.ZookeeperDbDriver\""},{"line_number":65,"context_line":"fi"},{"line_number":66,"context_line":"if is_service_enabled df-redis ; then"},{"line_number":67,"context_line":"    is_df_db_driver_selected \u0026\u0026 die $LINENO \"More than one database service is set for Dragonflow.\""},{"line_number":68,"context_line":"    source $DEST/dragonflow/devstack/redis_driver"},{"line_number":69,"context_line":"    NB_DRIVER_CLASS\u003d\"dragonflow.db.drivers.redis_db_driver.RedisDbDriver\""},{"line_number":70,"context_line":"    DF_REDIS_PUBSUB\u003d${DF_REDIS_PUBSUB:-\"True\"}"}],"source_content_type":"text/x-sh","patch_set":3,"id":"7aa08908_f9dea06b","line":67,"range":{"start_line":67,"start_character":4,"end_line":67,"end_character":28},"updated":"2016-06-13 06:55:50.000000000","message":"ditto","commit_id":"202a0b6c696d6902a7ae96867d7796ffa078253a"},{"author":{"_account_id":14249,"name":"Lionel Zerbib","email":"ariel.zerbib@gmail.com","username":"lionelz"},"change_message_id":"869979e3c2786f9ffeb22faf40c24f8757adf788","unresolved":false,"context_lines":[{"line_number":77,"context_line":"fi"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"# As the function returns actual value only on pre-install, ignore it on later stages"},{"line_number":80,"context_line":"if [[ \"$1\" \u003d\u003d \"$ACTION\" \u0026\u0026 \"$STAGE\" \u003d\u003d \"pre-install\" ]]; then"},{"line_number":81,"context_line":"    is_df_db_driver_selected || die $LINENO \"No database service is set for Dragonflow.\""},{"line_number":82,"context_line":"fi"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"7aa08908_b5a1b448","line":80,"range":{"start_line":80,"start_character":6,"end_line":80,"end_character":27},"updated":"2016-06-13 10:52:14.000000000","message":"This test is useless","commit_id":"26528faf64248c5d3dcf88273242e055cd0e533f"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"18e3d1db505a3d913bb8097c3ac93197d26a560a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        test -n \"$NB_DRIVER_CLASS\""},{"line_number":48,"context_line":"        return $?"},{"line_number":49,"context_line":"    fi"},{"line_number":50,"context_line":"    return 1"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"# Make sure this argument is not manually set by the user in local.conf"}],"source_content_type":"text/x-sh","patch_set":5,"id":"7aa08908_e0aed82c","line":50,"updated":"2016-06-13 11:31:56.000000000","message":"i believe in bash \u00271\u0027 is actually false","commit_id":"563f835917208edeece699dd025bac5584f2ebb9"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"53be7042ff2c48868610e0c4ff3b82270b475655","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        test -n \"$NB_DRIVER_CLASS\""},{"line_number":48,"context_line":"        return $?"},{"line_number":49,"context_line":"    fi"},{"line_number":50,"context_line":"    return 1"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"# Make sure this argument is not manually set by the user in local.conf"}],"source_content_type":"text/x-sh","patch_set":5,"id":"7aa08908_36df876a","line":50,"in_reply_to":"7aa08908_e0aed82c","updated":"2016-06-13 12:18:19.000000000","message":"Indeed it is false.\nThe pre-install makes sure we have at one (and only one) driver selected.\nWhen we get to the install, the NB_DRIVER_CLASS is already set, but we do not want it to break the behavior.\nWe can wrap the whole block with the \"pre-install\" condition, but I believe it will be less readable.","commit_id":"563f835917208edeece699dd025bac5584f2ebb9"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"18e3d1db505a3d913bb8097c3ac93197d26a560a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"fi"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"# As the function returns actual value only on pre-install, ignore it on later stages"},{"line_number":80,"context_line":"if [[ \"$ACTION\" \u003d\u003d \"stack\" \u0026\u0026 \"$STAGE\" \u003d\u003d \"pre-install\" ]]; then"},{"line_number":81,"context_line":"    is_df_db_driver_selected || die $LINENO \"No database service is set for Dragonflow.\""},{"line_number":82,"context_line":"fi"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-sh","patch_set":5,"id":"7aa08908_603788ff","line":80,"updated":"2016-06-13 11:31:56.000000000","message":"why we need this check again if we have it inside the method","commit_id":"563f835917208edeece699dd025bac5584f2ebb9"}]}
