)]}'
{"exercises/quantum.sh":[{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"47a9986f4b87ee61d2ccf288038b30c1b20613d4","unresolved":false,"context_lines":[{"line_number":67,"context_line":"KEYSTONE_MANAGE\u003d/opt/stack/keystone/bin/keystone-manage"},{"line_number":68,"context_line":"KEYSTONE\u003d\"keystone\""},{"line_number":69,"context_line":"# KEYSTONE\u003d\"/usr/local/bin/keystone --username\u003dadmin --password\u003d$NOVA_PASSWORD"},{"line_number":70,"context_line":"# --auth_url\u003dhttp://localhost:5000/v2.0\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"#------------------------------------------------------------------------------"},{"line_number":73,"context_line":"# Get a token for clients that don\u0027t support service catalog"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAEn%2F%2F0ws%3D","line":70,"updated":"2012-02-29 02:13:01.000000000","message":"Might want to remove this line.","commit_id":"48a05d11abecab77e0705ce88968905b36866981"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"47a9986f4b87ee61d2ccf288038b30c1b20613d4","unresolved":false,"context_lines":[{"line_number":83,"context_line":"# Other settings."},{"line_number":84,"context_line":"#------------------------------------------------------------------------------"},{"line_number":85,"context_line":"OVS_HOSTS\u003d\"192.168.95.138\""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#------------------------------------------------------------------------------"},{"line_number":88,"context_line":"# Various functions."},{"line_number":89,"context_line":"#------------------------------------------------------------------------------"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAEn%2F%2F0wY%3D","line":86,"updated":"2012-02-29 02:13:01.000000000","message":"Might want to remove this in lieu of comment on update_db() -- see below.","commit_id":"48a05d11abecab77e0705ce88968905b36866981"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"47a9986f4b87ee61d2ccf288038b30c1b20613d4","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    # TODO(del): add EC2 credentials."},{"line_number":147,"context_line":"    # $KEYSTONE ec2-create-credentials --tenant_id\u003d$TENANT_ID \\"},{"line_number":148,"context_line":"        # --user_id\u003d$USER_ID"},{"line_number":149,"context_line":"}"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"#------------------------------------------------------------------------------"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAEn%2F%2F0wo%3D","line":148,"updated":"2012-02-29 02:13:01.000000000","message":"Might want to remove these lines.","commit_id":"48a05d11abecab77e0705ce88968905b36866981"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"47a9986f4b87ee61d2ccf288038b30c1b20613d4","unresolved":false,"context_lines":[{"line_number":151,"context_line":"#------------------------------------------------------------------------------"},{"line_number":152,"context_line":"# \"Create\" functions"},{"line_number":153,"context_line":"#------------------------------------------------------------------------------"},{"line_number":154,"context_line":"function update_db {"},{"line_number":155,"context_line":"    for H in OVS_HOSTS"},{"line_number":156,"context_line":"    do"},{"line_number":157,"context_line":"        $MYSQL -u root -p$MYSQL_PASSWORD -e\"grant usage on *.* to root@\u0027$H\u0027 identified by \u0027$MYSQL_PASSWORD\u0027; flush privileges;\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAEn%2F%2F0wU%3D","line":154,"updated":"2012-02-29 02:13:01.000000000","message":"Might be useful to add a comment.\n\n# Ensures systems listed in OVS_HOSTS are able to access the mysql database remotely. For multi-node deployments ensure remote hosts running OVS-based plugins are set in localrc. For example: OVS_HOSTS\u003d\"10.0.0.10 10.0.0.11 10.0.0.12\"","commit_id":"48a05d11abecab77e0705ce88968905b36866981"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"47a9986f4b87ee61d2ccf288038b30c1b20613d4","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        cd $repo"},{"line_number":259,"context_line":"        echo $repo `git log | head -1` \u003e\u003e ${COMMIT_ID_FILE}"},{"line_number":260,"context_line":"    done"},{"line_number":261,"context_line":"}"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"function all {"},{"line_number":264,"context_line":"    update_db"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAEn%2F%2F0wk%3D","line":261,"updated":"2012-02-29 02:13:01.000000000","message":"This function is now obsolete (tools/info.sh is a superset, so might want to remove this or replace with call to tools/info.sh\")","commit_id":"48a05d11abecab77e0705ce88968905b36866981"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"47a9986f4b87ee61d2ccf288038b30c1b20613d4","unresolved":false,"context_lines":[{"line_number":266,"context_line":"    create_networks"},{"line_number":267,"context_line":"    create_vms"},{"line_number":268,"context_line":"    ping_vms"},{"line_number":269,"context_line":"    grab_commit_ids"},{"line_number":270,"context_line":"}"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"#------------------------------------------------------------------------------"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAEn%2F%2F0wg%3D","line":269,"updated":"2012-02-29 02:13:01.000000000","message":"Remove this if grab_commit_ids goes away.","commit_id":"48a05d11abecab77e0705ce88968905b36866981"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"47a9986f4b87ee61d2ccf288038b30c1b20613d4","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    echo \"  -v, --vm       Create vms\""},{"line_number":297,"context_line":"    echo \"  -t, --tenant   Create tenants\""},{"line_number":298,"context_line":"    echo \"  -T, --test     Test functions\""},{"line_number":299,"context_line":"    echo \"  -c, --commits  Get commit ids\""},{"line_number":300,"context_line":"}"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"main() {"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAEn%2F%2F0wc%3D","line":299,"updated":"2012-02-29 02:13:01.000000000","message":"Remove this if grab_commit_ids goes away.","commit_id":"48a05d11abecab77e0705ce88968905b36866981"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"47a9986f4b87ee61d2ccf288038b30c1b20613d4","unresolved":false,"context_lines":[{"line_number":335,"context_line":"                            ;;"},{"line_number":336,"context_line":"            -c | --commits ) grab_commit_ids"},{"line_number":337,"context_line":"                            exit"},{"line_number":338,"context_line":"                            ;;"},{"line_number":339,"context_line":"            -a | --all )    all"},{"line_number":340,"context_line":"                            exit"},{"line_number":341,"context_line":"                            ;;"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAEn%2F%2F0wQ%3D","line":338,"updated":"2012-02-29 02:13:01.000000000","message":"Remove this if grab_commit_ids goes away.","commit_id":"48a05d11abecab77e0705ce88968905b36866981"},{"author":{"_account_id":1269,"name":"Shweta P","email":"shpadubi@cisco.com","username":"shweta-ap05"},"change_message_id":"3ba397db872f9da5e11a7cc3bf93dd3631ed1746","unresolved":false,"context_lines":[{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Warn if quantum is not enabled"},{"line_number":5,"context_line":"if [[ ! \"$ENABLED_SERVICES\" \u003d~ \"q-svc\" ]]; then"},{"line_number":6,"context_line":"    echo \"WARNING: Running quantum test without enabling quantum\""},{"line_number":7,"context_line":"fi"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2F0sc%3D","line":5,"updated":"2012-02-29 05:29:07.000000000","message":"can be replaced by \nif is_service_enabled q-svc;","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b3271b1a3ff577c5f2e2a7a4eb19e73980409dd0","unresolved":false,"context_lines":[{"line_number":51,"context_line":"#------------------------------------------------------------------------------"},{"line_number":52,"context_line":"# Nova settings."},{"line_number":53,"context_line":"#------------------------------------------------------------------------------"},{"line_number":54,"context_line":"NOVA_USERNAME\u003ddemo"},{"line_number":55,"context_line":"NOVA_PASSWORD\u003dnova"},{"line_number":56,"context_line":"NOVA_MANAGE\u003d/opt/stack/nova/bin/nova-manage"},{"line_number":57,"context_line":"NOVA\u003d/usr/local/bin/nova"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2Fym4%3D","line":54,"updated":"2012-03-03 19:42:26.000000000","message":"Please use the OS_* equivalents to these for authentication to Openstack clients; support for NOVA_* will likely be removed in folsum.  Hmm...here this only applies to NOVA_USERNAME and NOVA_PASSWORD.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"f38702289690f22116cf3c1be0e4bfc0cd25bb60","unresolved":false,"context_lines":[{"line_number":60,"context_line":"#------------------------------------------------------------------------------"},{"line_number":61,"context_line":"# Mysql settings."},{"line_number":62,"context_line":"#------------------------------------------------------------------------------"},{"line_number":63,"context_line":"MYSQL_HOST\u003dlocalhost"},{"line_number":64,"context_line":"MYSQL\u003d\"/usr/bin/mysql --skip-column-name --host\u003d$MYSQL_HOST\""},{"line_number":65,"context_line":"MYSQL_PASSWORD\u003dnova"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2F0tc%3D","line":63,"updated":"2012-02-29 03:19:32.000000000","message":"Should we pull this value from localrc (if present)?","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"f38702289690f22116cf3c1be0e4bfc0cd25bb60","unresolved":false,"context_lines":[{"line_number":62,"context_line":"#------------------------------------------------------------------------------"},{"line_number":63,"context_line":"MYSQL_HOST\u003dlocalhost"},{"line_number":64,"context_line":"MYSQL\u003d\"/usr/bin/mysql --skip-column-name --host\u003d$MYSQL_HOST\""},{"line_number":65,"context_line":"MYSQL_PASSWORD\u003dnova"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"#------------------------------------------------------------------------------"},{"line_number":68,"context_line":"# Keystone settings."}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2F0tY%3D","line":65,"updated":"2012-02-29 03:19:32.000000000","message":"Repeat previous comment.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b3271b1a3ff577c5f2e2a7a4eb19e73980409dd0","unresolved":false,"context_lines":[{"line_number":67,"context_line":"#------------------------------------------------------------------------------"},{"line_number":68,"context_line":"# Keystone settings."},{"line_number":69,"context_line":"#------------------------------------------------------------------------------"},{"line_number":70,"context_line":"KEYSTONE_MANAGE\u003d/opt/stack/keystone/bin/keystone-manage"},{"line_number":71,"context_line":"KEYSTONE\u003d\"keystone\""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"#------------------------------------------------------------------------------"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2FynA%3D","line":70,"updated":"2012-03-03 19:42:26.000000000","message":"This is unused and should not be in an exercise anyway.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b3271b1a3ff577c5f2e2a7a4eb19e73980409dd0","unresolved":false,"context_lines":[{"line_number":78,"context_line":"# returns a token and catalog of endpoints.  We use python to parse the token"},{"line_number":79,"context_line":"# and save it."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"TOKEN\u003d`curl -s -d  \"{\\\"auth\\\":{\\\"passwordCredentials\\\": {\\\"username\\\": \\\"$NOVA_USERNAME\\\", \\\"password\\\": \\\"$NOVA_PASSWORD\\\"}}}\" -H \"Content-type: application/json\" http://$HOST_IP:5000/v2.0/tokens | python -c \"import sys; import json; tok \u003d json.loads(sys.stdin.read()); print tok[\u0027access\u0027][\u0027token\u0027][\u0027id\u0027];\"`"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"#------------------------------------------------------------------------------"},{"line_number":84,"context_line":"# Various functions."}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2FynY%3D","line":81,"updated":"2012-03-03 19:42:26.000000000","message":"This can (and should) be replaced with keystone cli command:\n\nkeystone token-get | grep \u0027 id \u0027 | get_field 2","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"9ddd0239af9f6f362fd373abd9dc92cd53b63ce7","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    local TENANT_NAME\u003d$1"},{"line_number":93,"context_line":"    local QUERY\u003d\"select id from tenant where name\u003d\u0027$TENANT_NAME\u0027\""},{"line_number":94,"context_line":"    local TENANT_ID\u003d`echo $QUERY | $MYSQL -u root -p$MYSQL_PASSWORD keystone`"},{"line_number":95,"context_line":"    echo \"$TENANT_ID\""},{"line_number":96,"context_line":"}"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"function get_user_id {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2F0XA%3D","line":95,"updated":"2012-02-29 18:22:57.000000000","message":"I know its frustrating that keystone has been changing their CLI on a weekly basis, but I\u0027m not a big fan of accessing the database directly to work around it.  Can we ping anotherjesse, confirm that they are done changing the CLI, and if so, use the actual keystone commands?  Not only would doing so be cleaner, but it would make this script more useful as \"documentation by code\"","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b3271b1a3ff577c5f2e2a7a4eb19e73980409dd0","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    local TENANT_NAME\u003d$1"},{"line_number":93,"context_line":"    local QUERY\u003d\"select id from tenant where name\u003d\u0027$TENANT_NAME\u0027\""},{"line_number":94,"context_line":"    local TENANT_ID\u003d`echo $QUERY | $MYSQL -u root -p$MYSQL_PASSWORD keystone`"},{"line_number":95,"context_line":"    echo \"$TENANT_ID\""},{"line_number":96,"context_line":"}"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"function get_user_id {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2FynQ%3D","line":95,"in_reply_to":"AAAAEn%2F%2F0XA%3D","updated":"2012-03-03 19:42:26.000000000","message":"Agreed, exercises should only use the clients for the services, and whenever possible not use administrative access to perform their work.\n\nThe disruptive keystone client changes are over for essex and the forseeable future.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"9ddd0239af9f6f362fd373abd9dc92cd53b63ce7","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    $KEYSTONE tenant-create --name\u003d$TENANT"},{"line_number":132,"context_line":"    $KEYSTONE user-create --name\u003d$USER --pass\u003d${PASSWORD} \\"},{"line_number":133,"context_line":"        --email\u003d$USER@example.com"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    local USER_ID\u003d$(get_user_id $USER)"},{"line_number":136,"context_line":"    local TENANT_ID\u003d$(get_tenant_id $TENANT)"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2F0Wo%3D","line":133,"updated":"2012-02-29 18:22:57.000000000","message":"I think email is optional, and there doesn\u0027t seem to be a point in passing in a fake email here.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b3271b1a3ff577c5f2e2a7a4eb19e73980409dd0","unresolved":false,"context_lines":[{"line_number":145,"context_line":"#------------------------------------------------------------------------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"# Ensures that systems listed in OVS_HOSTS can access the DB"},{"line_number":148,"context_line":"function update_db {"},{"line_number":149,"context_line":"    for H in OVS_HOSTS"},{"line_number":150,"context_line":"    do"},{"line_number":151,"context_line":"        $MYSQL -u root -p$MYSQL_PASSWORD -e\"grant usage on *.* to root@\u0027$H\u0027 identified by \u0027$MYSQL_PASSWORD\u0027; flush privileges;\""}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2FynE%3D","line":148,"updated":"2012-03-03 19:42:26.000000000","message":"This seems like something that should be a) handled by the quantum client or quantum-manage (if there is one); and b) should be in stack.sh as it appears to be configuring the database.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"5066a569b96ef74d06538790a99c431cafd93c75","unresolved":false,"context_lines":[{"line_number":145,"context_line":"#------------------------------------------------------------------------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"# Ensures that systems listed in OVS_HOSTS can access the DB"},{"line_number":148,"context_line":"function update_db {"},{"line_number":149,"context_line":"    for H in OVS_HOSTS"},{"line_number":150,"context_line":"    do"},{"line_number":151,"context_line":"        $MYSQL -u root -p$MYSQL_PASSWORD -e\"grant usage on *.* to root@\u0027$H\u0027 identified by \u0027$MYSQL_PASSWORD\u0027; flush privileges;\""}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2Fyl8%3D","line":148,"in_reply_to":"AAAAEn%2F%2FynE%3D","updated":"2012-03-03 20:26:33.000000000","message":"Agreed, \n\nThis code should only be needed for multi host installs and I think this will be added to stack.sh by some work dave lapsley (also on the review) is doing for multi host support.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b3271b1a3ff577c5f2e2a7a4eb19e73980409dd0","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    add_tenant demo2 nova demo2"},{"line_number":158,"context_line":"}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"function create_networks {"},{"line_number":161,"context_line":"    $NOVA_MANAGE --flagfile\u003d$NOVA_CONF network create \\"},{"line_number":162,"context_line":"        --label\u003dpublic-net1 \\"},{"line_number":163,"context_line":"        --fixed_range_v4\u003d11.0.0.0/24"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2Fym8%3D","line":160,"updated":"2012-03-03 19:42:26.000000000","message":"Is there any way to perform this using the nova client binary rather than nova-manage?","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"5066a569b96ef74d06538790a99c431cafd93c75","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    add_tenant demo2 nova demo2"},{"line_number":158,"context_line":"}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"function create_networks {"},{"line_number":161,"context_line":"    $NOVA_MANAGE --flagfile\u003d$NOVA_CONF network create \\"},{"line_number":162,"context_line":"        --label\u003dpublic-net1 \\"},{"line_number":163,"context_line":"        --fixed_range_v4\u003d11.0.0.0/24"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2Fyl4%3D","line":160,"in_reply_to":"AAAAEn%2F%2Fym8%3D","updated":"2012-03-03 20:26:33.000000000","message":"Dean, your intuition and goal is exactly right, but some limits in the Nova + Quantum integration code mean that for Essex, we need to use nova-manage (which triggers QuantumManager in nova to set up some nova DB state, then create the network via Quantum API).  In Folsom, Nova will be able to play nicely with networks created directly via the Quantum API.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"9ddd0239af9f6f362fd373abd9dc92cd53b63ce7","unresolved":false,"context_lines":[{"line_number":160,"context_line":"function create_networks {"},{"line_number":161,"context_line":"    $NOVA_MANAGE --flagfile\u003d$NOVA_CONF network create \\"},{"line_number":162,"context_line":"        --label\u003dpublic-net1 \\"},{"line_number":163,"context_line":"        --fixed_range_v4\u003d11.0.0.0/24"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    $NOVA_MANAGE --flagfile\u003d$NOVA_CONF network create \\"},{"line_number":166,"context_line":"        --label\u003ddemo1-net1 \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2F0l0%3D","line":163,"updated":"2012-02-29 18:22:57.000000000","message":"probably more clear to specify an explicit --priority\u003d0, rather than relying on default.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"9ddd0239af9f6f362fd373abd9dc92cd53b63ce7","unresolved":false,"context_lines":[{"line_number":183,"context_line":"    export OS_TENANT_NAME\u003ddemo1"},{"line_number":184,"context_line":"    export OS_USERNAME\u003ddemo1"},{"line_number":185,"context_line":"    export OS_PASSWORD\u003dnova"},{"line_number":186,"context_line":"    VM_UUID1\u003d`$NOVA boot --flavor $(get_flavor_id m1.tiny) \\"},{"line_number":187,"context_line":"        --image $(get_image_id) \\"},{"line_number":188,"context_line":"        --nic net-id\u003d$PUBLIC_NET1_ID \\"},{"line_number":189,"context_line":"        --nic net-id\u003d$DEMO1_NET1_ID \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2F0X0%3D","line":186,"updated":"2012-02-29 18:22:57.000000000","message":"In the future, consider booting one of the VMs without providing the --nic option to test out that code path.  VM should get a vNIC on any global network, and on any network belonging to the project.  Not needed in this version, but definitely something we want coverage on.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b3271b1a3ff577c5f2e2a7a4eb19e73980409dd0","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        --nic net-id\u003d$DEMO2_NET1_ID \\"},{"line_number":205,"context_line":"        demo2-server2"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    sleep $ACTIVE_TIMEOUT"},{"line_number":208,"context_line":"}"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"function ping_vms {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2Fym0%3D","line":207,"updated":"2012-03-03 19:42:26.000000000","message":"You really should check the VM status here before exiting.  The sleep by itself doesn\u0027t serve any purpose I can think of.\n\nWe have recently added checks to detect failed VM creation without having to wait for the timeouts, have a look at floating_ips.sh fro an example.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"9ddd0239af9f6f362fd373abd9dc92cd53b63ce7","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    PUBLIC_IP2\u003d`nova show $VM_UUID2 | grep public-net1 | awk \u0027{print $5}\u0027`"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    echo \"Sleeping a bit let the VMs come up\""},{"line_number":223,"context_line":"    sleep 5"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    MULTI_HOST\u003d${MULTI_HOST:-0}"},{"line_number":226,"context_line":"    if [ \"$MULTI_HOST\" \u003d \"0\" ]; then"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2F0Xs%3D","line":223,"updated":"2012-02-29 18:22:57.000000000","message":"Why do we have a separate sleep here, beyond the configurable BOOT_TIMEOUT?","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"9ddd0239af9f6f362fd373abd9dc92cd53b63ce7","unresolved":false,"context_lines":[{"line_number":222,"context_line":"    echo \"Sleeping a bit let the VMs come up\""},{"line_number":223,"context_line":"    sleep 5"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    MULTI_HOST\u003d${MULTI_HOST:-0}"},{"line_number":226,"context_line":"    if [ \"$MULTI_HOST\" \u003d \"0\" ]; then"},{"line_number":227,"context_line":"        # sometimes the first ping fails (10 seconds isn\u0027t enough time for the VM\u0027s"},{"line_number":228,"context_line":"        # network to respond?), so let\u0027s ping for a default of 15 seconds with a"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAEn%2F%2F0XY%3D","line":225,"updated":"2012-02-29 18:22:57.000000000","message":"is this referring to \"multi_host\" in the network manager sense, or just that devstack is running on multiple hosts.  If the former, quantum manager does not currently support multi-host, so we should probably print and error and fail if it is enabled.","commit_id":"9bbecb806651e073b68a7f0eba4b8afab34fd929"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"b223c95bee2e7bfd70544661f0ba6e418e77e273","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    echo \"$ROLE_ID\""},{"line_number":105,"context_line":"}"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"# TODO: (Debo) Change Quantum client CLI and then remove the MYSQL stuff. "},{"line_number":108,"context_line":"function get_network_id {"},{"line_number":109,"context_line":"    local NETWORK_NAME\u003d$1"},{"line_number":110,"context_line":"    local QUERY\u003d\"select uuid from networks where label\u003d\u0027$NETWORK_NAME\u0027\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"AAAAE3%2F%2F%2B0w%3D","line":107,"updated":"2012-03-13 22:06:11.000000000","message":"extra whitespace..","commit_id":"ace2e01227e70b9478dd054fb95a95cef3c6d708"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"b223c95bee2e7bfd70544661f0ba6e418e77e273","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    local PASSWORD\u003d$2"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    $KEYSTONE tenant-create --name\u003d$TENANT"},{"line_number":127,"context_line":"    $KEYSTONE user-create --name\u003d$USER --pass\u003d${PASSWORD} "},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    local USER_ID\u003d$(get_user_id $USER)"},{"line_number":130,"context_line":"    local TENANT_ID\u003d$(get_tenant_id $TENANT)"}],"source_content_type":"text/x-sh","patch_set":5,"id":"AAAAE3%2F%2F%2B0s%3D","line":127,"updated":"2012-03-13 22:06:11.000000000","message":"extra whitespace..","commit_id":"ace2e01227e70b9478dd054fb95a95cef3c6d708"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"b223c95bee2e7bfd70544661f0ba6e418e77e273","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    echo \"Sleeping a bit let the VMs come up\""},{"line_number":201,"context_line":"    sleep $ACTIVE_TIMEOUT"},{"line_number":202,"context_line":" "},{"line_number":203,"context_line":"   export OS_TENANT_NAME\u003ddemo1"},{"line_number":204,"context_line":"    export OS_USERNAME\u003ddemo1"},{"line_number":205,"context_line":"    export OS_PASSWORD\u003dnova"}],"source_content_type":"text/x-sh","patch_set":5,"id":"AAAAE3%2F%2F%2B0o%3D","line":202,"updated":"2012-03-13 22:06:11.000000000","message":"extra whitespace..","commit_id":"ace2e01227e70b9478dd054fb95a95cef3c6d708"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"b223c95bee2e7bfd70544661f0ba6e418e77e273","unresolved":false,"context_lines":[{"line_number":314,"context_line":"# Kick off script."},{"line_number":315,"context_line":"#-------------------------------------------------------------------------------"},{"line_number":316,"context_line":"echo $*"},{"line_number":317,"context_line":"main -a"}],"source_content_type":"text/x-sh","patch_set":5,"id":"AAAAE3%2F%2F%2B0k%3D","line":317,"updated":"2012-03-13 22:06:11.000000000","message":"Could we drop \"-a\" as default as it negates all the other command line options.\n\nmain $*\n\nWould be more convenient..","commit_id":"ace2e01227e70b9478dd054fb95a95cef3c6d708"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"71a1499ab414198b3b6c4a0cac1d351cebd97c9b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"# **quantum.sh**"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# We will use this test to perform integration testing of nova and other components "},{"line_number":7,"context_line":"# with Quantum. "},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"echo \"*********************************************************************\""},{"line_number":10,"context_line":"echo \"Begin DevStack Exercise: $0\""}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F784%3D","line":7,"updated":"2012-03-20 21:57:31.000000000","message":"nit. extra whitespace.","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"49c3d4404a9547fc3e9b82a14fd2d151b2dc4454","unresolved":false,"context_lines":[{"line_number":25,"context_line":"if [[ ! \"$ENABLED_SERVICES\" \u003d~ \"q-svc\" ]]; then"},{"line_number":26,"context_line":"    echo \"WARNING: Running quantum test without enabling quantum\""},{"line_number":27,"context_line":"fi"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#------------------------------------------------------------------------------"},{"line_number":30,"context_line":"# Environment"},{"line_number":31,"context_line":"#------------------------------------------------------------------------------"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F78Q%3D","line":28,"updated":"2012-03-20 22:40:51.000000000","message":"If someone (my case) enables Quantum after installing all nova services, this Warning will be always pop up! It does not hurt but  maybe we could check in the nova.conf instead of the ENABLED_SERVICES flag.","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a868720ffeaba37976cb6cd873dd3f7c240217da","unresolved":false,"context_lines":[{"line_number":31,"context_line":"#------------------------------------------------------------------------------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# Import common functions"},{"line_number":34,"context_line":"source ./functions"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# Use openrc + stackrc + localrc for settings"},{"line_number":37,"context_line":"pushd $(cd $(dirname \"$0\")/.. \u0026\u0026 pwd)"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F7vM%3D","line":34,"updated":"2012-03-21 16:10:33.000000000","message":"This isn\u0027t going to work...but gets replaced below anyway","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a868720ffeaba37976cb6cd873dd3f7c240217da","unresolved":false,"context_lines":[{"line_number":36,"context_line":"# Use openrc + stackrc + localrc for settings"},{"line_number":37,"context_line":"pushd $(cd $(dirname \"$0\")/.. \u0026\u0026 pwd)"},{"line_number":38,"context_line":"source ./openrc"},{"line_number":39,"context_line":"popd"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"#------------------------------------------------------------------------------"},{"line_number":42,"context_line":"# Various default parameters."}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F7vQ%3D","line":39,"updated":"2012-03-21 16:10:33.000000000","message":"Hey look, we changed things out from under you again...we are done doing that, I promise.  This time we moved all exercise-specific stuff to exerciserc.\n\n # Keep track of the current directory\n EXERCISE_DIR\u003d$(cd $(dirname \"$0\") \u0026\u0026 pwd)\n TOP_DIR\u003d$(cd $EXERCISE_DIR/..; pwd)\n\n # Import common functions\n source $TOP_DIR/functions\n\n # Import configuration\n source $TOP_DIR/openrc\n\n # Import exercise configuration\n source $TOP_DIR/exerciserc\n\nYou can also remove the duplicated timeouts below unless you need to change them.","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"49c3d4404a9547fc3e9b82a14fd2d151b2dc4454","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    $KEYSTONE user-role-add --user $USER_ID --role $(get_role_id anotherrole) --tenant_id $TENANT_ID"},{"line_number":147,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id sysadmin) --tenant_id $TENANT_ID"},{"line_number":148,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id netadmin) --tenant_id $TENANT_ID"},{"line_number":149,"context_line":"}"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"#------------------------------------------------------------------------------"},{"line_number":152,"context_line":"# \"Create\" functions"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F78M%3D","line":149,"updated":"2012-03-20 22:40:51.000000000","message":"The convention is to remove any lines commented out","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"8b5a3533a5d8d7313d952f95acf061a35c37f031","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id sysadmin) --tenant_id $TENANT_ID"},{"line_number":148,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id netadmin) --tenant_id $TENANT_ID"},{"line_number":149,"context_line":"}"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"#------------------------------------------------------------------------------"},{"line_number":152,"context_line":"# \"Create\" functions"},{"line_number":153,"context_line":"#------------------------------------------------------------------------------"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F7v0%3D","line":150,"updated":"2012-03-21 13:39:26.000000000","message":"Please make sure SERVICE_TOKEN is set or this operation will fail as per: https://bugs.launchpad.net/keystone/+bug/960977\n\nSERVICE_TENANT_NAME, SERVICE_ENDPOINT should also be set (as per devstack/files/keystone_data.sh).","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a868720ffeaba37976cb6cd873dd3f7c240217da","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id sysadmin) --tenant_id $TENANT_ID"},{"line_number":148,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id netadmin) --tenant_id $TENANT_ID"},{"line_number":149,"context_line":"}"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"#------------------------------------------------------------------------------"},{"line_number":152,"context_line":"# \"Create\" functions"},{"line_number":153,"context_line":"#------------------------------------------------------------------------------"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F7vY%3D","line":150,"in_reply_to":"AAAAE3%2F%2F7v0%3D","updated":"2012-03-21 16:10:33.000000000","message":"Dave, keystone_data.sh is bootstrapping Keystone\u0027s database so it must use the token auth.  The preferred way to do admin things is to use an admin username/password.  openrc (sourced above) sets up for a regular user, either change OS_USERNAME or use --os_username (and password, etc) to get admin privs","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"72db3ca7f9bb92d7d442c1874658c30946ebdc1c","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id sysadmin) --tenant_id $TENANT_ID"},{"line_number":148,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id netadmin) --tenant_id $TENANT_ID"},{"line_number":149,"context_line":"}"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"#------------------------------------------------------------------------------"},{"line_number":152,"context_line":"# \"Create\" functions"},{"line_number":153,"context_line":"#------------------------------------------------------------------------------"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F7ds%3D","line":150,"in_reply_to":"AAAAE3%2F%2F7vY%3D","updated":"2012-03-21 22:41:35.000000000","message":"OK. Thanks for the tip Dean. I tried OS_USERNAME/OS_PASSWORD this morning on keystone commit (9c823977b) and it didn\u0027t work. I ended up reading through the keystone source to figure out I needed is_admin set in the context to get past identify check. I\u0027ll give it another try tonight.","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a868720ffeaba37976cb6cd873dd3f7c240217da","unresolved":false,"context_lines":[{"line_number":158,"context_line":"}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"function create_networks {"},{"line_number":161,"context_line":"    $NOVA_MANAGE --flagfile\u003d$NOVA_CONF network create \\"},{"line_number":162,"context_line":"        --label\u003dpublic-net1 \\"},{"line_number":163,"context_line":"        --fixed_range_v4\u003d11.0.0.0/24"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F7vE%3D","line":161,"updated":"2012-03-21 16:10:33.000000000","message":"Will the nova-manage calls be replaced by quantum client too?","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":1269,"name":"Shweta P","email":"shpadubi@cisco.com","username":"shweta-ap05"},"change_message_id":"be63c975ffabacde21dc2f8df65c08d475f67b6f","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        --nic net-id\u003d$DEMO2_NET1_ID \\"},{"line_number":207,"context_line":"        demo2-server2 | grep \u0027 id \u0027 | cut -d\"|\" -f3 | sed \u0027s/ //g\u0027`"},{"line_number":208,"context_line":"    die_if_not_set VM_UUID3 \"Failure launching demo2-server2\""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"}"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"function ping_vms {"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F7Ts%3D","line":209,"updated":"2012-03-22 14:30:38.000000000","message":"Instead of VM 2 and VM3 having the public network and the demo2 private network, could we have one of it to create a vm withhout the --nic option to place it in all public and tenant specific private networks?","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":1269,"name":"Shweta P","email":"shpadubi@cisco.com","username":"shweta-ap05"},"change_message_id":"be63c975ffabacde21dc2f8df65c08d475f67b6f","unresolved":false,"context_lines":[{"line_number":272,"context_line":"    create_vms"},{"line_number":273,"context_line":"    ping_vms"},{"line_number":274,"context_line":"    shutdown_vms"},{"line_number":275,"context_line":"    delete_networks"},{"line_number":276,"context_line":"}"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"#------------------------------------------------------------------------------"}],"source_content_type":"text/x-sh","patch_set":7,"id":"AAAAE3%2F%2F7UA%3D","line":275,"updated":"2012-03-22 14:30:38.000000000","message":"Should we have delete tenants as well?","commit_id":"e22e9a4ef7d23338559155315d0c31ca3b781c95"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"926d3f37c37f27a73edc76f22cfb0bb3dc5cb820","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    $KEYSTONE user-role-add --user $USER_ID --role $(get_role_id admin) --tenant_id $TENANT_ID"},{"line_number":151,"context_line":"    $KEYSTONE user-role-add --user $USER_ID --role $(get_role_id anotherrole) --tenant_id $TENANT_ID"},{"line_number":152,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id sysadmin) --tenant_id $TENANT_ID"},{"line_number":153,"context_line":"    #$KEYSTONE user-role-add --user $USER_ID --role $(get_role_id netadmin) --tenant_id $TENANT_ID"},{"line_number":154,"context_line":"}"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"function remove_tenant {"}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAAFH%2F%2F%2Bb0%3D","line":153,"updated":"2012-03-27 22:31:55.000000000","message":"Don\u0027t forget to remove the two commented out lines above.","commit_id":"f936f1fa7ff66c0ec3e7ca8c09cfc795ce4b443b"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"926d3f37c37f27a73edc76f22cfb0bb3dc5cb820","unresolved":false,"context_lines":[{"line_number":213,"context_line":"    VM_UUID1\u003d`$NOVA boot --flavor $(get_flavor_id m1.tiny) \\"},{"line_number":214,"context_line":"        --image $(get_image_id) \\"},{"line_number":215,"context_line":"        --nic net-id\u003d$PUBLIC_NET1_ID \\"},{"line_number":216,"context_line":"        --nic net-id\u003d$DEMO1_NET1_ID \\"},{"line_number":217,"context_line":"        demo1-server1 | grep \u0027 id \u0027 | cut -d\"|\" -f3 | sed \u0027s/ //g\u0027`"},{"line_number":218,"context_line":"    die_if_not_set VM_UUID1 \"Failure launching demo1-server1\""},{"line_number":219,"context_line":""}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAAFH%2F%2F%2BbY%3D","line":216,"updated":"2012-03-27 22:31:55.000000000","message":"You can leave off the explicit --nic calls and VMs should automatically pick up all public nets and their tenant private nets. You could also leave in as an example of how to restrict nics.","commit_id":"f936f1fa7ff66c0ec3e7ca8c09cfc795ce4b443b"},{"author":{"_account_id":2170,"name":"Dave Lapsley","email":"david.lapsley@metacloud.com","username":"dlapsley"},"change_message_id":"926d3f37c37f27a73edc76f22cfb0bb3dc5cb820","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        fi"},{"line_number":267,"context_line":"    else"},{"line_number":268,"context_line":"        # On a multi-host system, without vm net access, do a sleep to wait for the boot"},{"line_number":269,"context_line":"        sleep $BOOT_TIMEOUT"},{"line_number":270,"context_line":"    fi"},{"line_number":271,"context_line":"}"},{"line_number":272,"context_line":""}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAAFH%2F%2F%2BbU%3D","line":269,"updated":"2012-03-27 22:31:55.000000000","message":"Does quantum support MULTI_HOST\u003d1 option? I thought it did not..","commit_id":"f936f1fa7ff66c0ec3e7ca8c09cfc795ce4b443b"},{"author":{"_account_id":1155,"name":"sleepsonthefloor","username":"sleepsonthefloor"},"change_message_id":"3bd9597b6eba3659ac0c9a0da2979151dde9724b","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    PUBLIC_NET1_ID\u003d$(get_network_id public-net1)"},{"line_number":289,"context_line":"    DEMO1_NET1_ID\u003d$(get_network_id demo1-net1)"},{"line_number":290,"context_line":"    DEMO2_NET1_ID\u003d$(get_network_id demo2-net1)"},{"line_number":291,"context_line":"    nova-manage network delete --uuid\u003d$PUBLIC_NET1_ID"},{"line_number":292,"context_line":"    nova-manage network delete --uuid\u003d$DEMO1_NET1_ID"},{"line_number":293,"context_line":"    nova-manage network delete --uuid\u003d$DEMO2_NET1_ID"},{"line_number":294,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAAFH%2F%2F%2BEs%3D","line":291,"updated":"2012-03-28 17:39:28.000000000","message":"$NOVA_MANAGE? you have a var for this above.","commit_id":"f936f1fa7ff66c0ec3e7ca8c09cfc795ce4b443b"}]}
