)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"6c9eb58bde0bbe360ff2f76392ef5ce1fc63218d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7a740942_9960f5d0","updated":"2015-12-08 07:36:21.000000000","message":"Could you add: Implements: blueprint devstack-plugin","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"ebe0575b53f1d02a74344efec4fd95d60349da38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7a740942_841e48b9","in_reply_to":"7a740942_9960f5d0","updated":"2015-12-08 08:02:14.000000000","message":"Done","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"}],"devstack/README.rst":[{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"6c9eb58bde0bbe360ff2f76392ef5ce1fc63218d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Since deploying Watcher with only a single compute node is not very useful, a"},{"line_number":29,"context_line":"few recommendations are given for enabling a multi-node environment with live"},{"line_number":30,"context_line":"migration configured."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Configuring NFS Server"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_f91fb905","line":29,"updated":"2015-12-08 07:36:21.000000000","message":"I think you are presenting an example, right?","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"ebe0575b53f1d02a74344efec4fd95d60349da38","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Since deploying Watcher with only a single compute node is not very useful, a"},{"line_number":29,"context_line":"few recommendations are given for enabling a multi-node environment with live"},{"line_number":30,"context_line":"migration configured."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Configuring NFS Server"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_8475e8fa","line":29,"in_reply_to":"7a740942_f91fb905","updated":"2015-12-08 08:02:14.000000000","message":"?","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"6c9eb58bde0bbe360ff2f76392ef5ce1fc63218d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"Configuring NFS Server"},{"line_number":33,"context_line":"----------------------"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"An NFS server is required for live migration.  The controller can serve as the"},{"line_number":36,"context_line":"NFS server if needed::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    sudo apt-get install nfs-kernel-server"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_d94d1d3f","line":35,"updated":"2015-12-08 07:36:21.000000000","message":"I\u0027m afraid it\u0027s misleading that an NFS server is required for live migration.  You can use other shared storages, or even use block_migration without shared storage.","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"ebe0575b53f1d02a74344efec4fd95d60349da38","unresolved":false,"context_lines":[{"line_number":32,"context_line":"Configuring NFS Server"},{"line_number":33,"context_line":"----------------------"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"An NFS server is required for live migration.  The controller can serve as the"},{"line_number":36,"context_line":"NFS server if needed::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    sudo apt-get install nfs-kernel-server"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_44f06067","line":35,"in_reply_to":"7a740942_d94d1d3f","updated":"2015-12-08 08:02:14.000000000","message":"Done, reworded this a bit.","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"6c9eb58bde0bbe360ff2f76392ef5ce1fc63218d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"NFS server if needed::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    sudo apt-get install nfs-kernel-server"},{"line_number":39,"context_line":"    sudo mksir -p /nfs/instances"},{"line_number":40,"context_line":"    sudo chown stack:stack /nfs/instances"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Add an entry to `/etc/exports` with the appropriate gateway and netmask"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_195645ce","line":39,"updated":"2015-12-08 07:36:21.000000000","message":"s/mksir/mkdir/","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"ebe0575b53f1d02a74344efec4fd95d60349da38","unresolved":false,"context_lines":[{"line_number":36,"context_line":"NFS server if needed::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    sudo apt-get install nfs-kernel-server"},{"line_number":39,"context_line":"    sudo mksir -p /nfs/instances"},{"line_number":40,"context_line":"    sudo chown stack:stack /nfs/instances"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Add an entry to `/etc/exports` with the appropriate gateway and netmask"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_64f55c55","line":39,"in_reply_to":"7a740942_195645ce","updated":"2015-12-08 08:02:14.000000000","message":"Done","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"7d30ff77c9a2831137a4e2832e7b7edf497c861f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"DevStack Integration"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This directory contains the files necessary to integrate Watcher with DevStack"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_ca1afdc5","line":2,"updated":"2015-12-09 08:20:06.000000000","message":"Can you please add a link to your documentation in index.rst ?\nThanks","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":8,"context_line":".. _plugin_model_docs: http://docs.openstack.org/developer/devstack/plugins.html"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"To configure the Watcher services with DevStack, add the following to the"},{"line_number":11,"context_line":"`[[local|localrc]]` section of your controller\u0027s `local.conf` to enable the Watcher"},{"line_number":12,"context_line":"plugin::"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"     enable_plugin watcher git://git.openstack.org/openstack/watcher"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_a72ecaa2","line":11,"updated":"2015-12-08 16:15:32.000000000","message":"Can you please limit the line to 79 characters.","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"430fdeb2d89fd3d9616a9393c3c48f566c37ad04","unresolved":false,"context_lines":[{"line_number":8,"context_line":".. _plugin_model_docs: http://docs.openstack.org/developer/devstack/plugins.html"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"To configure the Watcher services with DevStack, add the following to the"},{"line_number":11,"context_line":"`[[local|localrc]]` section of your controller\u0027s `local.conf` to enable the Watcher"},{"line_number":12,"context_line":"plugin::"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"     enable_plugin watcher git://git.openstack.org/openstack/watcher"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_6ab989cb","line":11,"in_reply_to":"7a740942_a72ecaa2","updated":"2015-12-08 20:14:44.000000000","message":"Done","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"}],"devstack/lib/watcher":[{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"6c9eb58bde0bbe360ff2f76392ef5ce1fc63218d","unresolved":false,"context_lines":[{"line_number":29,"context_line":"# --------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Set up default directories"},{"line_number":32,"context_line":"WATCHER_REPO\u003d${WATCHER_REPO:-${GIT_BASE}/openstack/watcher.git}"},{"line_number":33,"context_line":"WATCHER_BRANCH\u003d${WATCHER_BRANCH:-master}"},{"line_number":34,"context_line":"WATCHER_DIR\u003d$DEST/watcher"},{"line_number":35,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"7a740942_84bc0807","line":32,"updated":"2015-12-08 07:36:21.000000000","message":"It\u0027s better to put these variables in file \u0027settings\u0027.","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"ebe0575b53f1d02a74344efec4fd95d60349da38","unresolved":false,"context_lines":[{"line_number":29,"context_line":"# --------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Set up default directories"},{"line_number":32,"context_line":"WATCHER_REPO\u003d${WATCHER_REPO:-${GIT_BASE}/openstack/watcher.git}"},{"line_number":33,"context_line":"WATCHER_BRANCH\u003d${WATCHER_BRANCH:-master}"},{"line_number":34,"context_line":"WATCHER_DIR\u003d$DEST/watcher"},{"line_number":35,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"7a740942_24475478","line":32,"in_reply_to":"7a740942_84bc0807","updated":"2015-12-08 08:02:14.000000000","message":"Sure, they could go there, but this follows what the devstack/lib/[nova,cinder,etc.] projects do.  I can move them if you think it\u0027s necessary.","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":74,"context_line":"# cleanup_watcher() - Remove residual data files, anything left over from previous"},{"line_number":75,"context_line":"# runs that a clean run would need to clean up"},{"line_number":76,"context_line":"function cleanup_watcher {"},{"line_number":77,"context_line":"    sudo rm -rf $WATCHER_STATE_PATH $WATCHER_AUTH_CACHE_DIR"},{"line_number":78,"context_line":"}"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# configure_watcher() - Set config files, create data dirs, etc"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_8432aca5","line":77,"updated":"2015-12-08 16:15:32.000000000","message":"Can you add a double quote to prevent globbing and word splitting ?","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5feecb53d351b35b41ecb3d8e3016f9d1b90baaa","unresolved":false,"context_lines":[{"line_number":74,"context_line":"# cleanup_watcher() - Remove residual data files, anything left over from previous"},{"line_number":75,"context_line":"# runs that a clean run would need to clean up"},{"line_number":76,"context_line":"function cleanup_watcher {"},{"line_number":77,"context_line":"    sudo rm -rf $WATCHER_STATE_PATH $WATCHER_AUTH_CACHE_DIR"},{"line_number":78,"context_line":"}"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# configure_watcher() - Set config files, create data dirs, etc"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_7550e50a","line":77,"in_reply_to":"7a740942_4a5ccd7c","updated":"2015-12-11 08:36:45.000000000","message":"If you take a look to devstack very often they have double quote.\nhttps://github.com/openstack-dev/devstack/blob/f95c9a960322df3cce1f4d98430f86a9654fc632/stack.sh#L317\n\nuser to set something incorrectly-\u003e Never trust the user :) \n\nhttps://github.com/koalaman/shellcheck/wiki/Sc2086","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"430fdeb2d89fd3d9616a9393c3c48f566c37ad04","unresolved":false,"context_lines":[{"line_number":74,"context_line":"# cleanup_watcher() - Remove residual data files, anything left over from previous"},{"line_number":75,"context_line":"# runs that a clean run would need to clean up"},{"line_number":76,"context_line":"function cleanup_watcher {"},{"line_number":77,"context_line":"    sudo rm -rf $WATCHER_STATE_PATH $WATCHER_AUTH_CACHE_DIR"},{"line_number":78,"context_line":"}"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# configure_watcher() - Set config files, create data dirs, etc"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_4a5ccd7c","line":77,"in_reply_to":"7a740942_8432aca5","updated":"2015-12-08 20:14:44.000000000","message":"Isn\u0027t there a ton of places that this could be said?  Seems like it\u0027s unnecessary as that would require the user to set something incorrectly.  There\u0027s also no indication that any of the other devstack code does this.","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    # Put config files in ``/etc/watcher`` for everyone to find"},{"line_number":83,"context_line":"    if [[  ! -d $WATCHER_CONF_DIR  ]]; then"},{"line_number":84,"context_line":"        sudo mkdir -p $WATCHER_CONF_DIR"},{"line_number":85,"context_line":"        sudo chown $STACK_USER $WATCHER_CONF_DIR"},{"line_number":86,"context_line":"    fi"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    install_default_policy watcher"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_041f9c08","line":85,"updated":"2015-12-08 16:15:32.000000000","message":"ditto","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    if [[ \"$KEYSTONE_CATALOG_BACKEND\" \u003d \u0027sql\u0027 ]]; then"},{"line_number":103,"context_line":"        local watcher_service\u003d$(get_or_create_service \"watcher\" \\"},{"line_number":104,"context_line":"            \"infra-optim\" \"Watcher Infrastructure Optimization Service\")"},{"line_number":105,"context_line":"        get_or_create_endpoint $watcher_service \\"},{"line_number":106,"context_line":"            \"$REGION_NAME\" \\"},{"line_number":107,"context_line":"            \"$WATCHER_SERVICE_PROTOCOL://$WATCHER_SERVICE_HOST:$WATCHER_SERVICE_PORT\" \\"},{"line_number":108,"context_line":"            \"$WATCHER_SERVICE_PROTOCOL://$WATCHER_SERVICE_HOST:$WATCHER_SERVICE_PORT\" \\"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_a49ec860","line":105,"updated":"2015-12-08 16:15:32.000000000","message":"ditto","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    iniset $WATCHER_CONF DEFAULT debug \"$ENABLE_DEBUG_LOG_LEVEL\""},{"line_number":119,"context_line":"    iniset $WATCHER_CONF DEFAULT control_exchange watcher"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    iniset $WATCHER_CONF database connection `database_connection_url watcher`"},{"line_number":122,"context_line":"    iniset $WATCHER_CONF api host \"$WATCHER_SERVICE_HOST\""},{"line_number":123,"context_line":"    iniset $WATCHER_CONF api port \"$WATCHER_SERVICE_PORT\""},{"line_number":124,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_e76b72b5","line":121,"updated":"2015-12-08 16:15:32.000000000","message":"Can you please use $(...) instead of legacy  `..`","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"430fdeb2d89fd3d9616a9393c3c48f566c37ad04","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    iniset $WATCHER_CONF DEFAULT debug \"$ENABLE_DEBUG_LOG_LEVEL\""},{"line_number":119,"context_line":"    iniset $WATCHER_CONF DEFAULT control_exchange watcher"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    iniset $WATCHER_CONF database connection `database_connection_url watcher`"},{"line_number":122,"context_line":"    iniset $WATCHER_CONF api host \"$WATCHER_SERVICE_HOST\""},{"line_number":123,"context_line":"    iniset $WATCHER_CONF api port \"$WATCHER_SERVICE_PORT\""},{"line_number":124,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_ed6b53b5","line":121,"in_reply_to":"7a740942_e76b72b5","updated":"2015-12-08 20:14:44.000000000","message":"Done","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    iniset $WATCHER_CONF oslo_policy policy_file $WATCHER_POLICY_JSON"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    iniset $WATCHER_CONF oslo_messaging_rabbit rabbit_userid $RABBIT_USERID"},{"line_number":128,"context_line":"    iniset $WATCHER_CONF oslo_messaging_rabbit rabbit_password $RABBIT_PASSWORD"},{"line_number":129,"context_line":"    iniset $WATCHER_CONF oslo_messaging_rabbit rabbit_host $RABBIT_HOST"},{"line_number":130,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_e47ff012","line":127,"updated":"2015-12-08 16:15:32.000000000","message":"ditto","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":187,"context_line":"function init_watcher {"},{"line_number":188,"context_line":"    # clean up from previous (possibly aborted) runs"},{"line_number":189,"context_line":"    # create required data files"},{"line_number":190,"context_line":"    if is_service_enabled $DATABASE_BACKENDS \u0026\u0026 is_service_enabled watcher-api; then"},{"line_number":191,"context_line":"        # (Re)create watcher database"},{"line_number":192,"context_line":"        recreate_database watcher"},{"line_number":193,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_c4be74ad","line":190,"updated":"2015-12-08 16:15:32.000000000","message":"ditto","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    # create required data files"},{"line_number":190,"context_line":"    if is_service_enabled $DATABASE_BACKENDS \u0026\u0026 is_service_enabled watcher-api; then"},{"line_number":191,"context_line":"        # (Re)create watcher database"},{"line_number":192,"context_line":"        recreate_database watcher"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Migrate watcher database"},{"line_number":195,"context_line":"        $WATCHER_BIN_DIR/watcher-db-manage --config-file $WATCHER_CONF upgrade"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_2443b86d","line":192,"updated":"2015-12-08 16:15:32.000000000","message":"Where is the function recreate_database ?","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"430fdeb2d89fd3d9616a9393c3c48f566c37ad04","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    # create required data files"},{"line_number":190,"context_line":"    if is_service_enabled $DATABASE_BACKENDS \u0026\u0026 is_service_enabled watcher-api; then"},{"line_number":191,"context_line":"        # (Re)create watcher database"},{"line_number":192,"context_line":"        recreate_database watcher"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Migrate watcher database"},{"line_number":195,"context_line":"        $WATCHER_BIN_DIR/watcher-db-manage --config-file $WATCHER_CONF upgrade"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_2df2bb06","line":192,"in_reply_to":"7a740942_2443b86d","updated":"2015-12-08 20:14:44.000000000","message":"https://github.com/openstack-dev/devstack/blob/f95c9a960322df3cce1f4d98430f86a9654fc632/lib/database#L111\n\nwhich ends up calling:\n\nhttps://github.com/openstack-dev/devstack/blob/f95c9a960322df3cce1f4d98430f86a9654fc632/lib/databases/mysql#L55","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5feecb53d351b35b41ecb3d8e3016f9d1b90baaa","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    # create required data files"},{"line_number":190,"context_line":"    if is_service_enabled $DATABASE_BACKENDS \u0026\u0026 is_service_enabled watcher-api; then"},{"line_number":191,"context_line":"        # (Re)create watcher database"},{"line_number":192,"context_line":"        recreate_database watcher"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Migrate watcher database"},{"line_number":195,"context_line":"        $WATCHER_BIN_DIR/watcher-db-manage --config-file $WATCHER_CONF upgrade"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_d541993a","line":192,"in_reply_to":"7a740942_2df2bb06","updated":"2015-12-11 08:36:45.000000000","message":"thanks","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        recreate_database watcher"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Migrate watcher database"},{"line_number":195,"context_line":"        $WATCHER_BIN_DIR/watcher-db-manage --config-file $WATCHER_CONF upgrade"},{"line_number":196,"context_line":"    fi"},{"line_number":197,"context_line":"    create_watcher_cache_dir"},{"line_number":198,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_24af387e","line":195,"updated":"2015-12-08 16:15:32.000000000","message":"Maybe we need to add a test to check if there is some revisions and then upgrade. \nWhat do you think ?","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"430fdeb2d89fd3d9616a9393c3c48f566c37ad04","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        recreate_database watcher"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Migrate watcher database"},{"line_number":195,"context_line":"        $WATCHER_BIN_DIR/watcher-db-manage --config-file $WATCHER_CONF upgrade"},{"line_number":196,"context_line":"    fi"},{"line_number":197,"context_line":"    create_watcher_cache_dir"},{"line_number":198,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_6d3443fb","line":195,"in_reply_to":"7a740942_24af387e","updated":"2015-12-08 20:14:44.000000000","message":"How about we just call `watcher-db-manage --config-file $WATCHER_CONF create_schema` instead?  The recreate_database drops the database if it exists, so we\u0027re starting from scratch anyways.  I tested this and it is working fine.","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5feecb53d351b35b41ecb3d8e3016f9d1b90baaa","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        recreate_database watcher"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Migrate watcher database"},{"line_number":195,"context_line":"        $WATCHER_BIN_DIR/watcher-db-manage --config-file $WATCHER_CONF upgrade"},{"line_number":196,"context_line":"    fi"},{"line_number":197,"context_line":"    create_watcher_cache_dir"},{"line_number":198,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7a740942_954b1159","line":195,"in_reply_to":"7a740942_6d3443fb","updated":"2015-12-11 08:36:45.000000000","message":"Yes good idea","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"WATCHER_BRANCH\u003d${WATCHER_BRANCH:-master}"},{"line_number":34,"context_line":"WATCHER_DIR\u003d$DEST/watcher"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"GITREPO[\"python-watcherclient\"]\u003d${WATCHERCLIENT_REPO:-${WATCHERCLIENT_REPO}/openstack/python-watcherclient.git}"},{"line_number":37,"context_line":"GITBRANCH[\"python-watcherclient\"]\u003d${WATCHERCLIENT_BRANCH:-master}"},{"line_number":38,"context_line":"GITDIR[\"python-watcherclient\"]\u003d$DEST/python-watcherclient"},{"line_number":39,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"7a740942_20b152e0","line":36,"updated":"2015-12-14 14:53:40.000000000","message":"The variable WATCHERCLIENT_REPO is not defined \u003d\u003e it generates an error during installation","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":33,"context_line":"WATCHER_BRANCH\u003d${WATCHER_BRANCH:-master}"},{"line_number":34,"context_line":"WATCHER_DIR\u003d$DEST/watcher"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"GITREPO[\"python-watcherclient\"]\u003d${WATCHERCLIENT_REPO:-${WATCHERCLIENT_REPO}/openstack/python-watcherclient.git}"},{"line_number":37,"context_line":"GITBRANCH[\"python-watcherclient\"]\u003d${WATCHERCLIENT_BRANCH:-master}"},{"line_number":38,"context_line":"GITDIR[\"python-watcherclient\"]\u003d$DEST/python-watcherclient"},{"line_number":39,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"7a740942_3458b430","line":36,"in_reply_to":"7a740942_20b152e0","updated":"2015-12-15 03:21:27.000000000","message":"Done - the second WATCHERCLIENT_REPO should be GIT_BASE.","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"f8d30b10512ba3cf14724672c4dec84ff42ca3e9","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        recreate_database watcher"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Migrate watcher database"},{"line_number":195,"context_line":"        $WATCHER_BIN_DIR/watcher-db-manage --config-file $WATCHER_CONF upgrade"},{"line_number":196,"context_line":"    fi"},{"line_number":197,"context_line":"    create_watcher_cache_dir"},{"line_number":198,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"5a710552_8b401258","line":195,"updated":"2015-12-15 14:49:32.000000000","message":"use create_schema option","commit_id":"4d1c3ae6daa6031fc464b0f0000e6d737e809114"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"9319fa8235fd6b54bad69b857cd4df1b9ed568f6","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        recreate_database watcher"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Migrate watcher database"},{"line_number":195,"context_line":"        $WATCHER_BIN_DIR/watcher-db-manage --config-file $WATCHER_CONF upgrade"},{"line_number":196,"context_line":"    fi"},{"line_number":197,"context_line":"    create_watcher_cache_dir"},{"line_number":198,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"5a710552_def1face","line":195,"in_reply_to":"5a710552_8b401258","updated":"2015-12-15 14:56:52.000000000","message":"Done - did this in PS4 locally but never included the change in the review.  Sorry about that.","commit_id":"4d1c3ae6daa6031fc464b0f0000e6d737e809114"}],"devstack/local.conf.compute":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"f76ebec4788f04e11266c21b15f093bf7acc027a","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"[[local|localrc]]"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"ADMIN_PASSWORD\u003dadminpassw0rd"},{"line_number":7,"context_line":"DATABASE_PASSWORD\u003ddbpassw0rd"},{"line_number":8,"context_line":"RABBIT_PASSWORD\u003drabbitpassw0rd"},{"line_number":9,"context_line":"SERVICE_PASSWORD\u003dservicepassw0rd"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_75f1c569","line":6,"updated":"2015-12-11 08:37:00.000000000","message":"Is there any reason to change the default devstack password?\nI think the user are used to : nomoresecret :)","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"[[local|localrc]]"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"ADMIN_PASSWORD\u003dadminpassw0rd"},{"line_number":7,"context_line":"DATABASE_PASSWORD\u003ddbpassw0rd"},{"line_number":8,"context_line":"RABBIT_PASSWORD\u003drabbitpassw0rd"},{"line_number":9,"context_line":"SERVICE_PASSWORD\u003dservicepassw0rd"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_d4fa9074","line":6,"in_reply_to":"7a740942_75f1c569","updated":"2015-12-15 03:21:27.000000000","message":"No reason.  Changed to match https://github.com/openstack-dev/devstack/blob/8bfcb723c6d59b5fc4b0b03763253bbfe9c0fabf/samples/local.conf","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"SERVICE_PASSWORD\u003dservicepassw0rd"},{"line_number":10,"context_line":"SERVICE_TOKEN\u003dservicetoken"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"HOST_IP\u003d192.168.42.2 # Change this to this compute node\u0027s IP address"},{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_5897c7eb","line":12,"updated":"2015-12-14 14:53:40.000000000","message":"This comment should be part of the RST file, as a procedure update instruction on the sample file","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":9,"context_line":"SERVICE_PASSWORD\u003dservicepassw0rd"},{"line_number":10,"context_line":"SERVICE_TOKEN\u003dservicetoken"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"HOST_IP\u003d192.168.42.2 # Change this to this compute node\u0027s IP address"},{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_2f105dff","line":12,"in_reply_to":"7a740942_5897c7eb","updated":"2015-12-15 03:21:27.000000000","message":"I don\u0027t really want to explicitly document default devstack things and would rather just provide example local.conf files with basic comments.  Otherwise we should probably be documenting every single option in this file.","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"HOST_IP\u003d192.168.42.2 # Change this to this compute node\u0027s IP address"},{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"},{"line_number":16,"context_line":"NETWORK_GATEWAY\u003d10.254.1.1 # Change this for your network"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"MULTI_HOST\u003d1"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_189dbf09","line":15,"updated":"2015-12-14 14:53:40.000000000","message":"This comment should be part of the RST file, as a procedure update instruction on the sample file","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":12,"context_line":"HOST_IP\u003d192.168.42.2 # Change this to this compute node\u0027s IP address"},{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"},{"line_number":16,"context_line":"NETWORK_GATEWAY\u003d10.254.1.1 # Change this for your network"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"MULTI_HOST\u003d1"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"5a710552_a769a38d","line":15,"in_reply_to":"7a740942_189dbf09","updated":"2015-12-15 03:21:27.000000000","message":"Ditto","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"},{"line_number":16,"context_line":"NETWORK_GATEWAY\u003d10.254.1.1 # Change this for your network"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"MULTI_HOST\u003d1"},{"line_number":19,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_9891aff3","line":16,"updated":"2015-12-14 14:53:40.000000000","message":"This comment should be part of the RST file, as a procedure update instruction on the sample file","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"},{"line_number":16,"context_line":"NETWORK_GATEWAY\u003d10.254.1.1 # Change this for your network"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"MULTI_HOST\u003d1"},{"line_number":19,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"5a710552_670adbd4","line":16,"in_reply_to":"7a740942_9891aff3","updated":"2015-12-15 03:21:27.000000000","message":"Ditto","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"MULTI_HOST\u003d1"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"SERVICE_HOST\u003d192.168.42.1 # Change this to the IP of your controller node"},{"line_number":21,"context_line":"MYSQL_HOST\u003d$SERVICE_HOST"},{"line_number":22,"context_line":"RABBIT_HOST\u003d$SERVICE_HOST"},{"line_number":23,"context_line":"GLANCE_HOSTPORT\u003d${SERVICE_HOST}:9292"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_18b4df7f","line":20,"updated":"2015-12-14 14:53:40.000000000","message":"This comment should be part of the RST file, as a procedure update instruction on the sample file","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"MULTI_HOST\u003d1"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"SERVICE_HOST\u003d192.168.42.1 # Change this to the IP of your controller node"},{"line_number":21,"context_line":"MYSQL_HOST\u003d$SERVICE_HOST"},{"line_number":22,"context_line":"RABBIT_HOST\u003d$SERVICE_HOST"},{"line_number":23,"context_line":"GLANCE_HOSTPORT\u003d${SERVICE_HOST}:9292"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"5a710552_070f57e2","line":20,"in_reply_to":"7a740942_18b4df7f","updated":"2015-12-15 03:21:27.000000000","message":"Ditto","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"}],"devstack/local.conf.controller":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"SERVICE_PASSWORD\u003dservicepassw0rd"},{"line_number":10,"context_line":"SERVICE_TOKEN\u003dservicetoken"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"HOST_IP\u003d192.168.42.1 # Change this to your controller node IP address"},{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_98c20f33","line":12,"updated":"2015-12-14 14:53:40.000000000","message":"This comment should be part of the RST file, as a procedure update instruction on the sample file","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":9,"context_line":"SERVICE_PASSWORD\u003dservicepassw0rd"},{"line_number":10,"context_line":"SERVICE_TOKEN\u003dservicetoken"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"HOST_IP\u003d192.168.42.1 # Change this to your controller node IP address"},{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"5a710552_c7f94fca","line":12,"in_reply_to":"7a740942_98c20f33","updated":"2015-12-15 03:21:27.000000000","message":"Ditto","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"HOST_IP\u003d192.168.42.1 # Change this to your controller node IP address"},{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"},{"line_number":16,"context_line":"NETWORK_GATEWAY\u003d10.254.1.1 # Change this for your network"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"MULTI_HOST\u003d1"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_b8bd8bb2","line":15,"updated":"2015-12-14 14:53:40.000000000","message":"idem","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"FLAT_INTERFACE\u003deth0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"FIXED_RANGE\u003d10.254.1.0/24 # Change this to whatever your network is"},{"line_number":16,"context_line":"NETWORK_GATEWAY\u003d10.254.1.1 # Change this for your network"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"MULTI_HOST\u003d1"},{"line_number":19,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a740942_78e2c3d6","line":16,"updated":"2015-12-14 14:53:40.000000000","message":"idem","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"}],"devstack/plugin.sh":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# watcher.sh - DevStack plugin script to install watcher"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Save trace setting"},{"line_number":4,"context_line":"_XTRACE_WATCHER_PLUGIN\u003d$(set +o | grep xtrace)"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a740942_ec0a7c89","line":1,"updated":"2015-12-08 16:15:32.000000000","message":"Can you please add a shebang ?","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"430fdeb2d89fd3d9616a9393c3c48f566c37ad04","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# watcher.sh - DevStack plugin script to install watcher"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Save trace setting"},{"line_number":4,"context_line":"_XTRACE_WATCHER_PLUGIN\u003d$(set +o | grep xtrace)"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a740942_3822fba3","line":1,"in_reply_to":"7a740942_ec0a7c89","updated":"2015-12-08 20:14:44.000000000","message":"Done","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Save trace setting"},{"line_number":4,"context_line":"_XTRACE_WATCHER_PLUGIN\u003d$(set +o | grep xtrace)"},{"line_number":5,"context_line":"set -o xtrace"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"echo_summary \"watcher\u0027s plugin.sh was called...\""},{"line_number":8,"context_line":"source $DEST/watcher/devstack/lib/watcher"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a740942_2cf7245a","line":5,"updated":"2015-12-08 16:15:32.000000000","message":"Where does the $DEST param come from ?","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"430fdeb2d89fd3d9616a9393c3c48f566c37ad04","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Save trace setting"},{"line_number":4,"context_line":"_XTRACE_WATCHER_PLUGIN\u003d$(set +o | grep xtrace)"},{"line_number":5,"context_line":"set -o xtrace"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"echo_summary \"watcher\u0027s plugin.sh was called...\""},{"line_number":8,"context_line":"source $DEST/watcher/devstack/lib/watcher"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a740942_78a163f7","line":5,"in_reply_to":"7a740942_2cf7245a","updated":"2015-12-08 20:14:44.000000000","message":"https://github.com/openstack-dev/devstack/blob/f95c9a960322df3cce1f4d98430f86a9654fc632/stack.sh#L317","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":5,"context_line":"set -o xtrace"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"echo_summary \"watcher\u0027s plugin.sh was called...\""},{"line_number":8,"context_line":"source $DEST/watcher/devstack/lib/watcher"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"# Show all of defined environment variables"},{"line_number":11,"context_line":"(set -o posix; set)"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a740942_8c597890","line":8,"updated":"2015-12-08 16:15:32.000000000","message":"Can you add a double quote to prevent globbing and word splitting ?","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# watcher.sh - DevStack plugin script to install watcher"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Save trace setting"},{"line_number":6,"context_line":"_XTRACE_WATCHER_PLUGIN\u003d$(set +o | grep xtrace)"}],"source_content_type":"text/x-sh","patch_set":7,"id":"7a740942_60bf5ad0","line":3,"updated":"2015-12-14 14:53:40.000000000","message":"check the name of the script","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# watcher.sh - DevStack plugin script to install watcher"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Save trace setting"},{"line_number":6,"context_line":"_XTRACE_WATCHER_PLUGIN\u003d$(set +o | grep xtrace)"}],"source_content_type":"text/x-sh","patch_set":7,"id":"7a740942_346e7400","line":3,"in_reply_to":"7a740942_60bf5ad0","updated":"2015-12-15 03:21:27.000000000","message":"Done","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"}],"devstack/settings":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":6,"context_line":"# Enable Watcher services"},{"line_number":7,"context_line":"enable_service watcher-api"},{"line_number":8,"context_line":"enable_service watcher-decision-engine"},{"line_number":9,"context_line":"enable_service watcher-applier"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a740942_e73db58f","line":9,"updated":"2015-12-08 16:15:32.000000000","message":"Do you think it\u0027s a good idea to enable logging in a file to help us to debug  ?\n\nLOGFILE\u003d$DEST/logs/stack.sh.log","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5feecb53d351b35b41ecb3d8e3016f9d1b90baaa","unresolved":false,"context_lines":[{"line_number":6,"context_line":"# Enable Watcher services"},{"line_number":7,"context_line":"enable_service watcher-api"},{"line_number":8,"context_line":"enable_service watcher-decision-engine"},{"line_number":9,"context_line":"enable_service watcher-applier"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a740942_554a8984","line":9,"in_reply_to":"7a740942_b8e10b2c","updated":"2015-12-11 08:36:45.000000000","message":"Okay","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"430fdeb2d89fd3d9616a9393c3c48f566c37ad04","unresolved":false,"context_lines":[{"line_number":6,"context_line":"# Enable Watcher services"},{"line_number":7,"context_line":"enable_service watcher-api"},{"line_number":8,"context_line":"enable_service watcher-decision-engine"},{"line_number":9,"context_line":"enable_service watcher-applier"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a740942_b8e10b2c","line":9,"in_reply_to":"7a740942_e73db58f","updated":"2015-12-08 20:14:44.000000000","message":"The watcher services do get logged using this setup via the LOGFILE defined in the example local.confs.","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"}],"doc/source/dev/devstack-plugin.rst":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7a740942_3af18801","updated":"2015-12-14 14:53:40.000000000","message":"It should be interesting to resume the context of this procedure. What type of devstack\u0027s resources watcher is able to optimize. Why we need to deploy devstack within a mutlinode configuration. How do watcher run ( interaction with nova, ceilomerter, ....)  ?  Add also some links for devstack\u0027s beginners ....\n\nMaybe, add a link to devstack quick start http://docs.openstack.org/developer/devstack/#quick-start\n\nMaybe, add a link to Multi-node configuration : http://docs.openstack.org/developer/devstack/guides/multinode-lab.html","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5a710552_874b4759","in_reply_to":"7a740942_3af18801","updated":"2015-12-15 03:21:27.000000000","message":"Added a brief introduction.","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"DevStack Plugin"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"You can set up the Watcher services quickly and easily using a Watcher"},{"line_number":6,"context_line":"DevStack plugin.  See `PluginModelDocs`_ for information on DevStack\u0027s plugin"},{"line_number":7,"context_line":"model."}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a740942_98b76f39","line":4,"updated":"2015-12-14 14:53:40.000000000","message":"Maybe introduce new elements added by this patchset (local.conf samples), and also the devstack configuration we want to build for watcher.","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"DevStack Plugin"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"You can set up the Watcher services quickly and easily using a Watcher"},{"line_number":6,"context_line":"DevStack plugin.  See `PluginModelDocs`_ for information on DevStack\u0027s plugin"},{"line_number":7,"context_line":"model."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5a710552_a75f630d","line":4,"in_reply_to":"7a740942_98b76f39","updated":"2015-12-15 03:21:27.000000000","message":"The only thing that is Watcher specific is the enable_plugin line, which is mentioned on line 15.","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":9,"context_line":".. _PluginModelDocs: http://docs.openstack.org/developer/devstack/plugins.html"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To configure the Watcher services with DevStack, add the following to the"},{"line_number":12,"context_line":"`[[local|localrc]]` section of your controller\u0027s `local.conf` to enable the"},{"line_number":13,"context_line":"Watcher plugin::"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    enable_plugin watcher git://git.openstack.org/openstack/watcher"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a740942_9853efe1","line":12,"updated":"2015-12-14 14:53:40.000000000","message":"controller\u0027s local.conf : is it local.conf.controller sample file mentioned below ?\nWhere create this file ?","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":9,"context_line":".. _PluginModelDocs: http://docs.openstack.org/developer/devstack/plugins.html"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To configure the Watcher services with DevStack, add the following to the"},{"line_number":12,"context_line":"`[[local|localrc]]` section of your controller\u0027s `local.conf` to enable the"},{"line_number":13,"context_line":"Watcher plugin::"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    enable_plugin watcher git://git.openstack.org/openstack/watcher"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5a710552_47e9df19","line":12,"in_reply_to":"7a740942_9853efe1","updated":"2015-12-15 03:21:27.000000000","message":"Yes, it is in the local.conf.controller sample file mentioned below.  It belongs in /opt/stack/devstack/.","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"It is recommended that you build off of the provided example local.conf files"},{"line_number":23,"context_line":"(`local.conf.controller`_, `local.conf.compute`_).  You\u0027ll likely want to"},{"line_number":24,"context_line":"configure something to obtain metrics, such as Ceilometer.  Ceilometer is used"},{"line_number":25,"context_line":"in the example local.conf files."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":".. _local.conf.controller: https://github.com/openstack/watcher/tree/master/devstack/local.conf.controller"},{"line_number":28,"context_line":".. _local.conf.compute: https://github.com/openstack/watcher/tree/master/devstack/local.conf.compute"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a740942_2d107b58","line":25,"updated":"2015-12-14 14:53:40.000000000","message":"Maybe move this part at the beginning of the chapter.","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":22,"context_line":"It is recommended that you build off of the provided example local.conf files"},{"line_number":23,"context_line":"(`local.conf.controller`_, `local.conf.compute`_).  You\u0027ll likely want to"},{"line_number":24,"context_line":"configure something to obtain metrics, such as Ceilometer.  Ceilometer is used"},{"line_number":25,"context_line":"in the example local.conf files."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":".. _local.conf.controller: https://github.com/openstack/watcher/tree/master/devstack/local.conf.controller"},{"line_number":28,"context_line":".. _local.conf.compute: https://github.com/openstack/watcher/tree/master/devstack/local.conf.compute"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5a710552_07caf7a1","line":25,"in_reply_to":"7a740942_2d107b58","updated":"2015-12-15 03:21:27.000000000","message":"Moved it further up.","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"bfce292c9ffc4f6428964d8b15746290d25c8a6e","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    sudo apt-get install nfs-kernel-server"},{"line_number":44,"context_line":"    sudo mkdir -p /nfs/instances"},{"line_number":45,"context_line":"    sudo chown stack:stack /nfs/instances"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Add an entry to `/etc/exports` with the appropriate gateway and netmask"},{"line_number":48,"context_line":"information::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a740942_dafc04b7","line":45,"updated":"2015-12-14 14:53:40.000000000","message":"How \u0027stack\u0027 user/group is created ? ( response:  devstack quick start procedure)","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"f814695bf5be61ac8b86941cad1a69b4a465a804","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    sudo apt-get install nfs-kernel-server"},{"line_number":44,"context_line":"    sudo mkdir -p /nfs/instances"},{"line_number":45,"context_line":"    sudo chown stack:stack /nfs/instances"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Add an entry to `/etc/exports` with the appropriate gateway and netmask"},{"line_number":48,"context_line":"information::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5a710552_0741970b","line":45,"in_reply_to":"7a740942_dafc04b7","updated":"2015-12-15 03:21:27.000000000","message":"Yes, part of the typical devstack setup.  I\u0027m not sure we want to be documenting those sorts of devstack basics.","commit_id":"e4a2803afce5c891f2950e6eb3edafdb0792dfb3"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"33357454288a2eabb34166440b80c91b98d898d2","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        Login as stack user"},{"line_number":105,"context_line":"            `ssh-keygen -t rsa` to generate a key"},{"line_number":106,"context_line":"            For each compute node to allow live migration between:"},{"line_number":107,"context_line":"                `ssh-copy-id stack@\u003cip\u003e` to put the stack user\u0027s public key"},{"line_number":108,"context_line":"                    in the remote stack user\u0027s authorized_keys file"},{"line_number":109,"context_line":"        `sudo su` to drop into root account"},{"line_number":110,"context_line":"            `ssh-keygen -t rsa` to generate a key"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a7e1126_9af33c9e","line":107,"updated":"2015-12-18 11:08:47.000000000","message":"ssh-copy-id can not work for stack user: this command asks for a password. But stack user is passwordless.","commit_id":"8c85bab84801e22d58e13f2c1867e7b7c5130738"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"33357454288a2eabb34166440b80c91b98d898d2","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    From each compute node:"},{"line_number":116,"context_line":"        Copy the stack user\u0027s ~/.ssh/authorized_keys file to"},{"line_number":117,"context_line":"            /root/.ssh/authorized_keys using sudo"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":".. _this bug: https://bugs.launchpad.net/devstack/+bug/1487262"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a7e1126_ba1cf8c1","line":118,"updated":"2015-12-18 11:08:47.000000000","message":"This is not clear. Maybe reformulate the aims and review the paragraph format.","commit_id":"8c85bab84801e22d58e13f2c1867e7b7c5130738"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"03328dc9e3b3cc2cb37de65dad02d555c124059d","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    From each compute node:"},{"line_number":116,"context_line":"        Copy the stack user\u0027s ~/.ssh/authorized_keys file to"},{"line_number":117,"context_line":"            /root/.ssh/authorized_keys using sudo"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":".. _this bug: https://bugs.launchpad.net/devstack/+bug/1487262"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa69d971_3906a986","line":118,"in_reply_to":"3a7e1126_ba1cf8c1","updated":"2016-01-05 22:58:38.000000000","message":"See https://bugs.launchpad.net/devstack/+bug/1487262/comments/10 for a more detailed explanation of what is going on here.  PS10 cleaned this up and it should be clearer.","commit_id":"8c85bab84801e22d58e13f2c1867e7b7c5130738"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"6f8e267008289cad2edfa3a439e973905acbc5d3","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    sudo apt-get install rpcbind nfs-common"},{"line_number":79,"context_line":"    mkdir -p /opt/stack/data/instances"},{"line_number":80,"context_line":"    sudo mount \u003cnfs-server-ip\u003e:/nfs/instances /opt/stack/data/instances"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Edit `/etc/libvirt/libvirtd.conf` to make sure the following values are set::"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    listen_tls \u003d 0"}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa69d971_9ff19997","line":81,"updated":"2016-01-06 15:50:41.000000000","message":"maybe, as root, add a new line into /etc/fstab file to be able to automatically mount this point on reboot: \n\u003cnfs-server-ip\u003e:/nfs/instances /opt/stack/data/instances nfs auto 0 0","commit_id":"8bdaff5c0900fce0a41ec640a4efb8ddbeb46ccd"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"04a27e5c923258c1ab485ea95998eb790f46c759","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    sudo apt-get install rpcbind nfs-common"},{"line_number":79,"context_line":"    mkdir -p /opt/stack/data/instances"},{"line_number":80,"context_line":"    sudo mount \u003cnfs-server-ip\u003e:/nfs/instances /opt/stack/data/instances"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Edit `/etc/libvirt/libvirtd.conf` to make sure the following values are set::"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    listen_tls \u003d 0"}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa69d971_3af7588c","line":81,"in_reply_to":"fa69d971_9ff19997","updated":"2016-01-06 16:06:32.000000000","message":"Done","commit_id":"8bdaff5c0900fce0a41ec640a4efb8ddbeb46ccd"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"6f8e267008289cad2edfa3a439e973905acbc5d3","unresolved":false,"context_lines":[{"line_number":103,"context_line":"1. The SOURCE root user\u0027s public RSA key (likely in /root/.ssh/id_rsa.pub)"},{"line_number":104,"context_line":"   needs to be in the DESTINATION stack user\u0027s authorized_keys file"},{"line_number":105,"context_line":"   (~stack/.ssh/authorized_keys).  This can be accomplished by manually"},{"line_number":106,"context_line":"   copying the contents from the file on the SOURCE to the DESTINATION."},{"line_number":107,"context_line":"2. The DESTINATION host\u0027s public ECDSA key (/etc/ssh/ssh_host_ecdsa_key.pub)"},{"line_number":108,"context_line":"   needs to be in the SOURCE root user\u0027s known_hosts file"},{"line_number":109,"context_line":"   (/root/.ssh/known_hosts).  This can be accomplished by running the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa69d971_fa454042","line":106,"updated":"2016-01-06 15:50:41.000000000","message":"You can add also:\n\nThis can be accomplished by running \n   following on the SOURCE machine (hostname must be used):\n       ssh-copy-id -i /root/.ssh/id_rsa.pub stack@DESTINATION","commit_id":"8bdaff5c0900fce0a41ec640a4efb8ddbeb46ccd"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"04a27e5c923258c1ab485ea95998eb790f46c759","unresolved":false,"context_lines":[{"line_number":103,"context_line":"1. The SOURCE root user\u0027s public RSA key (likely in /root/.ssh/id_rsa.pub)"},{"line_number":104,"context_line":"   needs to be in the DESTINATION stack user\u0027s authorized_keys file"},{"line_number":105,"context_line":"   (~stack/.ssh/authorized_keys).  This can be accomplished by manually"},{"line_number":106,"context_line":"   copying the contents from the file on the SOURCE to the DESTINATION."},{"line_number":107,"context_line":"2. The DESTINATION host\u0027s public ECDSA key (/etc/ssh/ssh_host_ecdsa_key.pub)"},{"line_number":108,"context_line":"   needs to be in the SOURCE root user\u0027s known_hosts file"},{"line_number":109,"context_line":"   (/root/.ssh/known_hosts).  This can be accomplished by running the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa69d971_ba9b4817","line":106,"in_reply_to":"fa69d971_fa454042","updated":"2016-01-06 16:06:32.000000000","message":"Done","commit_id":"8bdaff5c0900fce0a41ec640a4efb8ddbeb46ccd"}],"watcher/db/sqlalchemy/alembic/versions/414bf1d36e7d_initial_revision.py":[{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"6c9eb58bde0bbe360ff2f76392ef5ce1fc63218d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7a740942_c498d0c2","updated":"2015-12-08 07:36:21.000000000","message":"Why do we need this file here? Thanks.","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"ebe0575b53f1d02a74344efec4fd95d60349da38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7a740942_bfb11149","in_reply_to":"7a740942_c498d0c2","updated":"2015-12-08 08:02:14.000000000","message":"alembic is a library that makes database migration easier between versions.  The DevStack plugin calls `watcher-db-manage upgrade` to create the DB tables, which ends up calling into this.  However, it doesn\u0027t look like this code had been used in the past due to the missing import and missing fields.\n\nLine 18 mentions that this file was automatically generated, but I\u0027m not sure how that was being / is being done going forward.  Might need to look into how alembic works and get some insight from the b-com team.\n\nIt might turn out that I should be creating a new alembic revision file that is \"down\" from this one?","commit_id":"989cf88720c1d683311da76271e911b651f42eaa"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"455982f2062303554a7bbf2a0d61d486c6d3ff23","unresolved":false,"context_lines":[{"line_number":10,"context_line":"revision \u003d \u0027414bf1d36e7d\u0027"},{"line_number":11,"context_line":"down_revision \u003d None"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from alembic import op"},{"line_number":14,"context_line":"import sqlalchemy as sa"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from watcher.db.sqlalchemy import models"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_6429c089","line":13,"updated":"2015-12-08 16:15:32.000000000","message":"I think we need to remove this file, because we have only one version of the schema of watcher db.","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"430fdeb2d89fd3d9616a9393c3c48f566c37ad04","unresolved":false,"context_lines":[{"line_number":10,"context_line":"revision \u003d \u0027414bf1d36e7d\u0027"},{"line_number":11,"context_line":"down_revision \u003d None"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from alembic import op"},{"line_number":14,"context_line":"import sqlalchemy as sa"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from watcher.db.sqlalchemy import models"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_586107a8","line":13,"in_reply_to":"7a740942_6429c089","updated":"2015-12-08 20:14:44.000000000","message":"Sure, let\u0027s talk about this over IRC since it\u0027s tangential to the devstack work.  I went ahead and removed the changes here since we cna use create_schema instead of upgrade, which avoids this code path.","commit_id":"b2afbfe47814568c8bd6fb1ba7316507f84b7e0a"}]}
