)]}'
{"exercises/savanna.sh":[{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"faeadf2d7d0a4ef0f15e8e3cabf1c6ebb7d919a1","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# **savanna.sh**"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Sanity check that trove started if enabled"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"echo \"*********************************************************************\""},{"line_number":8,"context_line":"echo \"Begin DevStack Exercise: $0\""}],"source_content_type":"text/x-sh","patch_set":6,"id":"AAAATH%2F%2FNyQ%3D","line":5,"updated":"2013-10-21 10:36:45.000000000","message":"I think savanna should be here instead of trove","commit_id":"a7c53a72d387f82dd9b4f5ef74d374a9f901371d"}],"lib/savanna":[{"author":{"_account_id":7125,"name":"Alexander Ignatov","email":"aignatov@mirantis.com","username":"aignatov"},"change_message_id":"ea7ad980f306e0c20603ba1bfba2f4d670ea2c84","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT os_admin_password $ADMIN_PASSWORD"},{"line_number":51,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT os_admin_tenant_name $ADMIN_TENANT_NAME"},{"line_number":52,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT plugins vanilla,hdp"},{"line_number":53,"context_line":"    "},{"line_number":54,"context_line":"    recreate_database savanna utf8"},{"line_number":55,"context_line":"    iniset $SAVANNA_CONF_FILE database sql_connection `database_connection_url savanna`"},{"line_number":56,"context_line":"    inicomment $SAVANNA_CONF_FILE database connection"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAATH%2F%2Fuso%3D","line":53,"updated":"2013-10-10 15:38:50.000000000","message":"Please remove trailing spaces at the end of line","commit_id":"ebbfeb110484ec4b14223e3ee4c85cb881266585"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    sudo chown $STACK_USER $SAVANNA_CONF_DIR"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    # Copy over savanna configuration file and configure common parameters."},{"line_number":48,"context_line":"    cp $SAVANNA_DIR/etc/savanna/savanna.conf.sample $SAVANNA_CONF_FILE"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT os_admin_password $ADMIN_PASSWORD"},{"line_number":51,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT os_admin_tenant_name $ADMIN_TENANT_NAME"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2FlhM%3D","line":48,"updated":"2013-10-14 08:40:22.000000000","message":"The copy destination should be $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    # Copy over savanna configuration file and configure common parameters."},{"line_number":48,"context_line":"    cp $SAVANNA_DIR/etc/savanna/savanna.conf.sample $SAVANNA_CONF_FILE"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT os_admin_password $ADMIN_PASSWORD"},{"line_number":51,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT os_admin_tenant_name $ADMIN_TENANT_NAME"},{"line_number":52,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT plugins vanilla,hdp"},{"line_number":53,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2FllE%3D","line":50,"updated":"2013-10-14 08:40:22.000000000","message":"I think you should do the same for os_admin_username parameter","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT os_admin_password $ADMIN_PASSWORD"},{"line_number":51,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT os_admin_tenant_name $ADMIN_TENANT_NAME"},{"line_number":52,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT plugins vanilla,hdp"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    recreate_database savanna utf8"},{"line_number":55,"context_line":"    iniset $SAVANNA_CONF_FILE database sql_connection `database_connection_url savanna`"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2FllA%3D","line":52,"updated":"2013-10-14 08:40:22.000000000","message":"IMHO it is not needed to change default \u0027plugins\u0027 value. This line could be discarded","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    recreate_database savanna utf8"},{"line_number":55,"context_line":"    iniset $SAVANNA_CONF_FILE database sql_connection `database_connection_url savanna`"},{"line_number":56,"context_line":"    inicomment $SAVANNA_CONF_FILE database connection"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    iniset $SAVANNA_CONF_FILE DEFAULT use_syslog $SYSLOG"},{"line_number":59,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2Flj4%3D","line":56,"updated":"2013-10-14 08:40:22.000000000","message":"That inicomment is very confusing. You first configure database connection, and then you remove it. I think the inicomment line should be removed","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    iniset $SAVANNA_CONF_FILE plugin:vanilla plugin_class savanna.plugins.vanilla.plugin:VanillaProvider"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    iniset $SAVANNA_CONF_FILE plugin:hdp plugin_class savanna.plugins.hdp.ambariplugin:AmbariPlugin"},{"line_number":63,"context_line":"}"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2Flkg%3D","line":62,"updated":"2013-10-14 08:40:22.000000000","message":"Again, why do you reset plugin_class for Vanilla and HDP? The defaults are the same and should work just fine","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    iniset $SAVANNA_CONF_FILE plugin:vanilla plugin_class savanna.plugins.vanilla.plugin:VanillaProvider"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    iniset $SAVANNA_CONF_FILE plugin:hdp plugin_class savanna.plugins.hdp.ambariplugin:AmbariPlugin"},{"line_number":63,"context_line":"}"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"# install_savanna() - Collect source and prepare"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2Flho%3D","line":63,"updated":"2013-10-14 08:40:22.000000000","message":"The step to configure \u0027use_neutron\u0027 and \u0027use_floating_ips\u0027 is missing. I think it is very important to configure networking correctly and support Neutron.","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"# start_savanna() - Start running processes, including screen"},{"line_number":73,"context_line":"function start_savanna() {"},{"line_number":74,"context_line":"    screen_it savanna \"cd $SAVANNA_DIR \u0026\u0026 $SAVANNA_BIN_DIR/savanna-api --config-file $SAVANNA_CONF_DIR/savanna.conf -d\""},{"line_number":75,"context_line":"}"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"# stop_savanna() - Stop running processes"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2FlhA%3D","line":74,"updated":"2013-10-14 08:40:22.000000000","message":"Again, the --config-file value should be\n$SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE\n\nAlso please remove \u0027-d\u0027 from the command string and add a debug\u003d$SAVANNA_DEBUG to the config file. $SAVANNA_DEBUG could be \u0027True\u0027 by default","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1454aaba298fcd8a117ce51e35c9701dd328eb2a","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"# Defaults"},{"line_number":21,"context_line":"# --------"},{"line_number":22,"context_line":"# Set up default repos"},{"line_number":23,"context_line":"SAVANNA_REPO\u003d${SAVANNA_REPO:-${GIT_BASE}/openstack/savanna.git}"},{"line_number":24,"context_line":"SAVANNA_BRANCH\u003d${SAVANNA_BRANCH:-master}"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAATH%2F%2FaLw%3D","line":21,"updated":"2013-10-16 15:26:32.000000000","message":"Headers (# \u003d\u003d\u003d and # ---) have one blank line after them.","commit_id":"990c5084c42048e70a5a97b63430c74428c17665"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1454aaba298fcd8a117ce51e35c9701dd328eb2a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE DEFAULT use_syslog $SYSLOG"},{"line_number":70,"context_line":"}"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"# install_savanna() - Collect source and prepare"},{"line_number":74,"context_line":"function install_savanna() {"},{"line_number":75,"context_line":"    git_clone $SAVANNA_REPO $SAVANNA_DIR $SAVANNA_BRANCH"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAATH%2F%2FaKk%3D","line":72,"updated":"2013-10-16 15:26:32.000000000","message":"only one blank line here","commit_id":"990c5084c42048e70a5a97b63430c74428c17665"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"faeadf2d7d0a4ef0f15e8e3cabf1c6ebb7d919a1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"SAVANNA_CONF_DIR\u003d${SAVANNA_CONF_DIR:-/etc/savanna}"},{"line_number":30,"context_line":"SAVANNA_CONF_FILE\u003dsavanna.conf"},{"line_number":31,"context_line":"ADMIN_TENANT_NAME\u003d${ADMIN_TENANT_NAME:-admin}"},{"line_number":32,"context_line":"ADMIN_NAME\u003d${ADMIN_NAME:-admin}"},{"line_number":33,"context_line":"SAVANNA_DEBUG\u003d${SAVANNA_DEBUG:-True}"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# Support entry points installation of console scripts"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAATH%2F%2FNuY%3D","line":32,"updated":"2013-10-21 10:36:45.000000000","message":"You forgot to set default value to ADMIN_PASSWORD here. Or is it supposed to come from the parent script?","commit_id":"a7c53a72d387f82dd9b4f5ef74d374a9f901371d"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"faeadf2d7d0a4ef0f15e8e3cabf1c6ebb7d919a1","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE DEFAULT debug $SAVANNA_DEBUG"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    recreate_database savanna utf8"},{"line_number":62,"context_line":"    iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE database sql_connection `database_connection_url savanna`"},{"line_number":63,"context_line":"    inicomment $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE database connection"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    if is_service_enabled neutron; then"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAATH%2F%2FNtw%3D","line":62,"updated":"2013-10-21 10:36:45.000000000","message":"Did you check that setting \u0027sql_connection\u0027 instead of \u0027connection\u0027 works?","commit_id":"a7c53a72d387f82dd9b4f5ef74d374a9f901371d"}],"lib/savanna-dashboard":[{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":8,"context_line":"# ``stack.sh`` calls the entry points in this order:"},{"line_number":9,"context_line":"#"},{"line_number":10,"context_line":"# init_savanna_dashboard"},{"line_number":11,"context_line":"# install_savanna_dashboard"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Save trace setting"},{"line_number":14,"context_line":"XTRACE\u003d$(set +o | grep xtrace)"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2FlY8%3D","line":11,"updated":"2013-10-14 08:40:22.000000000","message":"cleanup_savanna_dashboard should be added to the list","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Functions"},{"line_number":27,"context_line":"# ---------"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"function init_savanna_dashboard() {"},{"line_number":30,"context_line":"    echo -e \"SAVANNA_URL \u003d \\\"http://$SERVICE_HOST:8386/v1.1\\\"\" \u003e\u003e $HORIZON_DIR/openstack_dashboard/local/local_settings.py"},{"line_number":31,"context_line":"    echo -e \"HORIZON_CONFIG[\u0027dashboards\u0027] +\u003d (\u0027savanna\u0027,)\\nINSTALLED_APPS +\u003d (\u0027savannadashboard\u0027,)\" \u003e\u003e $HORIZON_DIR/openstack_dashboard/settings.py"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2Fldc%3D","line":28,"updated":"2013-10-14 08:40:22.000000000","message":"In the init_savanna_dashboard you probably could use \u0027_horizon_config_set\u0027 instead of \u0027echo blablabla \u003e\u003e local_settings.py\u0027. But I am not sure, please check it.","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"function init_savanna_dashboard() {"},{"line_number":30,"context_line":"    echo -e \"SAVANNA_URL \u003d \\\"http://$SERVICE_HOST:8386/v1.1\\\"\" \u003e\u003e $HORIZON_DIR/openstack_dashboard/local/local_settings.py"},{"line_number":31,"context_line":"    echo -e \"HORIZON_CONFIG[\u0027dashboards\u0027] +\u003d (\u0027savanna\u0027,)\\nINSTALLED_APPS +\u003d (\u0027savannadashboard\u0027,)\" \u003e\u003e $HORIZON_DIR/openstack_dashboard/settings.py"},{"line_number":32,"context_line":"}"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# install_savanna_dashboard() - Collect source and prepare"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2FleE%3D","line":31,"updated":"2013-10-14 08:40:22.000000000","message":"Please configure correctly SAVANNA_USE_NEUTRON and AUTO_ASSIGNMENT_ENABLED.","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"function cleanup_savanna_dashboard() {"},{"line_number":47,"context_line":"    sed -i \u0027/savanna/d\u0027 $HORIZON_DIR/openstack_dashboard/settings.py"},{"line_number":48,"context_line":"}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# Restore xtrace"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2FlZM%3D","line":47,"updated":"2013-10-14 08:40:22.000000000","message":"Also I think it makes sense to cleanup local_settings.py as well","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1454aaba298fcd8a117ce51e35c9701dd328eb2a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"source $TOP_DIR/lib/horizon"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"# Defaults"},{"line_number":21,"context_line":"# --------"},{"line_number":22,"context_line":"# Set up default repos"},{"line_number":23,"context_line":"SAVANNA_DASHBOARD_REPO\u003d${SAVANNA_DASHBOARD_REPO:-${GIT_BASE}/openstack/savanna-dashboard.git}"},{"line_number":24,"context_line":"SAVANNA_DASHBOARD_BRANCH\u003d${SAVANNA_DASHBOARD_BRANCH:-master}"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAATH%2F%2FaLY%3D","line":21,"updated":"2013-10-16 15:26:32.000000000","message":"Headers (# \u003d\u003d\u003d and # ---) have one blank line after them.","commit_id":"990c5084c42048e70a5a97b63430c74428c17665"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1454aaba298fcd8a117ce51e35c9701dd328eb2a","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# install_savanna_dashboard() - Collect source and prepare"},{"line_number":47,"context_line":"function install_savanna_dashboard() {"},{"line_number":48,"context_line":"    install_python_savannaclient"},{"line_number":49,"context_line":"    git_clone $SAVANNA_DASHBOARD_REPO $SAVANNA_DASHBOARD_DIR $SAVANNA_DASHBOARD_BRANCH"},{"line_number":50,"context_line":"    setup_develop $SAVANNA_DASHBOARD_DIR"},{"line_number":51,"context_line":"}"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAATH%2F%2FaJw%3D","line":48,"updated":"2013-10-16 15:26:32.000000000","message":"Is the client lib only needed when the dashboard is present?  Is there a CLI that might be needed too?","commit_id":"990c5084c42048e70a5a97b63430c74428c17665"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"faeadf2d7d0a4ef0f15e8e3cabf1c6ebb7d919a1","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    echo -e \"HORIZON_CONFIG[\u0027dashboards\u0027] +\u003d (\u0027savanna\u0027,)\\nINSTALLED_APPS +\u003d (\u0027savannadashboard\u0027,)\" \u003e\u003e $HORIZON_DIR/openstack_dashboard/settings.py"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    if is_service_enabled neutron; then"},{"line_number":43,"context_line":"        echo -e \"SAVANNA_USE_NEUTRON \u003d True\\nAUTO_ASSIGNMENT_ENABLED \u003d True\" \u003e\u003e $HORIZON_DIR/openstack_dashboard/local/local_settings.py"},{"line_number":44,"context_line":"    fi"},{"line_number":45,"context_line":"}"},{"line_number":46,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAATH%2F%2FNtA%3D","line":43,"updated":"2013-10-21 10:36:45.000000000","message":"AUTO_ASSIGNMENT_ENABLED must be set to false in case of neutron","commit_id":"a7c53a72d387f82dd9b4f5ef74d374a9f901371d"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"bd73192c73d642ab59dd08f85a4c9bbbc3c43f8b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    echo -e \"HORIZON_CONFIG[\u0027dashboards\u0027] +\u003d (\u0027savanna\u0027,)\\nINSTALLED_APPS +\u003d (\u0027savannadashboard\u0027,)\" \u003e\u003e $HORIZON_DIR/openstack_dashboard/settings.py"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    if is_service_enabled neutron; then"},{"line_number":43,"context_line":"        echo -e \"SAVANNA_USE_NEUTRON \u003d True\\nAUTO_ASSIGNMENT_ENABLED \u003d False\" \u003e\u003e $HORIZON_DIR/openstack_dashboard/local/local_settings.py"},{"line_number":44,"context_line":"    fi"},{"line_number":45,"context_line":"}"},{"line_number":46,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAATH%2F%2FKd0%3D","line":43,"updated":"2013-10-22 08:03:04.000000000","message":"Please set\nAUTO_ASSIGNMENT_ENABLED \u003d False\n\nfor nova-network as well","commit_id":"7b4185958e2a53af5e443dd76a965e3fdb21ee7b"}],"stack.sh":[{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":880,"context_line":"    start_horizon"},{"line_number":881,"context_line":"fi"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":"if is_service_enabled savanna; then"},{"line_number":884,"context_line":"    init_savanna_dashboard"},{"line_number":885,"context_line":"    install_savanna_dashboard"},{"line_number":886,"context_line":"    start_horizon"}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAATH%2F%2FlnM%3D","line":883,"updated":"2013-10-14 08:40:22.000000000","message":"I think this \u0027if\u0027 should be moved inside the one above between \u0027init_horizon\u0027 and \u0027start_horizon\u0027. It does not make sense to install Savanna plugin into the Dashboard if the Dashboard itself is disabled. Also that way you will not need to call \u0027start_horizon\u0027 twice.","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1454aaba298fcd8a117ce51e35c9701dd328eb2a","unresolved":false,"context_lines":[{"line_number":873,"context_line":"    start_horizon"},{"line_number":874,"context_line":"fi"},{"line_number":875,"context_line":""},{"line_number":876,"context_line":""},{"line_number":877,"context_line":"# Glance"},{"line_number":878,"context_line":"# ------"},{"line_number":879,"context_line":""}],"source_content_type":"text/x-sh","patch_set":5,"id":"AAAATH%2F%2FaqM%3D","side":"PARENT","line":876,"updated":"2013-10-16 15:26:32.000000000","message":"Please remove this deletion","commit_id":"67f7da2de299f4f9ab58718aafce336012035cd8"}],"stackrc":[{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"db7c1a5a52298512e9c3126251bf1d3a574e0c7f","unresolved":false,"context_lines":[{"line_number":151,"context_line":"SAVANNA_DASHBOARD_BRANCH\u003d${SAVANNA_DASHBOARD_BRANCH:-master}"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"SAVANNA_PYTHONCLIENT_REPO\u003d${SAVANNA_PYTHONCLIENT_REPO:-${GIT_BASE}/openstack/python-savannaclient.git}"},{"line_number":154,"context_line":"SAVANNA_PYTHONCLIENT_BRANCH\u003d${SAVANNA_PYTHONCLIENT_REPO:-master}"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"# storage service"},{"line_number":157,"context_line":"SWIFT_REPO\u003d${SWIFT_REPO:-${GIT_BASE}/openstack/swift.git}"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATH%2F%2FlmY%3D","line":154,"updated":"2013-10-14 08:40:22.000000000","message":"A typo. This should be\nSAVANNA_PYTHONCLIENT_BRANCH\u003d${SAVANNA_PYTHONCLIENT_BRANCH:-master}","commit_id":"7826c68c4a5da098dff2676d2801ea34ef6ce791"}]}
