)]}'
{"exercises/trove.sh":[{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"2c757dc4662ca057049989ac98ae66100d1847ad","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"is_service_enabled trove || exit 55"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# can we get a list versions "},{"line_number":39,"context_line":"curl http://$SERVICE_HOST:8779/ 2\u003e/dev/null | grep -q \u0027versions\u0027 || die $LINENO \"Trove API not functioning!\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"set +o xtrace"}],"source_content_type":"text/x-sh","patch_set":23,"id":"AAAASn%2F%2FHZA%3D","line":38,"updated":"2013-09-11 18:36:37.000000000","message":"OMG a space -1 for me","commit_id":"1395d2c9bab01ddbb8e62cf6145f24ef536cf995"}],"files/apts/trove":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"40f705d363510b61feb27d41fd13f1e3d7b2dda0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"libxslt1-dev"},{"line_number":2,"context_line":"python-pexpect"}],"source_content_type":"application/octet-stream","patch_set":10,"id":"AAAASX%2F%2F9Ac%3D","line":2,"updated":"2013-08-23 09:04:00.000000000","message":"Let python-pexpect be installed by pip, by default.","commit_id":"c8fefa9a70e9897881477d6a966add37852207de"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"libxslt1-dev"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXPc%3D","line":1,"updated":"2013-09-05 17:07:09.000000000","message":"If this is only required for testing, please add the new \u0027testonly\u0027 tag to it:\n\n libxslt1-dev   # testonly\n\nSame with the other two prereq files.","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"libxslt1-dev"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXLA%3D","line":1,"in_reply_to":"AAAASn%2F%2FXPc%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"}],"files/keystone_data.sh":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b4da0a4f809a0c8f661f16f85c0ff9100b7736ea","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    fi"},{"line_number":99,"context_line":"fi"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# Trove"},{"line_number":102,"context_line":"if [[ \"$ENABLED_SERVICES\" \u003d~ \"trove\" ]]; then"},{"line_number":103,"context_line":"    TROVE_USER\u003d$(get_id keystone user-create --name\u003dtrove \\"},{"line_number":104,"context_line":"                                              --pass\u003d\"$SERVICE_PASSWORD\" \\"}],"source_content_type":"text/x-sh","patch_set":21,"id":"AAAASn%2F%2FHwU%3D","line":101,"updated":"2013-09-11 16:59:40.000000000","message":"This bit should stay in lib/trove...look at nova or cinder create_XXXX_accounts() for examples.","commit_id":"7c9759ce46d6c88a95fbf6d3c7ad0dcc9d96bf70"}],"lib/trove":[{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"3732c2c41044db6bc8726f359a6b3ffa4d7e6b5c","unresolved":false,"context_lines":[{"line_number":188,"context_line":"}"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"###############################################################################"},{"line_number":191,"context_line":"# Adding new flavours to nova and related functions"},{"line_number":192,"context_line":"###############################################################################"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"function add_flavor() {"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAQn%2F%2Fv9U%3D","line":191,"updated":"2013-07-23 22:30:11.000000000","message":"im not sure we should be adding new flavors here. id assume our tests that use these should do that.","commit_id":"216a7d5b8001457ddccd747be38f8cef030a048b"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"9ca277ac9d3a42e7fad33c09d731997e9b0e3608","unresolved":false,"context_lines":[{"line_number":188,"context_line":"}"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"###############################################################################"},{"line_number":191,"context_line":"# Adding new flavours to nova and related functions"},{"line_number":192,"context_line":"###############################################################################"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"function add_flavor() {"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAQn%2F%2FvvQ%3D","line":191,"in_reply_to":"AAAAQn%2F%2Fv9U%3D","updated":"2013-07-24 00:05:44.000000000","message":"Good point. Let me separate this out so that this is happening as part of the test code and not in the devstack piece.","commit_id":"216a7d5b8001457ddccd747be38f8cef030a048b"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"87692ffd2905274b4f783cab31e7ad7975443549","unresolved":false,"context_lines":[{"line_number":53,"context_line":"###############################################################################"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"function trove_manage() {"},{"line_number":56,"context_line":"    cd $TROVE_DIR"},{"line_number":57,"context_line":"    bin/trove-manage --config-file\u003d$TROVE_CONF_DIR/trove.conf $@"},{"line_number":58,"context_line":"}"},{"line_number":59,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQn%2F%2FD7c%3D","line":56,"updated":"2013-08-07 18:40:30.000000000","message":"id prefer to see pushd/popd","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"3ea3279a13e88873127210745c914aef2cc477e7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"###############################################################################"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"function trove_manage() {"},{"line_number":56,"context_line":"    cd $TROVE_DIR"},{"line_number":57,"context_line":"    bin/trove-manage --config-file\u003d$TROVE_CONF_DIR/trove.conf $@"},{"line_number":58,"context_line":"}"},{"line_number":59,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQ3%2F%2F8Yw%3D","line":56,"in_reply_to":"AAAAQn%2F%2FD7c%3D","updated":"2013-08-12 17:41:49.000000000","message":"Section is now removed.","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"de58f130b1142cbdc1086a85f39ebcde814dbe68","unresolved":false,"context_lines":[{"line_number":153,"context_line":"function fix_tr_configfiles() {"},{"line_number":154,"context_line":"    # Create the trove conf dir and cache dirs if they don\u0027t exist"},{"line_number":155,"context_line":"    sudo mkdir -p ${TROVE_CONF_DIR}"},{"line_number":156,"context_line":"    sudo mkdir -p ${TROVE_AUTH_CACHE_DIR}"},{"line_number":157,"context_line":"    sudo chown -R $USER: ${TROVE_CONF_DIR}"},{"line_number":158,"context_line":"    sudo chown -R $USER: ${TROVE_AUTH_CACHE_DIR}"},{"line_number":159,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQn%2F%2FD58%3D","line":156,"updated":"2013-08-07 18:52:25.000000000","message":"the mkdirs are typically in the init_*() functions, but are harmless here if fix_tr_configfiles() is called more than once","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"3ea3279a13e88873127210745c914aef2cc477e7","unresolved":false,"context_lines":[{"line_number":153,"context_line":"function fix_tr_configfiles() {"},{"line_number":154,"context_line":"    # Create the trove conf dir and cache dirs if they don\u0027t exist"},{"line_number":155,"context_line":"    sudo mkdir -p ${TROVE_CONF_DIR}"},{"line_number":156,"context_line":"    sudo mkdir -p ${TROVE_AUTH_CACHE_DIR}"},{"line_number":157,"context_line":"    sudo chown -R $USER: ${TROVE_CONF_DIR}"},{"line_number":158,"context_line":"    sudo chown -R $USER: ${TROVE_AUTH_CACHE_DIR}"},{"line_number":159,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQ3%2F%2F8cw%3D","line":156,"in_reply_to":"AAAAQn%2F%2FD58%3D","updated":"2013-08-12 17:41:49.000000000","message":"Done","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"de58f130b1142cbdc1086a85f39ebcde814dbe68","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    sudo mkdir -p ${TROVE_CONF_DIR}"},{"line_number":156,"context_line":"    sudo mkdir -p ${TROVE_AUTH_CACHE_DIR}"},{"line_number":157,"context_line":"    sudo chown -R $USER: ${TROVE_CONF_DIR}"},{"line_number":158,"context_line":"    sudo chown -R $USER: ${TROVE_AUTH_CACHE_DIR}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    # Copy conf files over to the trove conf dir"},{"line_number":161,"context_line":"    cd $TROVE_DIR"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQn%2F%2FD6Q%3D","line":158,"updated":"2013-08-07 18:52:25.000000000","message":"use $STACK_USER here","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"3ea3279a13e88873127210745c914aef2cc477e7","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    sudo mkdir -p ${TROVE_CONF_DIR}"},{"line_number":156,"context_line":"    sudo mkdir -p ${TROVE_AUTH_CACHE_DIR}"},{"line_number":157,"context_line":"    sudo chown -R $USER: ${TROVE_CONF_DIR}"},{"line_number":158,"context_line":"    sudo chown -R $USER: ${TROVE_AUTH_CACHE_DIR}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    # Copy conf files over to the trove conf dir"},{"line_number":161,"context_line":"    cd $TROVE_DIR"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQ3%2F%2F8cg%3D","line":158,"in_reply_to":"AAAAQn%2F%2FD6Q%3D","updated":"2013-08-12 17:41:49.000000000","message":"Done","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"87692ffd2905274b4f783cab31e7ad7975443549","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    sudo chown -R $USER: ${TROVE_AUTH_CACHE_DIR}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    # Copy conf files over to the trove conf dir"},{"line_number":161,"context_line":"    cd $TROVE_DIR"},{"line_number":162,"context_line":"    cp etc/trove/trove.conf.sample $TROVE_CONF_DIR/trove.conf"},{"line_number":163,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":164,"context_line":"    cp etc/trove/trove-taskmanager.conf.sample $TROVE_CONF_DIR/trove-taskmanager.conf"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQn%2F%2FD7Q%3D","line":161,"updated":"2013-08-07 18:40:30.000000000","message":"pushd","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"3ea3279a13e88873127210745c914aef2cc477e7","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    sudo chown -R $USER: ${TROVE_AUTH_CACHE_DIR}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    # Copy conf files over to the trove conf dir"},{"line_number":161,"context_line":"    cd $TROVE_DIR"},{"line_number":162,"context_line":"    cp etc/trove/trove.conf.sample $TROVE_CONF_DIR/trove.conf"},{"line_number":163,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":164,"context_line":"    cp etc/trove/trove-taskmanager.conf.sample $TROVE_CONF_DIR/trove-taskmanager.conf"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQ3%2F%2F8cU%3D","line":161,"in_reply_to":"AAAAQn%2F%2FD7Q%3D","updated":"2013-08-12 17:41:49.000000000","message":"Done","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"87692ffd2905274b4f783cab31e7ad7975443549","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT rabbit_password $RABBIT_PASSWORD"},{"line_number":177,"context_line":"    iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT sql_connection `database_connection_url trove`"},{"line_number":178,"context_line":"    sed -i \"s/localhost/$NETWORK_GATEWAY/g\" $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample"},{"line_number":179,"context_line":"}"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"###############################################################################"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQn%2F%2FD7M%3D","line":178,"updated":"2013-08-07 18:40:30.000000000","message":"do we need this now that we dont have the apt repo?","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"3ea3279a13e88873127210745c914aef2cc477e7","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT rabbit_password $RABBIT_PASSWORD"},{"line_number":177,"context_line":"    iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT sql_connection `database_connection_url trove`"},{"line_number":178,"context_line":"    sed -i \"s/localhost/$NETWORK_GATEWAY/g\" $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample"},{"line_number":179,"context_line":"}"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"###############################################################################"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQ3%2F%2F8b8%3D","line":178,"in_reply_to":"AAAAQn%2F%2FD7M%3D","updated":"2013-08-12 17:41:49.000000000","message":"Yes, we should still use this. This is for the guest.conf, and  I\u0027d prefer to use the actual host IP rather than localhost here.","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"de58f130b1142cbdc1086a85f39ebcde814dbe68","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"# configure_trove() - Set config files, create data dirs, etc"},{"line_number":198,"context_line":"function configure_trove() {"},{"line_number":199,"context_line":"    install_package libxslt1-dev python-pexpect"},{"line_number":200,"context_line":"    setup_develop $TROVE_DIR"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    # Create the trove build dir if it doesn\u0027t exist"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQn%2F%2FD7I%3D","line":199,"updated":"2013-08-07 18:52:25.000000000","message":"I\u0027d prefer to see this in install_trove(), or better yet, list them in files/{apts|rpms|rpms-suse}/trove and they\u0027ll be installed by tools/install_prereqs.sh","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"3ea3279a13e88873127210745c914aef2cc477e7","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"# configure_trove() - Set config files, create data dirs, etc"},{"line_number":198,"context_line":"function configure_trove() {"},{"line_number":199,"context_line":"    install_package libxslt1-dev python-pexpect"},{"line_number":200,"context_line":"    setup_develop $TROVE_DIR"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    # Create the trove build dir if it doesn\u0027t exist"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQ3%2F%2F8bc%3D","line":199,"in_reply_to":"AAAAQn%2F%2FD7I%3D","updated":"2013-08-12 17:41:49.000000000","message":"Done","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"de58f130b1142cbdc1086a85f39ebcde814dbe68","unresolved":false,"context_lines":[{"line_number":224,"context_line":"    trove_configure_keystone"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    #Fix trove configuration files"},{"line_number":227,"context_line":"    fix_tr_configfiles"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    #Initialize the trove database"},{"line_number":230,"context_line":"    trove_manage db_sync"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQn%2F%2FD6k%3D","line":227,"updated":"2013-08-07 18:52:25.000000000","message":"unless the order here is important, I\u0027d prefer the configuration happen in configure_trove().","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"3ea3279a13e88873127210745c914aef2cc477e7","unresolved":false,"context_lines":[{"line_number":224,"context_line":"    trove_configure_keystone"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    #Fix trove configuration files"},{"line_number":227,"context_line":"    fix_tr_configfiles"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    #Initialize the trove database"},{"line_number":230,"context_line":"    trove_manage db_sync"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQ3%2F%2F8ZA%3D","line":227,"in_reply_to":"AAAAQn%2F%2FD6k%3D","updated":"2013-08-12 17:41:49.000000000","message":"Done","commit_id":"897a3444006515f46bdd7cb60bdd9a3cbcd3e23f"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"876b10249df7d8b02ebceea84ddb19a64183743f","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    fix_tr_configfiles"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    #Initialize the trove database"},{"line_number":221,"context_line":"    $TROVE_DIR/bin/trove-manage --config-file\u003d$TROVE_CONF_DIR/trove.conf db_sync"},{"line_number":222,"context_line":"}"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"# start_trove() - Start running processes, including screen"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAQ3%2F%2F%2FOg%3D","line":221,"updated":"2013-08-11 19:01:14.000000000","message":"So we cant do a trove-manage db_sync w/o specifying teh trove.conf? If thats the case 1) we arent putting it in the right place in devstack or 2) we have a bug in our manage script!","commit_id":"6fcabf316a6fe067e8d259bd7fecec1f159c85b1"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"61833b4ba426e6a32006ec7e96f1cbc91074d9a3","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    fix_tr_configfiles"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    #Initialize the trove database"},{"line_number":221,"context_line":"    $TROVE_DIR/bin/trove-manage --config-file\u003d$TROVE_CONF_DIR/trove.conf db_sync"},{"line_number":222,"context_line":"}"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"# start_trove() - Start running processes, including screen"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAQ3%2F%2F8YQ%3D","line":221,"in_reply_to":"AAAAQ3%2F%2F%2FOg%3D","updated":"2013-08-12 17:43:09.000000000","message":"Didn\u0027t want to take it out since I hadn\u0027t tested it yet. Gonna test to make sure it\u0027s okay, and take it out. Thanks!","commit_id":"6fcabf316a6fe067e8d259bd7fecec1f159c85b1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"ef71b4cf0da08e16a48eb092e411e77476544866","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"NETWORK_GATEWAY\u003d${NETWORK_GATEWAY:-10.0.0.1}"},{"line_number":23,"context_line":"OS_USER\u003d${OS_USER:-admin}"},{"line_number":24,"context_line":"OS_TENANT\u003d${OS_TENANT:-admin}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Set up default configuration"},{"line_number":27,"context_line":"TROVE_DIR\u003d$DEST/trove/"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAASn%2F%2F324%3D","line":24,"updated":"2013-08-28 18:45:33.000000000","message":"What are OS_USER and OS_TENANT used for?","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"a8d153d5681fd1650e1482cc7d42c9f33b6838cb","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"NETWORK_GATEWAY\u003d${NETWORK_GATEWAY:-10.0.0.1}"},{"line_number":23,"context_line":"OS_USER\u003d${OS_USER:-admin}"},{"line_number":24,"context_line":"OS_TENANT\u003d${OS_TENANT:-admin}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Set up default configuration"},{"line_number":27,"context_line":"TROVE_DIR\u003d$DEST/trove/"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAASn%2F%2Fij4%3D","line":24,"in_reply_to":"AAAASn%2F%2F324%3D","updated":"2013-09-03 20:42:50.000000000","message":"Good catch; these are remnants from a previous refactoring that should be cleaned up.","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"ef71b4cf0da08e16a48eb092e411e77476544866","unresolved":false,"context_lines":[{"line_number":26,"context_line":"# Set up default configuration"},{"line_number":27,"context_line":"TROVE_DIR\u003d$DEST/trove/"},{"line_number":28,"context_line":"TROVECLIENT_DIR\u003d$DEST/python-troveclient/"},{"line_number":29,"context_line":"TROVE_PACKAGES_DIR\u003d/var/lib/packages/debian/"},{"line_number":30,"context_line":"TROVE_BUILD_DIR\u003d/tmp/build/"},{"line_number":31,"context_line":"TROVE_INTEGRATION_CONF_DIR\u003d/tmp/trove-integration/"},{"line_number":32,"context_line":"TROVE_ENV_CONF_PATH\u003d$TROVE_INTEGRATION_CONF_DIR/env.rc"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAASn%2F%2F3rM%3D","line":29,"updated":"2013-08-28 18:45:33.000000000","message":"Is Trove Debian/Ubuntu only?  If so there should be a test somewhere...","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"a8d153d5681fd1650e1482cc7d42c9f33b6838cb","unresolved":false,"context_lines":[{"line_number":26,"context_line":"# Set up default configuration"},{"line_number":27,"context_line":"TROVE_DIR\u003d$DEST/trove/"},{"line_number":28,"context_line":"TROVECLIENT_DIR\u003d$DEST/python-troveclient/"},{"line_number":29,"context_line":"TROVE_PACKAGES_DIR\u003d/var/lib/packages/debian/"},{"line_number":30,"context_line":"TROVE_BUILD_DIR\u003d/tmp/build/"},{"line_number":31,"context_line":"TROVE_INTEGRATION_CONF_DIR\u003d/tmp/trove-integration/"},{"line_number":32,"context_line":"TROVE_ENV_CONF_PATH\u003d$TROVE_INTEGRATION_CONF_DIR/env.rc"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAASn%2F%2Fijo%3D","line":29,"in_reply_to":"AAAASn%2F%2F3rM%3D","updated":"2013-09-03 20:42:50.000000000","message":"Nope, we did some recent work on Trove to make it work across distros. (specifically for Fedora) \nWe don\u0027t use this anymore and it can be removed.","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"ef71b4cf0da08e16a48eb092e411e77476544866","unresolved":false,"context_lines":[{"line_number":45,"context_line":"if [ -d $TROVE_DIR/bin ] ; then"},{"line_number":46,"context_line":"    TROVE_BIN_DIR\u003d$TROVE_DIR/bin"},{"line_number":47,"context_line":"else"},{"line_number":48,"context_line":"    TROVE_BIN_DIR\u003d/usr/local/bin"},{"line_number":49,"context_line":"fi"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"###############################################################################"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAASn%2F%2F3sk%3D","line":48,"updated":"2013-08-28 18:45:33.000000000","message":"You only need this line (/usr/local/bin), the conditional and if-branch was to support the transition to using entry-points.  We need to get that out of the other projects.","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"a8d153d5681fd1650e1482cc7d42c9f33b6838cb","unresolved":false,"context_lines":[{"line_number":45,"context_line":"if [ -d $TROVE_DIR/bin ] ; then"},{"line_number":46,"context_line":"    TROVE_BIN_DIR\u003d$TROVE_DIR/bin"},{"line_number":47,"context_line":"else"},{"line_number":48,"context_line":"    TROVE_BIN_DIR\u003d/usr/local/bin"},{"line_number":49,"context_line":"fi"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"###############################################################################"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAASn%2F%2FijM%3D","line":48,"in_reply_to":"AAAASn%2F%2F3sk%3D","updated":"2013-09-03 20:42:50.000000000","message":"Done","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"91b2ab6944e53f0564801811e45bb766c1c36b4f","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    fi"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    # Set up essential users and roles"},{"line_number":102,"context_line":"    TROVE_USER\u003d$(trove_add_keystone_user trove TROVE-PASS trove@example.com $TROVE_TENANT)"},{"line_number":103,"context_line":"    trove_create_keystone_user_role $TROVE_TENANT $TROVE_USER $TROVE_ROLE"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    RADMIN_USER\u003d$(trove_add_keystone_user radmin radmin radmin@example.com $TROVE_TENANT)"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"AAAASn%2F%2Fedw%3D","line":102,"updated":"2013-09-04 11:31:21.000000000","message":"I don\u0027t like that these passwords and users are hard coded, they should be variables that are user overridable.","commit_id":"8405b8f175ffcd820695c18b030f0f93b2ca0ffb"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1110f01a7ca43ae1158206fde97e4f236050e1a6","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    fi"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    # Set up essential users and roles"},{"line_number":102,"context_line":"    TROVE_USER\u003d$(trove_add_keystone_user trove TROVE-PASS trove@example.com $TROVE_TENANT)"},{"line_number":103,"context_line":"    trove_create_keystone_user_role $TROVE_TENANT $TROVE_USER $TROVE_ROLE"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    RADMIN_USER\u003d$(trove_add_keystone_user radmin radmin radmin@example.com $TROVE_TENANT)"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"AAAASn%2F%2FZGQ%3D","line":102,"in_reply_to":"AAAASn%2F%2Fedw%3D","updated":"2013-09-05 09:25:00.000000000","message":"Agreed. Done. Thanks!","commit_id":"8405b8f175ffcd820695c18b030f0f93b2ca0ffb"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"91b2ab6944e53f0564801811e45bb766c1c36b4f","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"function fix_tr_configfiles() {"},{"line_number":137,"context_line":"    # Copy conf files over to the trove conf dir"},{"line_number":138,"context_line":"    cp etc/trove/trove.conf.sample $TROVE_CONF_DIR/trove.conf"},{"line_number":139,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":140,"context_line":"    cp etc/trove/trove-taskmanager.conf.sample $TROVE_CONF_DIR/trove-taskmanager.conf"},{"line_number":141,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":13,"id":"AAAASn%2F%2FedA%3D","line":138,"updated":"2013-09-04 11:31:21.000000000","message":"instead of a blind copy of the base, I think this should be more like nova and configure just what\u0027s needed. That will help discover incompatibilities in upgrade.","commit_id":"8405b8f175ffcd820695c18b030f0f93b2ca0ffb"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1110f01a7ca43ae1158206fde97e4f236050e1a6","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"function fix_tr_configfiles() {"},{"line_number":137,"context_line":"    # Copy conf files over to the trove conf dir"},{"line_number":138,"context_line":"    cp etc/trove/trove.conf.sample $TROVE_CONF_DIR/trove.conf"},{"line_number":139,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":140,"context_line":"    cp etc/trove/trove-taskmanager.conf.sample $TROVE_CONF_DIR/trove-taskmanager.conf"},{"line_number":141,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":13,"id":"AAAASn%2F%2FZGM%3D","line":138,"in_reply_to":"AAAASn%2F%2FedA%3D","updated":"2013-09-05 09:25:00.000000000","message":"This is a good idea. Thanks for the suggestion. Done.","commit_id":"8405b8f175ffcd820695c18b030f0f93b2ca0ffb"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"NETWORK_GATEWAY\u003d${NETWORK_GATEWAY:-10.0.0.1}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# Set up default configuration"},{"line_number":25,"context_line":"TROVE_DIR\u003d$DEST/trove/"},{"line_number":26,"context_line":"TROVECLIENT_DIR\u003d$DEST/python-troveclient/"},{"line_number":27,"context_line":"TROVE_BUILD_DIR\u003d/tmp/build/"},{"line_number":28,"context_line":"TROVE_INTEGRATION_CONF_DIR\u003d/tmp/trove-integration/"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXRw%3D","line":25,"updated":"2013-09-05 17:07:09.000000000","message":"Just style issue, but why the trailing \u0027/\u0027 on all of the directory names?","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"NETWORK_GATEWAY\u003d${NETWORK_GATEWAY:-10.0.0.1}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# Set up default configuration"},{"line_number":25,"context_line":"TROVE_DIR\u003d$DEST/trove/"},{"line_number":26,"context_line":"TROVECLIENT_DIR\u003d$DEST/python-troveclient/"},{"line_number":27,"context_line":"TROVE_BUILD_DIR\u003d/tmp/build/"},{"line_number":28,"context_line":"TROVE_INTEGRATION_CONF_DIR\u003d/tmp/trove-integration/"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FNqo%3D","line":25,"in_reply_to":"AAAASn%2F%2FXRw%3D","updated":"2013-09-10 20:28:49.000000000","message":"It just makes it easy for me to tell if the value under question refers to a filename or a directory (if the variable doesn\u0027t explicitly say so). \nFor example: \nOS_WIDGET\u003d$DEST/foobar (file) vs.\nOS_WIDGET\u003d$DEST/foobar/ (directory).\n\nThat said, it\u0027s minor and I\u0027d rather stick to whatever style conventions we have, so I\u0027ll change it to be consistent.","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# Set up default configuration"},{"line_number":25,"context_line":"TROVE_DIR\u003d$DEST/trove/"},{"line_number":26,"context_line":"TROVECLIENT_DIR\u003d$DEST/python-troveclient/"},{"line_number":27,"context_line":"TROVE_BUILD_DIR\u003d/tmp/build/"},{"line_number":28,"context_line":"TROVE_INTEGRATION_CONF_DIR\u003d/tmp/trove-integration/"},{"line_number":29,"context_line":"TROVE_ENV_CONF_PATH\u003d$TROVE_INTEGRATION_CONF_DIR/env.rc"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXP4%3D","line":26,"updated":"2013-09-05 17:07:09.000000000","message":"This directory is never cleaned up.","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# Set up default configuration"},{"line_number":25,"context_line":"TROVE_DIR\u003d$DEST/trove/"},{"line_number":26,"context_line":"TROVECLIENT_DIR\u003d$DEST/python-troveclient/"},{"line_number":27,"context_line":"TROVE_BUILD_DIR\u003d/tmp/build/"},{"line_number":28,"context_line":"TROVE_INTEGRATION_CONF_DIR\u003d/tmp/trove-integration/"},{"line_number":29,"context_line":"TROVE_ENV_CONF_PATH\u003d$TROVE_INTEGRATION_CONF_DIR/env.rc"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FNqg%3D","line":26,"in_reply_to":"AAAASn%2F%2FXP4%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":25,"context_line":"TROVE_DIR\u003d$DEST/trove/"},{"line_number":26,"context_line":"TROVECLIENT_DIR\u003d$DEST/python-troveclient/"},{"line_number":27,"context_line":"TROVE_BUILD_DIR\u003d/tmp/build/"},{"line_number":28,"context_line":"TROVE_INTEGRATION_CONF_DIR\u003d/tmp/trove-integration/"},{"line_number":29,"context_line":"TROVE_ENV_CONF_PATH\u003d$TROVE_INTEGRATION_CONF_DIR/env.rc"},{"line_number":30,"context_line":"TROVE_CONF_DIR\u003d/etc/trove/"},{"line_number":31,"context_line":"TROVE_LOCAL_CONF_DIR\u003d$TROVE_DIR/etc/trove/"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXQg%3D","line":28,"updated":"2013-09-05 17:07:09.000000000","message":"This directory is created twice and never cleaned up.","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":25,"context_line":"TROVE_DIR\u003d$DEST/trove/"},{"line_number":26,"context_line":"TROVECLIENT_DIR\u003d$DEST/python-troveclient/"},{"line_number":27,"context_line":"TROVE_BUILD_DIR\u003d/tmp/build/"},{"line_number":28,"context_line":"TROVE_INTEGRATION_CONF_DIR\u003d/tmp/trove-integration/"},{"line_number":29,"context_line":"TROVE_ENV_CONF_PATH\u003d$TROVE_INTEGRATION_CONF_DIR/env.rc"},{"line_number":30,"context_line":"TROVE_CONF_DIR\u003d/etc/trove/"},{"line_number":31,"context_line":"TROVE_LOCAL_CONF_DIR\u003d$TROVE_DIR/etc/trove/"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FNqI%3D","line":28,"in_reply_to":"AAAASn%2F%2FXQg%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"TROVE_ENV_CONF_PATH\u003d$TROVE_INTEGRATION_CONF_DIR/env.rc"},{"line_number":30,"context_line":"TROVE_CONF_DIR\u003d/etc/trove/"},{"line_number":31,"context_line":"TROVE_LOCAL_CONF_DIR\u003d$TROVE_DIR/etc/trove/"},{"line_number":32,"context_line":"TROVE_AUTH_ENDPOINT\u003d$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0"},{"line_number":33,"context_line":"TROVE_LOGDIR\u003d${TROVE_LOGDIR:-/var/log/trove}"},{"line_number":34,"context_line":"TROVE_AUTH_CACHE_DIR\u003d${TROVE_AUTH_CACHE_DIR:-/var/cache/trove}"},{"line_number":35,"context_line":"TROVE_BIN_DIR\u003d/usr/local/bin"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXrw%3D","line":32,"updated":"2013-09-05 17:07:09.000000000","message":"This should use IDENTITY_API_VERSION now:\n\n ...:$KEYSTONE_AUTH_PORT/v$IDENTITY_API_VERSION","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":29,"context_line":"TROVE_ENV_CONF_PATH\u003d$TROVE_INTEGRATION_CONF_DIR/env.rc"},{"line_number":30,"context_line":"TROVE_CONF_DIR\u003d/etc/trove/"},{"line_number":31,"context_line":"TROVE_LOCAL_CONF_DIR\u003d$TROVE_DIR/etc/trove/"},{"line_number":32,"context_line":"TROVE_AUTH_ENDPOINT\u003d$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0"},{"line_number":33,"context_line":"TROVE_LOGDIR\u003d${TROVE_LOGDIR:-/var/log/trove}"},{"line_number":34,"context_line":"TROVE_AUTH_CACHE_DIR\u003d${TROVE_AUTH_CACHE_DIR:-/var/cache/trove}"},{"line_number":35,"context_line":"TROVE_BIN_DIR\u003d/usr/local/bin"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FNpk%3D","line":32,"in_reply_to":"AAAASn%2F%2FXrw%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":30,"context_line":"TROVE_CONF_DIR\u003d/etc/trove/"},{"line_number":31,"context_line":"TROVE_LOCAL_CONF_DIR\u003d$TROVE_DIR/etc/trove/"},{"line_number":32,"context_line":"TROVE_AUTH_ENDPOINT\u003d$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0"},{"line_number":33,"context_line":"TROVE_LOGDIR\u003d${TROVE_LOGDIR:-/var/log/trove}"},{"line_number":34,"context_line":"TROVE_AUTH_CACHE_DIR\u003d${TROVE_AUTH_CACHE_DIR:-/var/cache/trove}"},{"line_number":35,"context_line":"TROVE_BIN_DIR\u003d/usr/local/bin"},{"line_number":36,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXrE%3D","line":33,"updated":"2013-09-05 17:07:09.000000000","message":"Not necessary (see below).","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":30,"context_line":"TROVE_CONF_DIR\u003d/etc/trove/"},{"line_number":31,"context_line":"TROVE_LOCAL_CONF_DIR\u003d$TROVE_DIR/etc/trove/"},{"line_number":32,"context_line":"TROVE_AUTH_ENDPOINT\u003d$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0"},{"line_number":33,"context_line":"TROVE_LOGDIR\u003d${TROVE_LOGDIR:-/var/log/trove}"},{"line_number":34,"context_line":"TROVE_AUTH_CACHE_DIR\u003d${TROVE_AUTH_CACHE_DIR:-/var/cache/trove}"},{"line_number":35,"context_line":"TROVE_BIN_DIR\u003d/usr/local/bin"},{"line_number":36,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKcw%3D","line":33,"in_reply_to":"AAAASn%2F%2FXrE%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"###############################################################################"},{"line_number":46,"context_line":"# Configure Keystone for Trove related helper functions"},{"line_number":47,"context_line":"###############################################################################"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"function trove_get_attribute_id() {"},{"line_number":50,"context_line":"    keystone --endpoint $TROVE_AUTH_ENDPOINT --token $SERVICE_TOKEN $1-list | grep $2 | get_field $3"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXsw%3D","line":47,"updated":"2013-09-05 17:07:09.000000000","message":"comments are formatted using Markdown+shocco for devstack.org.  Please stick to the existing formatting style...\n\n # comment\n # -------","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"###############################################################################"},{"line_number":46,"context_line":"# Configure Keystone for Trove related helper functions"},{"line_number":47,"context_line":"###############################################################################"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"function trove_get_attribute_id() {"},{"line_number":50,"context_line":"    keystone --endpoint $TROVE_AUTH_ENDPOINT --token $SERVICE_TOKEN $1-list | grep $2 | get_field $3"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKcs%3D","line":47,"in_reply_to":"AAAASn%2F%2FXsw%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":135,"context_line":"# Setup Trove Config file and related functions"},{"line_number":136,"context_line":"###############################################################################"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"function fix_tr_configfiles() {"},{"line_number":139,"context_line":"    # Copy api-paste file over to the trove conf dir and configure it"},{"line_number":140,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":141,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth admin_token $SERVICE_TOKEN"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXqQ%3D","line":138,"updated":"2013-09-05 17:07:09.000000000","message":"Why does this need to be outside of configure_trove()?","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":135,"context_line":"# Setup Trove Config file and related functions"},{"line_number":136,"context_line":"###############################################################################"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"function fix_tr_configfiles() {"},{"line_number":139,"context_line":"    # Copy api-paste file over to the trove conf dir and configure it"},{"line_number":140,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":141,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth admin_token $SERVICE_TOKEN"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKco%3D","line":138,"in_reply_to":"AAAASn%2F%2FXqQ%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"function fix_tr_configfiles() {"},{"line_number":139,"context_line":"    # Copy api-paste file over to the trove conf dir and configure it"},{"line_number":140,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":141,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth admin_token $SERVICE_TOKEN"},{"line_number":142,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth signing_dir $TROVE_AUTH_CACHE_DIR"},{"line_number":143,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXqI%3D","line":140,"updated":"2013-09-05 17:07:09.000000000","message":"makes assumptions about cwd","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"function fix_tr_configfiles() {"},{"line_number":139,"context_line":"    # Copy api-paste file over to the trove conf dir and configure it"},{"line_number":140,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":141,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth admin_token $SERVICE_TOKEN"},{"line_number":142,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth signing_dir $TROVE_AUTH_CACHE_DIR"},{"line_number":143,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKck%3D","line":140,"in_reply_to":"AAAASn%2F%2FXqI%3D","updated":"2013-09-10 20:28:49.000000000","message":"Fixed","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":138,"context_line":"function fix_tr_configfiles() {"},{"line_number":139,"context_line":"    # Copy api-paste file over to the trove conf dir and configure it"},{"line_number":140,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":141,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth admin_token $SERVICE_TOKEN"},{"line_number":142,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth signing_dir $TROVE_AUTH_CACHE_DIR"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    # (Re)create trove conf files"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXoA%3D","line":141,"updated":"2013-09-05 17:07:09.000000000","message":"Ugh.. does trove really use this?  The service token is meant only to bootstrap Keystone and should never be used otherwise. IIRC, correct deployment practice is to remove it from keystone.conf after initialization.","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":138,"context_line":"function fix_tr_configfiles() {"},{"line_number":139,"context_line":"    # Copy api-paste file over to the trove conf dir and configure it"},{"line_number":140,"context_line":"    cp etc/trove/api-paste.ini $TROVE_CONF_DIR/api-paste.ini"},{"line_number":141,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth admin_token $SERVICE_TOKEN"},{"line_number":142,"context_line":"    iniset $TROVE_CONF_DIR/api-paste.ini filter:tokenauth signing_dir $TROVE_AUTH_CACHE_DIR"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    # (Re)create trove conf files"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKb4%3D","line":141,"in_reply_to":"AAAASn%2F%2FXoA%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    # (Re)create trove conf files"},{"line_number":145,"context_line":"    rm -f $TROVE_CONF_DIR/trove.conf"},{"line_number":146,"context_line":"    rm -f$TROVE_CONF_DIR/trove-taskmanager.conf"},{"line_number":147,"context_line":"    iniset $TROVE_CONF_DIR/trove.conf DEFAULT rabbit_password $RABBIT_PASSWORD"},{"line_number":148,"context_line":"    iniset $TROVE_CONF_DIR/trove.conf DEFAULT sql_connection `database_connection_url trove`"},{"line_number":149,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXpw%3D","line":146,"updated":"2013-09-05 17:07:09.000000000","message":"Is a space needed after -f?","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    # (Re)create trove conf files"},{"line_number":145,"context_line":"    rm -f $TROVE_CONF_DIR/trove.conf"},{"line_number":146,"context_line":"    rm -f$TROVE_CONF_DIR/trove-taskmanager.conf"},{"line_number":147,"context_line":"    iniset $TROVE_CONF_DIR/trove.conf DEFAULT rabbit_password $RABBIT_PASSWORD"},{"line_number":148,"context_line":"    iniset $TROVE_CONF_DIR/trove.conf DEFAULT sql_connection `database_connection_url trove`"},{"line_number":149,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKb0%3D","line":146,"in_reply_to":"AAAASn%2F%2FXpw%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT rabbit_password $RABBIT_PASSWORD"},{"line_number":151,"context_line":"    iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT sql_connection `database_connection_url trove`"},{"line_number":152,"context_line":"    iniset $TROVE_CONF_DIR/trove-taskmanager.conf filter:tokenauth admin_token $SERVICE_TOKEN"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT rabbit_password $RABBIT_PASSWORD"},{"line_number":155,"context_line":"    iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT sql_connection `database_connection_url trove`"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXoQ%3D","line":152,"updated":"2013-09-05 17:07:09.000000000","message":"Again with the SERVICE_TOKEN...","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT rabbit_password $RABBIT_PASSWORD"},{"line_number":151,"context_line":"    iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT sql_connection `database_connection_url trove`"},{"line_number":152,"context_line":"    iniset $TROVE_CONF_DIR/trove-taskmanager.conf filter:tokenauth admin_token $SERVICE_TOKEN"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT rabbit_password $RABBIT_PASSWORD"},{"line_number":155,"context_line":"    iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT sql_connection `database_connection_url trove`"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKbw%3D","line":152,"in_reply_to":"AAAASn%2F%2FXoQ%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":164,"context_line":"# runs that a clean run would need to clean up"},{"line_number":165,"context_line":"function cleanup_trove() {"},{"line_number":166,"context_line":"    #Clean up auth cache dir"},{"line_number":167,"context_line":"    rm -fr $TROVE_AUTH_CACHE_DIR/*"},{"line_number":168,"context_line":"}"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"# configure_troveclient() - Set config files, create data dirs, etc"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXQM%3D","line":167,"updated":"2013-09-05 17:07:09.000000000","message":"TROVE_BUILD_DIR and TROVE_INTEGRATION_CONF_DIR need to be removed here also","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":164,"context_line":"# runs that a clean run would need to clean up"},{"line_number":165,"context_line":"function cleanup_trove() {"},{"line_number":166,"context_line":"    #Clean up auth cache dir"},{"line_number":167,"context_line":"    rm -fr $TROVE_AUTH_CACHE_DIR/*"},{"line_number":168,"context_line":"}"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"# configure_troveclient() - Set config files, create data dirs, etc"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKbo%3D","line":167,"in_reply_to":"AAAASn%2F%2FXQM%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"# start_trove() - Start running processes, including screen"},{"line_number":217,"context_line":"function start_trove() {"},{"line_number":218,"context_line":"    screen_it tr-api \"cd $TROVE_DIR; bin/trove-api --config-file\u003d$TROVE_CONF_DIR/trove.conf --debug 2\u003e\u00261 | tee $TROVE_LOGDIR/trove-api.log\""},{"line_number":219,"context_line":"    screen_it tr-tmgr \"cd $TROVE_DIR; bin/trove-taskmanager --config-file\u003d$TROVE_CONF_DIR/trove-taskmanager.conf --debug 2\u003e\u00261 | tee $TROVE_LOGDIR/trove-taskmanager.log\""},{"line_number":220,"context_line":"}"},{"line_number":221,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXvE%3D","line":218,"updated":"2013-09-05 17:07:09.000000000","message":"The piping to a log file is unnecessary as screen_it already does this when SCREEN_LOGDIR is set:\n\n SCREEN_LOGDIR\u003d$DEST/logs/screen","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"# start_trove() - Start running processes, including screen"},{"line_number":217,"context_line":"function start_trove() {"},{"line_number":218,"context_line":"    screen_it tr-api \"cd $TROVE_DIR; bin/trove-api --config-file\u003d$TROVE_CONF_DIR/trove.conf --debug 2\u003e\u00261 | tee $TROVE_LOGDIR/trove-api.log\""},{"line_number":219,"context_line":"    screen_it tr-tmgr \"cd $TROVE_DIR; bin/trove-taskmanager --config-file\u003d$TROVE_CONF_DIR/trove-taskmanager.conf --debug 2\u003e\u00261 | tee $TROVE_LOGDIR/trove-taskmanager.log\""},{"line_number":220,"context_line":"}"},{"line_number":221,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKbc%3D","line":218,"in_reply_to":"AAAASn%2F%2FXvE%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":216,"context_line":"# start_trove() - Start running processes, including screen"},{"line_number":217,"context_line":"function start_trove() {"},{"line_number":218,"context_line":"    screen_it tr-api \"cd $TROVE_DIR; bin/trove-api --config-file\u003d$TROVE_CONF_DIR/trove.conf --debug 2\u003e\u00261 | tee $TROVE_LOGDIR/trove-api.log\""},{"line_number":219,"context_line":"    screen_it tr-tmgr \"cd $TROVE_DIR; bin/trove-taskmanager --config-file\u003d$TROVE_CONF_DIR/trove-taskmanager.conf --debug 2\u003e\u00261 | tee $TROVE_LOGDIR/trove-taskmanager.log\""},{"line_number":220,"context_line":"}"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"# stop_trove() - Stop running processes"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FXvA%3D","line":219,"updated":"2013-09-05 17:07:09.000000000","message":"ditto","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":216,"context_line":"# start_trove() - Start running processes, including screen"},{"line_number":217,"context_line":"function start_trove() {"},{"line_number":218,"context_line":"    screen_it tr-api \"cd $TROVE_DIR; bin/trove-api --config-file\u003d$TROVE_CONF_DIR/trove.conf --debug 2\u003e\u00261 | tee $TROVE_LOGDIR/trove-api.log\""},{"line_number":219,"context_line":"    screen_it tr-tmgr \"cd $TROVE_DIR; bin/trove-taskmanager --config-file\u003d$TROVE_CONF_DIR/trove-taskmanager.conf --debug 2\u003e\u00261 | tee $TROVE_LOGDIR/trove-taskmanager.log\""},{"line_number":220,"context_line":"}"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"# stop_trove() - Stop running processes"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAASn%2F%2FKbY%3D","line":219,"in_reply_to":"AAAASn%2F%2FXvA%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b4da0a4f809a0c8f661f16f85c0ff9100b7736ea","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    setup_develop $TROVE_DIR"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    #Configure keystone for trove."},{"line_number":58,"context_line":"    trove_configure_keystone"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    # Create the trove conf dir and cache dirs if they don\u0027t exist"},{"line_number":61,"context_line":"    sudo mkdir -p ${TROVE_CONF_DIR}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"AAAASn%2F%2FHyc%3D","line":58,"updated":"2013-09-11 16:59:40.000000000","message":"Looks like this moved to keystone_data.sh.  I\u0027d refer to bring that back here...","commit_id":"7c9759ce46d6c88a95fbf6d3c7ad0dcc9d96bf70"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e1a2b2c689063acf739f7e210e7a517e1ad47694","unresolved":false,"context_lines":[{"line_number":40,"context_line":"# service              trove     admin        # if enabled"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"create_trove_accounts() {"},{"line_number":43,"context_line":"    # Trove    "},{"line_number":44,"context_line":"    SERVICE_TENANT\u003d$(keystone tenant-list | awk \"/ $SERVICE_TENANT_NAME / { print \\$2 }\")"},{"line_number":45,"context_line":"    SERVICE_ROLE\u003d$(keystone role-list | awk \"/ admin / { print \\$2 }\")"},{"line_number":46,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":24,"id":"AAAASn%2F%2FG0o%3D","line":43,"updated":"2013-09-11 21:24:39.000000000","message":"whitespace","commit_id":"c1632e34536ac4e3efe744e72269c78bd116f4f4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e1a2b2c689063acf739f7e210e7a517e1ad47694","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                                                  --pass\u003d\"$SERVICE_PASSWORD\" \\"},{"line_number":50,"context_line":"                                                  --tenant_id $SERVICE_TENANT \\"},{"line_number":51,"context_line":"                                                  --email\u003dtrove@example.com \\"},{"line_number":52,"context_line":"\t                                          | grep \" id \" | get_field 2)"},{"line_number":53,"context_line":"        keystone user-role-add --tenant-id $SERVICE_TENANT \\"},{"line_number":54,"context_line":"                               --user-id $TROVE_USER \\"},{"line_number":55,"context_line":"                               --role-id $SERVICE_ROLE"}],"source_content_type":"application/octet-stream","patch_set":24,"id":"AAAASn%2F%2FG0k%3D","line":52,"updated":"2013-09-11 21:24:39.000000000","message":"tabs\n\nas long as your here, indent these with 4 spaces like *-create commands below.","commit_id":"c1632e34536ac4e3efe744e72269c78bd116f4f4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e1a2b2c689063acf739f7e210e7a517e1ad47694","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                --name\u003dtrove \\"},{"line_number":59,"context_line":"                --type\u003ddatabase \\"},{"line_number":60,"context_line":"                --description\u003d\"Trove Service\" \\"},{"line_number":61,"context_line":"\t\t| grep \" id \" | get_field 2)"},{"line_number":62,"context_line":"            keystone endpoint-create \\"},{"line_number":63,"context_line":"                --region RegionOne \\"},{"line_number":64,"context_line":"                --service_id $TROVE_SERVICE \\"}],"source_content_type":"application/octet-stream","patch_set":24,"id":"AAAASn%2F%2FG0g%3D","line":61,"updated":"2013-09-11 21:24:39.000000000","message":"tabs","commit_id":"c1632e34536ac4e3efe744e72269c78bd116f4f4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e1a2b2c689063acf739f7e210e7a517e1ad47694","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    setup_develop $TROVE_DIR"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    #Configure keystone for trove."},{"line_number":93,"context_line":"    trove_configure_keystone"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    # Create the trove conf dir and cache dirs if they don\u0027t exist"},{"line_number":96,"context_line":"    sudo mkdir -p ${TROVE_CONF_DIR}"}],"source_content_type":"application/octet-stream","patch_set":24,"id":"AAAASn%2F%2FGz0%3D","line":93,"updated":"2013-09-11 21:24:39.000000000","message":"This can be deleted","commit_id":"c1632e34536ac4e3efe744e72269c78bd116f4f4"}],"stack.sh":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"de58f130b1142cbdc1086a85f39ebcde814dbe68","unresolved":false,"context_lines":[{"line_number":1226,"context_line":"    init_heat"},{"line_number":1227,"context_line":"    echo_summary \"Starting Heat\""},{"line_number":1228,"context_line":"    start_heat"},{"line_number":1229,"context_line":"fi"},{"line_number":1230,"context_line":""},{"line_number":1231,"context_line":""},{"line_number":1232,"context_line":"# Create account rc files"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAQn%2F%2FD48%3D","side":"PARENT","line":1229,"updated":"2013-08-07 18:52:25.000000000","message":"My OCD wants the above and below additions to both either come before or after heat.  ;)","commit_id":"af7edf8736f9705b1b97c2225a52079e7713a7da"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"3ea3279a13e88873127210745c914aef2cc477e7","unresolved":false,"context_lines":[{"line_number":1226,"context_line":"    init_heat"},{"line_number":1227,"context_line":"    echo_summary \"Starting Heat\""},{"line_number":1228,"context_line":"    start_heat"},{"line_number":1229,"context_line":"fi"},{"line_number":1230,"context_line":""},{"line_number":1231,"context_line":""},{"line_number":1232,"context_line":"# Create account rc files"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAQ3%2F%2F8eI%3D","side":"PARENT","line":1229,"in_reply_to":"AAAAQn%2F%2FD48%3D","updated":"2013-08-12 17:41:49.000000000","message":"Done","commit_id":"af7edf8736f9705b1b97c2225a52079e7713a7da"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"ef71b4cf0da08e16a48eb092e411e77476544866","unresolved":false,"context_lines":[{"line_number":762,"context_line":"    configure_heat"},{"line_number":763,"context_line":"fi"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"if is_service_enabled trove; then"},{"line_number":766,"context_line":"    install_trove"},{"line_number":767,"context_line":"    install_troveclient"},{"line_number":768,"context_line":"    cleanup_trove"}],"source_content_type":"text/x-sh","patch_set":11,"id":"AAAASn%2F%2F3Co%3D","line":765,"updated":"2013-08-28 18:45:33.000000000","message":"If you want to use \u0027trove\u0027 here you need to add it to the \u0027magic list\u0027 in is_service_enabled().  If both trove services will always be on the same host in a multi-node configuration then just using tr-api here would be fine.","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"a8d153d5681fd1650e1482cc7d42c9f33b6838cb","unresolved":false,"context_lines":[{"line_number":762,"context_line":"    configure_heat"},{"line_number":763,"context_line":"fi"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"if is_service_enabled trove; then"},{"line_number":766,"context_line":"    install_trove"},{"line_number":767,"context_line":"    install_troveclient"},{"line_number":768,"context_line":"    cleanup_trove"}],"source_content_type":"text/x-sh","patch_set":11,"id":"AAAASn%2F%2FhcI%3D","line":765,"in_reply_to":"AAAASn%2F%2F3Co%3D","updated":"2013-09-03 20:42:50.000000000","message":"Good catch. I did want to use \u0027trove\u0027 here, so I will add it to the \u0027magic list\u0027 in is_service_enable() like you mention. Thanks!","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"ef71b4cf0da08e16a48eb092e411e77476544866","unresolved":false,"context_lines":[{"line_number":1258,"context_line":"fi"},{"line_number":1259,"context_line":""},{"line_number":1260,"context_line":"# Configure and launch the trove service api, and taskmanager"},{"line_number":1261,"context_line":"if is_service_enabled trove; then"},{"line_number":1262,"context_line":"    # Initialize trove"},{"line_number":1263,"context_line":"    echo_summary \"Configuring Trove\""},{"line_number":1264,"context_line":"    init_trove"}],"source_content_type":"text/x-sh","patch_set":11,"id":"AAAASn%2F%2F3CE%3D","line":1261,"updated":"2013-08-28 18:45:33.000000000","message":"Ditto on \u0027trove\u0027.  It seems to me this bit is only needed when tr-tmgt is used?  If so that would be the appropriate service to check for.  Hmmm...that\u0027s for init_trove().","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"a8d153d5681fd1650e1482cc7d42c9f33b6838cb","unresolved":false,"context_lines":[{"line_number":1258,"context_line":"fi"},{"line_number":1259,"context_line":""},{"line_number":1260,"context_line":"# Configure and launch the trove service api, and taskmanager"},{"line_number":1261,"context_line":"if is_service_enabled trove; then"},{"line_number":1262,"context_line":"    # Initialize trove"},{"line_number":1263,"context_line":"    echo_summary \"Configuring Trove\""},{"line_number":1264,"context_line":"    init_trove"}],"source_content_type":"text/x-sh","patch_set":11,"id":"AAAASn%2F%2Fhb8%3D","line":1261,"in_reply_to":"AAAASn%2F%2F3CE%3D","updated":"2013-09-03 20:42:50.000000000","message":"Good catch. I did want to use \u0027trove\u0027 here, so I will add it to the \u0027magic list\u0027 in is_service_enable() like you mention. Thanks!","commit_id":"34280b5f48107f06fbef8ca39579db90b896ec54"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6b25ee63f1b5b8ad3d597466a150f6954289ded1","unresolved":false,"context_lines":[{"line_number":725,"context_line":"    install_trove"},{"line_number":726,"context_line":"    install_troveclient"},{"line_number":727,"context_line":"    cleanup_trove"},{"line_number":728,"context_line":"    configure_trove"},{"line_number":729,"context_line":"    configure_troveclient"},{"line_number":730,"context_line":"fi"},{"line_number":731,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"AAAASn%2F%2FXTY%3D","line":728,"updated":"2013-09-05 17:07:09.000000000","message":"The configure functions are called too early...keystone has not been started yet and so creating the keystone tenant and user fails.\n\nActually, I don\u0027t see anything here that is actually required to be done this early.","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"1f375291d361df30fc06a588e7e9d3453230abe6","unresolved":false,"context_lines":[{"line_number":725,"context_line":"    install_trove"},{"line_number":726,"context_line":"    install_troveclient"},{"line_number":727,"context_line":"    cleanup_trove"},{"line_number":728,"context_line":"    configure_trove"},{"line_number":729,"context_line":"    configure_troveclient"},{"line_number":730,"context_line":"fi"},{"line_number":731,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"AAAASn%2F%2FKbI%3D","line":728,"in_reply_to":"AAAASn%2F%2FXTY%3D","updated":"2013-09-10 20:28:49.000000000","message":"Done","commit_id":"828ea3d1d07d03d93fe464258ccdd7ad4a53d3e4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e1a2b2c689063acf739f7e210e7a517e1ad47694","unresolved":false,"context_lines":[{"line_number":868,"context_line":"    create_neutron_accounts"},{"line_number":869,"context_line":""},{"line_number":870,"context_line":"    if is_service_enabled trove; then"},{"line_number":871,"context_line":"\tcreate_trove_accounts"},{"line_number":872,"context_line":"    fi"},{"line_number":873,"context_line":""},{"line_number":874,"context_line":"    if is_service_enabled swift || is_service_enabled s-proxy; then"}],"source_content_type":"text/x-sh","patch_set":24,"id":"AAAASn%2F%2FGzs%3D","line":871,"updated":"2013-09-11 21:24:39.000000000","message":"tab","commit_id":"c1632e34536ac4e3efe744e72269c78bd116f4f4"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2db2ce7ec7cdce67a22fc82462d0fe1aaecefc68","unresolved":false,"context_lines":[{"line_number":724,"context_line":"if is_service_enabled trove; then"},{"line_number":725,"context_line":"    install_trove"},{"line_number":726,"context_line":"    install_troveclient"},{"line_number":727,"context_line":"    cleanup_trove"},{"line_number":728,"context_line":"fi"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"if is_service_enabled tls-proxy; then"}],"source_content_type":"text/x-sh","patch_set":26,"id":"AAAASn%2F%2FDm0%3D","line":727,"updated":"2013-09-12 20:10:08.000000000","message":"did you really mean cleanup here?","commit_id":"0cccad43aad08487ad1712c63afed602889aaf72"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"72afcffc650b96cc3d5e3fbda85f4d7aa3fdb49a","unresolved":false,"context_lines":[{"line_number":724,"context_line":"if is_service_enabled trove; then"},{"line_number":725,"context_line":"    install_trove"},{"line_number":726,"context_line":"    install_troveclient"},{"line_number":727,"context_line":"    cleanup_trove"},{"line_number":728,"context_line":"fi"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"if is_service_enabled tls-proxy; then"}],"source_content_type":"text/x-sh","patch_set":26,"id":"AAAASn%2F%2FDkI%3D","line":727,"in_reply_to":"AAAASn%2F%2FDlI%3D","updated":"2013-09-12 20:18:21.000000000","message":"ok","commit_id":"0cccad43aad08487ad1712c63afed602889aaf72"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"b1c5396ddf3748f4e8c564adacc708a75f974d73","unresolved":false,"context_lines":[{"line_number":724,"context_line":"if is_service_enabled trove; then"},{"line_number":725,"context_line":"    install_trove"},{"line_number":726,"context_line":"    install_troveclient"},{"line_number":727,"context_line":"    cleanup_trove"},{"line_number":728,"context_line":"fi"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"if is_service_enabled tls-proxy; then"}],"source_content_type":"text/x-sh","patch_set":26,"id":"AAAASn%2F%2FDlI%3D","line":727,"in_reply_to":"AAAASn%2F%2FDm0%3D","updated":"2013-09-12 20:13:46.000000000","message":"Sure, its useful for cleaning up previous runs. the heat project does teh same thing install,cleanup,configure","commit_id":"0cccad43aad08487ad1712c63afed602889aaf72"}],"stackrc":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"f8a22eb6c6024d8ab36ad461f0176bc31e65e7d5","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"# trove client library test"},{"line_number":189,"context_line":"TROVECLIENT_REPO\u003d${GIT_BASE}/openstack/python-troveclient.git"},{"line_number":190,"context_line":"TROVECLIENT_BRANCH\u003dmaster"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"# Nova hypervisor configuration.  We default to libvirt with **kvm** but will"},{"line_number":193,"context_line":"# drop back to **qemu** if we are unable to load the kvm module.  ``stack.sh`` can"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"AAAASn%2F%2FHlM%3D","line":190,"updated":"2013-09-11 17:50:45.000000000","message":"these should be use the defined variable if it exists already like other repo and branches.","commit_id":"7c9759ce46d6c88a95fbf6d3c7ad0dcc9d96bf70"}]}
