)]}'
{"functions":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"83e2e102f21c15cf7af767b03c577fba8eeb167f","unresolved":false,"context_lines":[{"line_number":747,"context_line":"#"},{"line_number":748,"context_line":"# Uses global ``APACHE_ENABLED_SERVICES``"},{"line_number":749,"context_line":"# APACHE_ENABLED_SERVICES service [service ...]"},{"line_number":750,"context_line":"function is_apache_enabled_service() {"},{"line_number":751,"context_line":"    services\u003d$@"},{"line_number":752,"context_line":"    for service in ${services}; do"},{"line_number":753,"context_line":"        [[ ,${APACHE_ENABLED_SERVICES}, \u003d~ ,${service}, ]] \u0026\u0026 return 0"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAPn%2F%2FrJQ%3D","line":750,"updated":"2013-06-25 15:19:28.000000000","message":"Move this to lib/apache, it is specific to that service","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"af37abcaa327cdc6e674a1917e2b7fbdd1a23cc1","unresolved":false,"context_lines":[{"line_number":747,"context_line":"#"},{"line_number":748,"context_line":"# Uses global ``APACHE_ENABLED_SERVICES``"},{"line_number":749,"context_line":"# APACHE_ENABLED_SERVICES service [service ...]"},{"line_number":750,"context_line":"function is_apache_enabled_service() {"},{"line_number":751,"context_line":"    services\u003d$@"},{"line_number":752,"context_line":"    for service in ${services}; do"},{"line_number":753,"context_line":"        [[ ,${APACHE_ENABLED_SERVICES}, \u003d~ ,${service}, ]] \u0026\u0026 return 0"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAPn%2F%2Fqs0%3D","line":750,"in_reply_to":"AAAAPn%2F%2FrJQ%3D","updated":"2013-06-25 16:45:51.000000000","message":"Done","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"}],"lib/apache":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"83e2e102f21c15cf7af767b03c577fba8eeb167f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    # and avoid conflicts when starting services."},{"line_number":63,"context_line":"    sleep 5"},{"line_number":64,"context_line":"    start_apache_server"},{"line_number":65,"context_line":"}"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAPn%2F%2FrHQ%3D","line":65,"updated":"2013-06-25 15:19:28.000000000","message":"The emacs guys will want to see the traditional local var trailer here...copy it from lib/swift","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"af37abcaa327cdc6e674a1917e2b7fbdd1a23cc1","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    # and avoid conflicts when starting services."},{"line_number":63,"context_line":"    sleep 5"},{"line_number":64,"context_line":"    start_apache_server"},{"line_number":65,"context_line":"}"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAPn%2F%2Fqs4%3D","line":65,"in_reply_to":"AAAAPn%2F%2FrHQ%3D","updated":"2013-06-25 16:45:51.000000000","message":"Done","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"0dfe7900b4efef1d3eb3b6308adf9d974e524c81","unresolved":false,"context_lines":[{"line_number":106,"context_line":"}"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"# restart_apache_server"},{"line_number":109,"context_line":"function restart_apache_server() {"},{"line_number":110,"context_line":"    stop_apache_server"},{"line_number":111,"context_line":"    # sleep a few seconds to allow apache server to release system resources"},{"line_number":112,"context_line":"    # and avoid conflicts when starting services."}],"source_content_type":"application/octet-stream","patch_set":10,"id":"AAAAQn%2F%2Fnt8%3D","line":109,"updated":"2013-07-26 11:24:45.000000000","message":"it\u0027s better to use apache restart directly, I don\u0027t like the sleep in here.","commit_id":"3b9445ed1756812c9eb6ab3460b0adad10ab25eb"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"214ca71db2b7e9c9afbb52b5225afeae78073d73","unresolved":false,"context_lines":[{"line_number":106,"context_line":"}"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"# restart_apache_server"},{"line_number":109,"context_line":"function restart_apache_server() {"},{"line_number":110,"context_line":"    stop_apache_server"},{"line_number":111,"context_line":"    # sleep a few seconds to allow apache server to release system resources"},{"line_number":112,"context_line":"    # and avoid conflicts when starting services."}],"source_content_type":"application/octet-stream","patch_set":10,"id":"AAAAQn%2F%2FkHQ%3D","line":109,"in_reply_to":"AAAAQn%2F%2Fnt8%3D","updated":"2013-07-29 03:12:29.000000000","message":"Done","commit_id":"3b9445ed1756812c9eb6ab3460b0adad10ab25eb"}],"lib/horizon":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"83e2e102f21c15cf7af767b03c577fba8eeb167f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"# Allow overriding the default Apache user and group, default to"},{"line_number":38,"context_line":"# current user and his default group."},{"line_number":39,"context_line":"APACHE_USER\u003d${APACHE_USER:-$USER}"},{"line_number":40,"context_line":"APACHE_GROUP\u003d${APACHE_GROUP:-$(id -gn $APACHE_USER)}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"# Functions"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAPn%2F%2FrG0%3D","line":40,"updated":"2013-06-25 15:19:28.000000000","message":"These need to be moved to lib/apache too","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"af37abcaa327cdc6e674a1917e2b7fbdd1a23cc1","unresolved":false,"context_lines":[{"line_number":37,"context_line":"# Allow overriding the default Apache user and group, default to"},{"line_number":38,"context_line":"# current user and his default group."},{"line_number":39,"context_line":"APACHE_USER\u003d${APACHE_USER:-$USER}"},{"line_number":40,"context_line":"APACHE_GROUP\u003d${APACHE_GROUP:-$(id -gn $APACHE_USER)}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"# Functions"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAPn%2F%2Fqs8%3D","line":40,"in_reply_to":"AAAAPn%2F%2FrG0%3D","updated":"2013-06-25 16:45:51.000000000","message":"Done","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"83e2e102f21c15cf7af767b03c577fba8eeb167f","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"# start_horizon() - Start running processes, including screen"},{"line_number":167,"context_line":"function start_horizon() {"},{"line_number":168,"context_line":"    start_apache_server"},{"line_number":169,"context_line":"    screen_it horizon \"cd $HORIZON_DIR \u0026\u0026 sudo tail -f /var/log/$APACHE_NAME/horizon_error.log\""},{"line_number":170,"context_line":"}"},{"line_number":171,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAPn%2F%2FrJA%3D","line":168,"updated":"2013-06-25 15:19:28.000000000","message":"This needs to be a restart in case apache was already running","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"}],"lib/swift":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"c47d107a03316d988efbbb568900600fd1c07e34","unresolved":false,"context_lines":[{"line_number":122,"context_line":"}"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"# _cleanup_apache_wsgi() - Remove wsgi files, disable and remove apache vhost file"},{"line_number":125,"context_line":"function _cleanup_apache_wsgi() {"},{"line_number":126,"context_line":"    sudo rm -f /var/www/swift/*.wsgi"},{"line_number":127,"context_line":"    sudo a2dissite swift"},{"line_number":128,"context_line":"    sudo rm -f /etc/apache2/sites-available/swift"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2Ftxs%3D","line":125,"updated":"2013-06-24 20:51:21.000000000","message":"This should clean out and disable all of the sites and modules enabled below","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"cca5fdf7aa6f63b3f30ab8d9e555f3beecd4e0c0","unresolved":false,"context_lines":[{"line_number":122,"context_line":"}"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"# _cleanup_apache_wsgi() - Remove wsgi files, disable and remove apache vhost file"},{"line_number":125,"context_line":"function _cleanup_apache_wsgi() {"},{"line_number":126,"context_line":"    sudo rm -f /var/www/swift/*.wsgi"},{"line_number":127,"context_line":"    sudo a2dissite swift"},{"line_number":128,"context_line":"    sudo rm -f /etc/apache2/sites-available/swift"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FsNI%3D","line":125,"in_reply_to":"AAAAPn%2F%2Ftxs%3D","updated":"2013-06-25 09:34:33.000000000","message":"Done","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"c47d107a03316d988efbbb568900600fd1c07e34","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    local swift_wsgi_dir\u003d/var/www/swift/"},{"line_number":134,"context_line":"    sudo mkdir -p ${swift_wsgi_dir}"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    # Set up service name and configuration path"},{"line_number":137,"context_line":"    if is_ubuntu; then"},{"line_number":138,"context_line":"        APACHE_NAME\u003dapache2"},{"line_number":139,"context_line":"        APACHE_CONF_DIR\u003dsites-available"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FtwU%3D","line":136,"updated":"2013-06-24 20:51:21.000000000","message":"This bit is duplicated from horizon and should be in a common lib/apache file that needs to be created.  It should also happen during the \u0027install\u0027 functions not the \u0027config\u0027 functions","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"cca5fdf7aa6f63b3f30ab8d9e555f3beecd4e0c0","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    local swift_wsgi_dir\u003d/var/www/swift/"},{"line_number":134,"context_line":"    sudo mkdir -p ${swift_wsgi_dir}"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    # Set up service name and configuration path"},{"line_number":137,"context_line":"    if is_ubuntu; then"},{"line_number":138,"context_line":"        APACHE_NAME\u003dapache2"},{"line_number":139,"context_line":"        APACHE_CONF_DIR\u003dsites-available"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FsPQ%3D","line":136,"in_reply_to":"AAAAPn%2F%2FtwU%3D","updated":"2013-06-25 09:34:33.000000000","message":"Done","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"c47d107a03316d988efbbb568900600fd1c07e34","unresolved":false,"context_lines":[{"line_number":521,"context_line":"    fi"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    if is_apache_enabled_service swift; then"},{"line_number":524,"context_line":"        sudo apache2ctl stop"},{"line_number":525,"context_line":"        sleep 5"},{"line_number":526,"context_line":"        sudo apache2ctl start"},{"line_number":527,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest start"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FtRA%3D","line":524,"updated":"2013-06-24 20:51:21.000000000","message":"the apache2ctl commands need to be replaced with the appropriate start_service()/stop_service() functions.","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"cca5fdf7aa6f63b3f30ab8d9e555f3beecd4e0c0","unresolved":false,"context_lines":[{"line_number":521,"context_line":"    fi"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    if is_apache_enabled_service swift; then"},{"line_number":524,"context_line":"        sudo apache2ctl stop"},{"line_number":525,"context_line":"        sleep 5"},{"line_number":526,"context_line":"        sudo apache2ctl start"},{"line_number":527,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest start"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2Fr6A%3D","line":524,"in_reply_to":"AAAAPn%2F%2FtRA%3D","updated":"2013-06-25 09:34:33.000000000","message":"Done","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"c47d107a03316d988efbbb568900600fd1c07e34","unresolved":false,"context_lines":[{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    if is_apache_enabled_service swift; then"},{"line_number":524,"context_line":"        sudo apache2ctl stop"},{"line_number":525,"context_line":"        sleep 5"},{"line_number":526,"context_line":"        sudo apache2ctl start"},{"line_number":527,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest start"},{"line_number":528,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/proxy-server\""}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2Fty4%3D","line":525,"updated":"2013-06-24 20:51:21.000000000","message":"Why the sleep?","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"cca5fdf7aa6f63b3f30ab8d9e555f3beecd4e0c0","unresolved":false,"context_lines":[{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    if is_apache_enabled_service swift; then"},{"line_number":524,"context_line":"        sudo apache2ctl stop"},{"line_number":525,"context_line":"        sleep 5"},{"line_number":526,"context_line":"        sudo apache2ctl start"},{"line_number":527,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest start"},{"line_number":528,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/proxy-server\""}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FsVU%3D","line":525,"in_reply_to":"AAAAPn%2F%2Fty4%3D","updated":"2013-06-25 09:34:33.000000000","message":"When launching stop command, apache need a few seconds to release the tcp ports used by proxy and a/c/o services, otherwise it will report error of port has been occupied immediately after stop command. wait a few seconds will solve this problem.","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"c47d107a03316d988efbbb568900600fd1c07e34","unresolved":false,"context_lines":[{"line_number":525,"context_line":"        sleep 5"},{"line_number":526,"context_line":"        sudo apache2ctl start"},{"line_number":527,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest start"},{"line_number":528,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/proxy-server\""},{"line_number":529,"context_line":"        for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":530,"context_line":"            for type in object container account; do"},{"line_number":531,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/${type}-server${node_number}\""}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FtTg%3D","line":528,"updated":"2013-06-24 20:51:21.000000000","message":"tail needs a sudo to read the log","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"cca5fdf7aa6f63b3f30ab8d9e555f3beecd4e0c0","unresolved":false,"context_lines":[{"line_number":525,"context_line":"        sleep 5"},{"line_number":526,"context_line":"        sudo apache2ctl start"},{"line_number":527,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest start"},{"line_number":528,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/proxy-server\""},{"line_number":529,"context_line":"        for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":530,"context_line":"            for type in object container account; do"},{"line_number":531,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/${type}-server${node_number}\""}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FsV4%3D","line":528,"in_reply_to":"AAAAPn%2F%2FtTg%3D","updated":"2013-06-25 09:34:33.000000000","message":"Done","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"c47d107a03316d988efbbb568900600fd1c07e34","unresolved":false,"context_lines":[{"line_number":528,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/proxy-server\""},{"line_number":529,"context_line":"        for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":530,"context_line":"            for type in object container account; do"},{"line_number":531,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/${type}-server${node_number}\""},{"line_number":532,"context_line":"            done"},{"line_number":533,"context_line":"        done"},{"line_number":534,"context_line":"        exit 0"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FtTY%3D","line":531,"updated":"2013-06-24 20:51:21.000000000","message":"tail needs a sudo to read the log","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"cca5fdf7aa6f63b3f30ab8d9e555f3beecd4e0c0","unresolved":false,"context_lines":[{"line_number":528,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/proxy-server\""},{"line_number":529,"context_line":"        for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":530,"context_line":"            for type in object container account; do"},{"line_number":531,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/${type}-server${node_number}\""},{"line_number":532,"context_line":"            done"},{"line_number":533,"context_line":"        done"},{"line_number":534,"context_line":"        exit 0"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FsWE%3D","line":531,"in_reply_to":"AAAAPn%2F%2FtTY%3D","updated":"2013-06-25 09:34:33.000000000","message":"Done","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"c47d107a03316d988efbbb568900600fd1c07e34","unresolved":false,"context_lines":[{"line_number":531,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/${type}-server${node_number}\""},{"line_number":532,"context_line":"            done"},{"line_number":533,"context_line":"        done"},{"line_number":534,"context_line":"        exit 0"},{"line_number":535,"context_line":"    fi"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"   # By default with only one replica we are launching the proxy,"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FtyA%3D","line":534,"updated":"2013-06-24 20:51:21.000000000","message":"I don\u0027t like bailing out of the function like this","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"cca5fdf7aa6f63b3f30ab8d9e555f3beecd4e0c0","unresolved":false,"context_lines":[{"line_number":531,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 tail -f /var/log/apache2/${type}-server${node_number}\""},{"line_number":532,"context_line":"            done"},{"line_number":533,"context_line":"        done"},{"line_number":534,"context_line":"        exit 0"},{"line_number":535,"context_line":"    fi"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"   # By default with only one replica we are launching the proxy,"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FsWI%3D","line":534,"in_reply_to":"AAAAPn%2F%2FtyA%3D","updated":"2013-06-25 09:34:33.000000000","message":"Done","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"c47d107a03316d988efbbb568900600fd1c07e34","unresolved":false,"context_lines":[{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    if is_apache_enabled_service swift; then"},{"line_number":563,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest stop"},{"line_number":564,"context_line":"        exit 0"},{"line_number":565,"context_line":"    fi"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"    # screen normally killed by unstack.sh"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2Ftvc%3D","line":564,"updated":"2013-06-24 20:51:21.000000000","message":"Again, don\u0027t bail out of the function like this","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"cca5fdf7aa6f63b3f30ab8d9e555f3beecd4e0c0","unresolved":false,"context_lines":[{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    if is_apache_enabled_service swift; then"},{"line_number":563,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest stop"},{"line_number":564,"context_line":"        exit 0"},{"line_number":565,"context_line":"    fi"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"    # screen normally killed by unstack.sh"}],"source_content_type":"text/x-swift","patch_set":4,"id":"AAAAPn%2F%2FsWA%3D","line":564,"in_reply_to":"AAAAPn%2F%2Ftvc%3D","updated":"2013-06-25 09:34:33.000000000","message":"Done","commit_id":"8675a3ccb2e6fea448c6f3de4b0f1421a3f5ce39"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"83e2e102f21c15cf7af767b03c577fba8eeb167f","unresolved":false,"context_lines":[{"line_number":108,"context_line":"# _cleanup_apache_wsgi() - Remove wsgi files, disable and remove apache vhost file"},{"line_number":109,"context_line":"function _cleanup_apache_wsgi() {"},{"line_number":110,"context_line":"    sudo rm -f /var/www/swift/*.wsgi"},{"line_number":111,"context_line":"    sudo a2dissite proxy-server"},{"line_number":112,"context_line":"    for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":113,"context_line":"        for type in object container account; do"},{"line_number":114,"context_line":"            site_name\u003d${type}-server-${node_number}"}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2FrFQ%3D","line":111,"updated":"2013-06-25 15:19:28.000000000","message":"The a2disXXX commands are not present in fedora","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"af37abcaa327cdc6e674a1917e2b7fbdd1a23cc1","unresolved":false,"context_lines":[{"line_number":108,"context_line":"# _cleanup_apache_wsgi() - Remove wsgi files, disable and remove apache vhost file"},{"line_number":109,"context_line":"function _cleanup_apache_wsgi() {"},{"line_number":110,"context_line":"    sudo rm -f /var/www/swift/*.wsgi"},{"line_number":111,"context_line":"    sudo a2dissite proxy-server"},{"line_number":112,"context_line":"    for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":113,"context_line":"        for type in object container account; do"},{"line_number":114,"context_line":"            site_name\u003d${type}-server-${node_number}"}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2FqtE%3D","line":111,"in_reply_to":"AAAAPn%2F%2FrFQ%3D","updated":"2013-06-25 16:45:51.000000000","message":"Done","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"83e2e102f21c15cf7af767b03c577fba8eeb167f","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        for type in object container account; do"},{"line_number":114,"context_line":"            site_name\u003d${type}-server-${node_number}"},{"line_number":115,"context_line":"            sudo a2dissite ${site_name}"},{"line_number":116,"context_line":"            sudo rm -f /etc/apache2/sites-available/${site_name}"},{"line_number":117,"context_line":"        done"},{"line_number":118,"context_line":"    done"},{"line_number":119,"context_line":"}"}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2FrFc%3D","line":116,"updated":"2013-06-25 15:19:28.000000000","message":"Need to use the APACHE_NAME, etc vars here","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"af37abcaa327cdc6e674a1917e2b7fbdd1a23cc1","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        for type in object container account; do"},{"line_number":114,"context_line":"            site_name\u003d${type}-server-${node_number}"},{"line_number":115,"context_line":"            sudo a2dissite ${site_name}"},{"line_number":116,"context_line":"            sudo rm -f /etc/apache2/sites-available/${site_name}"},{"line_number":117,"context_line":"        done"},{"line_number":118,"context_line":"    done"},{"line_number":119,"context_line":"}"}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2FqtI%3D","line":116,"in_reply_to":"AAAAPn%2F%2FrFc%3D","updated":"2013-06-25 16:45:51.000000000","message":"Done","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"83e2e102f21c15cf7af767b03c577fba8eeb167f","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        /^#/d;/^$/d;"},{"line_number":140,"context_line":"        s/%SERVICECONF%/proxy-server.conf/g;"},{"line_number":141,"context_line":"    \" -i ${swift_wsgi_dir}/proxy-server.wsgi"},{"line_number":142,"context_line":"    sudo a2ensite proxy-server"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    # copy apache vhost file and set name and port"},{"line_number":145,"context_line":"    for node_number in ${SWIFT_REPLICAS_SEQ}; do"}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2FrFg%3D","line":142,"updated":"2013-06-25 15:19:28.000000000","message":"These a2enXXX commands are not present in fedora","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"af37abcaa327cdc6e674a1917e2b7fbdd1a23cc1","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        /^#/d;/^$/d;"},{"line_number":140,"context_line":"        s/%SERVICECONF%/proxy-server.conf/g;"},{"line_number":141,"context_line":"    \" -i ${swift_wsgi_dir}/proxy-server.wsgi"},{"line_number":142,"context_line":"    sudo a2ensite proxy-server"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    # copy apache vhost file and set name and port"},{"line_number":145,"context_line":"    for node_number in ${SWIFT_REPLICAS_SEQ}; do"}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2FqtM%3D","line":142,"in_reply_to":"AAAAPn%2F%2FrFg%3D","updated":"2013-06-25 16:45:51.000000000","message":"Done","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"83e2e102f21c15cf7af767b03c577fba8eeb167f","unresolved":false,"context_lines":[{"line_number":500,"context_line":"    if is_apache_enabled_service swift; then"},{"line_number":501,"context_line":"        restart_apache_server"},{"line_number":502,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest start"},{"line_number":503,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 sudo tail -f /var/log/apache2/proxy-server\""},{"line_number":504,"context_line":"        for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":505,"context_line":"            for type in object container account; do"},{"line_number":506,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 sudo tail -f /var/log/apache2/${type}-server${node_number}\""}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2FrFE%3D","line":503,"updated":"2013-06-25 15:19:28.000000000","message":"Need to use APACHE_NAME here","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"af37abcaa327cdc6e674a1917e2b7fbdd1a23cc1","unresolved":false,"context_lines":[{"line_number":500,"context_line":"    if is_apache_enabled_service swift; then"},{"line_number":501,"context_line":"        restart_apache_server"},{"line_number":502,"context_line":"        swift-init --run-dir\u003d${SWIFT_DATA_DIR}/run rest start"},{"line_number":503,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 sudo tail -f /var/log/apache2/proxy-server\""},{"line_number":504,"context_line":"        for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":505,"context_line":"            for type in object container account; do"},{"line_number":506,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 sudo tail -f /var/log/apache2/${type}-server${node_number}\""}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2FqtQ%3D","line":503,"in_reply_to":"AAAAPn%2F%2FrFE%3D","updated":"2013-06-25 16:45:51.000000000","message":"Done","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"83e2e102f21c15cf7af767b03c577fba8eeb167f","unresolved":false,"context_lines":[{"line_number":503,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 sudo tail -f /var/log/apache2/proxy-server\""},{"line_number":504,"context_line":"        for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":505,"context_line":"            for type in object container account; do"},{"line_number":506,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 sudo tail -f /var/log/apache2/${type}-server${node_number}\""},{"line_number":507,"context_line":"            done"},{"line_number":508,"context_line":"        done"},{"line_number":509,"context_line":"        return 0"}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2FrFA%3D","line":506,"updated":"2013-06-25 15:19:28.000000000","message":"Need to use APACHE_NAME here","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"af37abcaa327cdc6e674a1917e2b7fbdd1a23cc1","unresolved":false,"context_lines":[{"line_number":503,"context_line":"        screen_it s-proxy \"cd $SWIFT_DIR \u0026\u0026 sudo tail -f /var/log/apache2/proxy-server\""},{"line_number":504,"context_line":"        for node_number in ${SWIFT_REPLICAS_SEQ}; do"},{"line_number":505,"context_line":"            for type in object container account; do"},{"line_number":506,"context_line":"                screen_it s-${type}${node_number} \"cd $SWIFT_DIR \u0026\u0026 sudo tail -f /var/log/apache2/${type}-server${node_number}\""},{"line_number":507,"context_line":"            done"},{"line_number":508,"context_line":"        done"},{"line_number":509,"context_line":"        return 0"}],"source_content_type":"text/x-swift","patch_set":5,"id":"AAAAPn%2F%2Fqso%3D","line":506,"in_reply_to":"AAAAPn%2F%2FrFA%3D","updated":"2013-06-25 16:45:51.000000000","message":"Done","commit_id":"dc909a6907705a978a3795849dacadbf4b20bf14"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"0dfe7900b4efef1d3eb3b6308adf9d974e524c81","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    change_apache_user_group ${STACK_USER}"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    # WSGI isn\u0027t enabled by default, enable it"},{"line_number":200,"context_line":"     ! is_fedora \u0026\u0026 sudo a2enmod wsgi"},{"line_number":201,"context_line":"}"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"# configure_swift() - Set config files, create data dirs and loop image"}],"source_content_type":"text/x-swift","patch_set":10,"id":"AAAAQn%2F%2Fntw%3D","line":200,"updated":"2013-07-26 11:24:45.000000000","message":"indent messed up?","commit_id":"3b9445ed1756812c9eb6ab3460b0adad10ab25eb"},{"author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"change_message_id":"214ca71db2b7e9c9afbb52b5225afeae78073d73","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    change_apache_user_group ${STACK_USER}"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    # WSGI isn\u0027t enabled by default, enable it"},{"line_number":200,"context_line":"     ! is_fedora \u0026\u0026 sudo a2enmod wsgi"},{"line_number":201,"context_line":"}"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"# configure_swift() - Set config files, create data dirs and loop image"}],"source_content_type":"text/x-swift","patch_set":10,"id":"AAAAQn%2F%2FkIg%3D","line":200,"in_reply_to":"AAAAQn%2F%2Fntw%3D","updated":"2013-07-29 03:12:29.000000000","message":"Done","commit_id":"3b9445ed1756812c9eb6ab3460b0adad10ab25eb"}]}
