)]}'
{"lib/cinder":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1735b807752103bd9b96c69413412ea9379c8111","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    # Kill the cinder screen windows"},{"line_number":457,"context_line":"    local serv"},{"line_number":458,"context_line":"    for serv in c-api c-bak c-sch c-vol; do"},{"line_number":459,"context_line":"        stop_process $serv"},{"line_number":460,"context_line":"    done"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    if is_service_enabled c-vol; then"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa98f980_85b6e9da","line":459,"updated":"2014-09-09 15:04:38.000000000","message":"oops...thanks","commit_id":"65f27679f94f6b99e29759c3ac36bb87fbafb211"}],"lib/neutron":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1735b807752103bd9b96c69413412ea9379c8111","unresolved":false,"context_lines":[{"line_number":591,"context_line":"function start_neutron_service_and_check {"},{"line_number":592,"context_line":"    local cfg_file_options\u003d\"$(determine_config_files neutron-server)\""},{"line_number":593,"context_line":"    # Start the Neutron service"},{"line_number":594,"context_line":"    run_process q-svc \"python $NEUTRON_BIN_DIR/neutron-server $cfg_file_options\""},{"line_number":595,"context_line":"    echo \"Waiting for Neutron to start...\""},{"line_number":596,"context_line":"    if ! timeout $SERVICE_TIMEOUT sh -c \"while ! wget --no-proxy -q -O- http://$Q_HOST:$Q_PORT; do sleep 1; done\"; then"},{"line_number":597,"context_line":"        die $LINENO \"Neutron did not start\""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa98f980_45c88174","line":594,"updated":"2014-09-09 15:04:38.000000000","message":"oh yeah, they did that...Neutron has to be different everywhere I suppose...","commit_id":"65f27679f94f6b99e29759c3ac36bb87fbafb211"}],"lib/neutron_thirdparty/README.md":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1735b807752103bd9b96c69413412ea9379c8111","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  screen_it XXXX \"cd $XXXXY_DIR \u0026\u0026 $XXXX_DIR/bin/XXXX-bin\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* ``stop_\u003cthird_party\u003e``:"},{"line_number":36,"context_line":"  stop running processes (non-screen)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* ``check_\u003cthird_party\u003e``:"},{"line_number":39,"context_line":"  verify that the integration between neutron server and third-party components is sane"}],"source_content_type":"text/x-gfm","patch_set":2,"id":"fa98f980_251b7d1d","side":"PARENT","line":36,"updated":"2014-09-09 15:04:38.000000000","message":"add a sample stop_process() call here too, then I can point the ryu guys at it...","commit_id":"3159a821c2e0662278746c5311e187bcfd4d8b75"}],"lib/neutron_thirdparty/ryu":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1735b807752103bd9b96c69413412ea9379c8111","unresolved":false,"context_lines":[{"line_number":68,"context_line":"}"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"function stop_ryu {"},{"line_number":71,"context_line":"    :"},{"line_number":72,"context_line":"}"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"function check_ryu {"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa98f980_a5612daa","side":"PARENT","line":71,"updated":"2014-09-09 15:04:38.000000000","message":"What the...???","commit_id":"3159a821c2e0662278746c5311e187bcfd4d8b75"}],"lib/opendaylight":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1735b807752103bd9b96c69413412ea9379c8111","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    # The flags to ODL have the following meaning:"},{"line_number":140,"context_line":"    #   -of13: runs ODL using OpenFlow 1.3 protocol support."},{"line_number":141,"context_line":"    #   -virt ovsdb: Runs ODL in \"virtualization\" mode with OVSDB support"},{"line_number":142,"context_line":"    run_process odl-server \"cd $ODL_DIR/opendaylight \u0026\u0026 JAVA_HOME\u003d$JHOME ./run.sh $ODL_ARGS -of13 -virt ovsdb\""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    # Sleep a bit to let OpenDaylight finish starting up"},{"line_number":145,"context_line":"    sleep $ODL_BOOT_WAIT"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa98f980_65182576","line":142,"updated":"2014-09-09 15:04:38.000000000","message":"This is going to be a problem child.  My guess is we should treat it like a service and not run it under screen at all.\n\nDon\u0027t change it in this review and we can follow up after sorting out The Right Thing To Do.","commit_id":"65f27679f94f6b99e29759c3ac36bb87fbafb211"}],"lib/swift":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"93fb6743c9c677d184ab90835dd5289553cb1ef5","unresolved":false,"context_lines":[{"line_number":659,"context_line":"    if [ \"$SWIFT_USE_MOD_WSGI\" \u003d\u003d \"True\" ]; then"},{"line_number":660,"context_line":"        restart_apache_server"},{"line_number":661,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest start"},{"line_number":662,"context_line":"        run_process s-proxy \"sudo tail -f /var/log/$APACHE_NAME/proxy-server\""},{"line_number":663,"context_line":"        if [[ ${SWIFT_REPLICAS} \u003d\u003d 1 ]]; then"},{"line_number":664,"context_line":"            for type in object container account; do"},{"line_number":665,"context_line":"                run_process s-${type} \"sudo tail -f /var/log/$APACHE_NAME/${type}-server-1\""}],"source_content_type":"text/x-swift","patch_set":1,"id":"fa98f980_9108f3da","line":662,"updated":"2014-09-09 13:13:29.000000000","message":"I think you need the conditional on screen here, maybe we should have a baked in \"tail_log\" that only does something if screen is enabled.","commit_id":"1b65cf68f8f38d48ed6a388dbc65101f8471512e"}],"lib/template":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1735b807752103bd9b96c69413412ea9379c8111","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# start_XXXX() - Start running processes, including screen"},{"line_number":77,"context_line":"function start_XXXX {"},{"line_number":78,"context_line":"    # screen_it XXXX \"cd $XXXX_DIR \u0026\u0026 $XXXX_DIR/bin/XXXX-bin\""},{"line_number":79,"context_line":"    :"},{"line_number":80,"context_line":"}"},{"line_number":81,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa98f980_aae73ce3","side":"PARENT","line":78,"updated":"2014-09-09 15:04:38.000000000","message":"Add a comment here about not using shell metacharacters or redirection:\n\n # This must be a single command and not include any shell metacharacters, redirection or shell builtins","commit_id":"3159a821c2e0662278746c5311e187bcfd4d8b75"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1735b807752103bd9b96c69413412ea9379c8111","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"# stop_XXXX() - Stop running processes (non-screen)"},{"line_number":83,"context_line":"function stop_XXXX {"},{"line_number":84,"context_line":"    # FIXME(dtroyer): stop only our screen screen window?"},{"line_number":85,"context_line":"    :"},{"line_number":86,"context_line":"}"},{"line_number":87,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa98f980_aa581cfb","side":"PARENT","line":84,"updated":"2014-09-09 15:04:38.000000000","message":"lazy me...thanks","commit_id":"3159a821c2e0662278746c5311e187bcfd4d8b75"}],"stack.sh":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1735b807752103bd9b96c69413412ea9379c8111","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    exit 1"},{"line_number":74,"context_line":"fi"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# Check to see if we are already running DevStack"},{"line_number":77,"context_line":"# Note that this is meaningless if USE_SCREEN\u003dFalse was set in previous runs"},{"line_number":78,"context_line":"if type -p screen \u003e/dev/null \u0026\u0026 screen -ls | egrep -q \"[0-9].$SCREEN_NAME\"; then"},{"line_number":79,"context_line":"    echo \"You are already running a stack.sh session.\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"fa98f980_aaf3bc08","line":76,"updated":"2014-09-09 15:04:38.000000000","message":"This hunk should be removed as it is a regression as https://review.openstack.org/#/c/117475/ moved it to come after \u0027source stackrc\u0027.","commit_id":"65f27679f94f6b99e29759c3ac36bb87fbafb211"}]}
