)]}'
{"lib/keystone":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"386f043e556cdeabec3716da09b16324ad8b02b4","unresolved":false,"context_lines":[{"line_number":578,"context_line":"# bootstrap_keystone() - Initialize user, role and project"},{"line_number":579,"context_line":"function bootstrap_keystone {"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    echo \"Staring bootstrapping process...\""},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"    # Initialize keystone, this will create an \u0027admin\u0027 user, \u0027admin\u0027 project"},{"line_number":584,"context_line":"    # \u0027admin\u0027 role, and assign the user the role on the project."}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_8ea4db08","line":581,"range":{"start_line":581,"start_character":10,"end_line":581,"end_character":17},"updated":"2015-12-22 15:08:51.000000000","message":"Starting","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"279b70b744c0f019b3d8fd39fe64f310309a670e","unresolved":false,"context_lines":[{"line_number":578,"context_line":"# bootstrap_keystone() - Initialize user, role and project"},{"line_number":579,"context_line":"function bootstrap_keystone {"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    echo \"Staring bootstrapping process...\""},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"    # Initialize keystone, this will create an \u0027admin\u0027 user, \u0027admin\u0027 project"},{"line_number":584,"context_line":"    # \u0027admin\u0027 role, and assign the user the role on the project."}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_883a86cc","line":581,"range":{"start_line":581,"start_character":10,"end_line":581,"end_character":17},"in_reply_to":"1a7b0d38_8ea4db08","updated":"2015-12-22 18:56:01.000000000","message":"removed this line","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"386f043e556cdeabec3716da09b16324ad8b02b4","unresolved":false,"context_lines":[{"line_number":581,"context_line":"    echo \"Staring bootstrapping process...\""},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"    # Initialize keystone, this will create an \u0027admin\u0027 user, \u0027admin\u0027 project"},{"line_number":584,"context_line":"    # \u0027admin\u0027 role, and assign the user the role on the project."},{"line_number":585,"context_line":"    $KEYSTONE_BIN_DIR/keystone-manage bootstrap --bootstrap-password $ADMIN_PASSWORD"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    # Create the keystone service and endpoints. To do this with the new"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_ce81834f","line":584,"range":{"start_line":584,"start_character":18,"end_line":584,"end_character":19},"updated":"2015-12-22 15:08:51.000000000","message":"should also say that this stuff is created only if it doesn\u0027t exist already.","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"279b70b744c0f019b3d8fd39fe64f310309a670e","unresolved":false,"context_lines":[{"line_number":581,"context_line":"    echo \"Staring bootstrapping process...\""},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"    # Initialize keystone, this will create an \u0027admin\u0027 user, \u0027admin\u0027 project"},{"line_number":584,"context_line":"    # \u0027admin\u0027 role, and assign the user the role on the project."},{"line_number":585,"context_line":"    $KEYSTONE_BIN_DIR/keystone-manage bootstrap --bootstrap-password $ADMIN_PASSWORD"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    # Create the keystone service and endpoints. To do this with the new"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_e8246ab0","line":584,"range":{"start_line":584,"start_character":18,"end_line":584,"end_character":19},"in_reply_to":"1a7b0d38_ce81834f","updated":"2015-12-22 18:56:01.000000000","message":"Done","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"386f043e556cdeabec3716da09b16324ad8b02b4","unresolved":false,"context_lines":[{"line_number":584,"context_line":"    # \u0027admin\u0027 role, and assign the user the role on the project."},{"line_number":585,"context_line":"    $KEYSTONE_BIN_DIR/keystone-manage bootstrap --bootstrap-password $ADMIN_PASSWORD"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    # Create the keystone service and endpoints. To do this with the new"},{"line_number":588,"context_line":"    # bootstrapping process, we need to get a token and use that token to"},{"line_number":589,"context_line":"    # interact with the new APIs."},{"line_number":590,"context_line":"    # TODO(stevemar): OpenStackClient and KeystoneClient do not have support to"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_8eb37b0a","line":587,"updated":"2015-12-22 15:08:51.000000000","message":"How did this work before? the code was creating users and such without a catalog entry.","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"464ee179988317714a543caedc88167a7fa1e8fe","unresolved":false,"context_lines":[{"line_number":584,"context_line":"    # \u0027admin\u0027 role, and assign the user the role on the project."},{"line_number":585,"context_line":"    $KEYSTONE_BIN_DIR/keystone-manage bootstrap --bootstrap-password $ADMIN_PASSWORD"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    # Create the keystone service and endpoints. To do this with the new"},{"line_number":588,"context_line":"    # bootstrapping process, we need to get a token and use that token to"},{"line_number":589,"context_line":"    # interact with the new APIs."},{"line_number":590,"context_line":"    # TODO(stevemar): OpenStackClient and KeystoneClient do not have support to"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_31a74851","line":587,"in_reply_to":"1a7b0d38_11f1eccd","updated":"2015-12-22 15:33:45.000000000","message":"ah, the magic of global variables.","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"d9ab15051000e2703372d984fb0e3a8c56d87a5b","unresolved":false,"context_lines":[{"line_number":584,"context_line":"    # \u0027admin\u0027 role, and assign the user the role on the project."},{"line_number":585,"context_line":"    $KEYSTONE_BIN_DIR/keystone-manage bootstrap --bootstrap-password $ADMIN_PASSWORD"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    # Create the keystone service and endpoints. To do this with the new"},{"line_number":588,"context_line":"    # bootstrapping process, we need to get a token and use that token to"},{"line_number":589,"context_line":"    # interact with the new APIs."},{"line_number":590,"context_line":"    # TODO(stevemar): OpenStackClient and KeystoneClient do not have support to"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_11f1eccd","line":587,"in_reply_to":"1a7b0d38_8eb37b0a","updated":"2015-12-22 15:26:03.000000000","message":"explicit endpoint values and the admin-token.\n\nThe only difference here is we are using a \"real\" user and token not a static \"HI I AM ADMIN\" string.","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"386f043e556cdeabec3716da09b16324ad8b02b4","unresolved":false,"context_lines":[{"line_number":588,"context_line":"    # bootstrapping process, we need to get a token and use that token to"},{"line_number":589,"context_line":"    # interact with the new APIs."},{"line_number":590,"context_line":"    # TODO(stevemar): OpenStackClient and KeystoneClient do not have support to"},{"line_number":591,"context_line":"    # handle interactions that not return service catalogs. Eventually update"},{"line_number":592,"context_line":"    # this section when the support is in place. Use token based auth for now."},{"line_number":593,"context_line":""},{"line_number":594,"context_line":"    # The token will only be used to create services and endpoints, thus"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_0e90eb94","line":591,"range":{"start_line":591,"start_character":31,"end_line":591,"end_character":34},"updated":"2015-12-22 15:08:51.000000000","message":"change to \"do not\"","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"279b70b744c0f019b3d8fd39fe64f310309a670e","unresolved":false,"context_lines":[{"line_number":588,"context_line":"    # bootstrapping process, we need to get a token and use that token to"},{"line_number":589,"context_line":"    # interact with the new APIs."},{"line_number":590,"context_line":"    # TODO(stevemar): OpenStackClient and KeystoneClient do not have support to"},{"line_number":591,"context_line":"    # handle interactions that not return service catalogs. Eventually update"},{"line_number":592,"context_line":"    # this section when the support is in place. Use token based auth for now."},{"line_number":593,"context_line":""},{"line_number":594,"context_line":"    # The token will only be used to create services and endpoints, thus"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_48349edd","line":591,"range":{"start_line":591,"start_character":31,"end_line":591,"end_character":34},"in_reply_to":"1a7b0d38_0e90eb94","updated":"2015-12-22 18:56:01.000000000","message":"Done","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"386f043e556cdeabec3716da09b16324ad8b02b4","unresolved":false,"context_lines":[{"line_number":592,"context_line":"    # this section when the support is in place. Use token based auth for now."},{"line_number":593,"context_line":""},{"line_number":594,"context_line":"    # The token will only be used to create services and endpoints, thus"},{"line_number":595,"context_line":"    # creating a minimal service catalog. They are unset immediately after.  "},{"line_number":596,"context_line":"    token_id\u003d$(openstack token issue -c id -f value \\"},{"line_number":597,"context_line":"               --os-username admin --os-project-name admin \\"},{"line_number":598,"context_line":"               --os-user-domain-id default --os-project-domain-id default \\"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_aea997e1","line":595,"range":{"start_line":595,"start_character":75,"end_line":595,"end_character":77},"updated":"2015-12-22 15:08:51.000000000","message":"remove trailing whitespace","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"279b70b744c0f019b3d8fd39fe64f310309a670e","unresolved":false,"context_lines":[{"line_number":592,"context_line":"    # this section when the support is in place. Use token based auth for now."},{"line_number":593,"context_line":""},{"line_number":594,"context_line":"    # The token will only be used to create services and endpoints, thus"},{"line_number":595,"context_line":"    # creating a minimal service catalog. They are unset immediately after.  "},{"line_number":596,"context_line":"    token_id\u003d$(openstack token issue -c id -f value \\"},{"line_number":597,"context_line":"               --os-username admin --os-project-name admin \\"},{"line_number":598,"context_line":"               --os-user-domain-id default --os-project-domain-id default \\"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_084d3672","line":595,"range":{"start_line":595,"start_character":75,"end_line":595,"end_character":77},"in_reply_to":"1a7b0d38_aea997e1","updated":"2015-12-22 18:56:01.000000000","message":"Done","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"386f043e556cdeabec3716da09b16324ad8b02b4","unresolved":false,"context_lines":[{"line_number":603,"context_line":"    export OS_URL\u003d$KEYSTONE_AUTH_URI/v3"},{"line_number":604,"context_line":"    export OS_IDENTITY_API_VERSION\u003d3"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"    if [[ \"$KEYSTONE_CATALOG_BACKEND\" \u003d \u0027sql\u0027 ]]; then"},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"        get_or_create_service \"keystone\" \"identity\" \"Keystone Identity Service\""},{"line_number":609,"context_line":"        get_or_create_endpoint \"identity\" \\"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_ce5d03ee","line":606,"updated":"2015-12-22 15:08:51.000000000","message":"this could be moved up above line 594.","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"279b70b744c0f019b3d8fd39fe64f310309a670e","unresolved":false,"context_lines":[{"line_number":603,"context_line":"    export OS_URL\u003d$KEYSTONE_AUTH_URI/v3"},{"line_number":604,"context_line":"    export OS_IDENTITY_API_VERSION\u003d3"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"    if [[ \"$KEYSTONE_CATALOG_BACKEND\" \u003d \u0027sql\u0027 ]]; then"},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"        get_or_create_service \"keystone\" \"identity\" \"Keystone Identity Service\""},{"line_number":609,"context_line":"        get_or_create_endpoint \"identity\" \\"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_8841263c","line":606,"in_reply_to":"1a7b0d38_ce5d03ee","updated":"2015-12-22 18:56:01.000000000","message":"Done","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"386f043e556cdeabec3716da09b16324ad8b02b4","unresolved":false,"context_lines":[{"line_number":609,"context_line":"        get_or_create_endpoint \"identity\" \\"},{"line_number":610,"context_line":"            \"$REGION_NAME\" \\"},{"line_number":611,"context_line":"            \"$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v$IDENTITY_API_VERSION\" \\"},{"line_number":612,"context_line":"            \"$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v$IDENTITY_API_VERSION\" \\"},{"line_number":613,"context_line":"            \"$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v$IDENTITY_API_VERSION\""},{"line_number":614,"context_line":"    fi"},{"line_number":615,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_ee09dfde","line":612,"range":{"start_line":612,"start_character":13,"end_line":612,"end_character":78},"updated":"2015-12-22 15:08:51.000000000","message":"this is $KEYSTONE_AUTH_URI ?","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"279b70b744c0f019b3d8fd39fe64f310309a670e","unresolved":false,"context_lines":[{"line_number":609,"context_line":"        get_or_create_endpoint \"identity\" \\"},{"line_number":610,"context_line":"            \"$REGION_NAME\" \\"},{"line_number":611,"context_line":"            \"$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v$IDENTITY_API_VERSION\" \\"},{"line_number":612,"context_line":"            \"$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v$IDENTITY_API_VERSION\" \\"},{"line_number":613,"context_line":"            \"$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v$IDENTITY_API_VERSION\""},{"line_number":614,"context_line":"    fi"},{"line_number":615,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a7b0d38_886846bc","line":612,"range":{"start_line":612,"start_character":13,"end_line":612,"end_character":78},"in_reply_to":"1a7b0d38_ee09dfde","updated":"2015-12-22 18:56:01.000000000","message":"Done","commit_id":"b4f7d1d608f5b58817a4cd045a5b07d5437ebaca"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"eb89b3091b5f0f2a3ce24ddbbc46145f9c6ae917","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    # These were created by the bootstrapping process, keystone-manage bootstrap,"},{"line_number":350,"context_line":"    # and are referenced here again."},{"line_number":351,"context_line":"    admin_role\u003d\u0027admin\u0027"},{"line_number":352,"context_line":"    admin_user\u003d\u0027admin\u0027"},{"line_number":353,"context_line":"    admin_project\u003d\u0027admin\u0027"},{"line_number":354,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"fa69d971_40012b05","line":351,"updated":"2016-01-05 21:43:49.000000000","message":"I think we\u0027d be better off getting the admin role\u0027s ID so that this works like it did before. Fetching the ID would also add some verification that the bootstrap worked as expected.\n\nOtherwise there\u0027s no reason to have variables for any of these strings since they\u0027re constants.","commit_id":"7d0408d7b824511ad18a91e7573b0574734de159"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"f9a1648d3d14ed7792a8afbb86481109196f0692","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    # These were created by the bootstrapping process, keystone-manage bootstrap,"},{"line_number":350,"context_line":"    # and are referenced here again."},{"line_number":351,"context_line":"    admin_role\u003d\u0027admin\u0027"},{"line_number":352,"context_line":"    admin_user\u003d\u0027admin\u0027"},{"line_number":353,"context_line":"    admin_project\u003d\u0027admin\u0027"},{"line_number":354,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"fa69d971_ba01243a","line":351,"in_reply_to":"fa69d971_40012b05","updated":"2016-01-06 02:17:08.000000000","message":"hmm, OK, i can dig that.","commit_id":"7d0408d7b824511ad18a91e7573b0574734de159"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"7612e7ef88dcc5b4ef02a27b16c4bdd5f520160d","unresolved":false,"context_lines":[{"line_number":350,"context_line":"    # and are referenced here again."},{"line_number":351,"context_line":"    admin_role\u003d\u0027admin\u0027"},{"line_number":352,"context_line":"    admin_user\u003d\u0027admin\u0027"},{"line_number":353,"context_line":"    admin_project\u003d\u0027admin\u0027"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    # Create service project/role"},{"line_number":356,"context_line":"    get_or_create_project \"$SERVICE_TENANT_NAME\" default"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"fa69d971_9280ebf8","line":353,"updated":"2016-01-05 11:38:33.000000000","message":"if you are using globals they need to be UPPERCASE, and not chanced, and the function needs to describe which globals it uses.\n\nBleed over in bash is really weird some times, so everything inside a function really needs to be local.","commit_id":"7d0408d7b824511ad18a91e7573b0574734de159"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"441251f6b043aaecf4553a69a50b59227f6bb178","unresolved":false,"context_lines":[{"line_number":350,"context_line":"    # and are referenced here again."},{"line_number":351,"context_line":"    admin_role\u003d\u0027admin\u0027"},{"line_number":352,"context_line":"    admin_user\u003d\u0027admin\u0027"},{"line_number":353,"context_line":"    admin_project\u003d\u0027admin\u0027"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    # Create service project/role"},{"line_number":356,"context_line":"    get_or_create_project \"$SERVICE_TENANT_NAME\" default"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"fa69d971_1374ef33","line":353,"in_reply_to":"fa69d971_9280ebf8","updated":"2016-01-05 17:22:05.000000000","message":"theres no reason for these to be global, i can make them local","commit_id":"7d0408d7b824511ad18a91e7573b0574734de159"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"eb89b3091b5f0f2a3ce24ddbbc46145f9c6ae917","unresolved":false,"context_lines":[{"line_number":578,"context_line":"# bootstrap_keystone() - Initialize user, role and project"},{"line_number":579,"context_line":"function bootstrap_keystone {"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    # Initialize keystone, this will create an \u0027admin\u0027 user, \u0027admin\u0027 project"},{"line_number":582,"context_line":"    # \u0027admin\u0027 role, and assign the user the role on the project. These resources"},{"line_number":583,"context_line":"    # are created only if they do not already exist."},{"line_number":584,"context_line":"    $KEYSTONE_BIN_DIR/keystone-manage bootstrap --bootstrap-password $ADMIN_PASSWORD"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"fa69d971_b3a7230a","line":581,"updated":"2016-01-05 21:43:49.000000000","message":"add , at end.","commit_id":"7d0408d7b824511ad18a91e7573b0574734de159"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"f9a1648d3d14ed7792a8afbb86481109196f0692","unresolved":false,"context_lines":[{"line_number":578,"context_line":"# bootstrap_keystone() - Initialize user, role and project"},{"line_number":579,"context_line":"function bootstrap_keystone {"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    # Initialize keystone, this will create an \u0027admin\u0027 user, \u0027admin\u0027 project"},{"line_number":582,"context_line":"    # \u0027admin\u0027 role, and assign the user the role on the project. These resources"},{"line_number":583,"context_line":"    # are created only if they do not already exist."},{"line_number":584,"context_line":"    $KEYSTONE_BIN_DIR/keystone-manage bootstrap --bootstrap-password $ADMIN_PASSWORD"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"fa69d971_dace582c","line":581,"in_reply_to":"fa69d971_b3a7230a","updated":"2016-01-06 02:17:08.000000000","message":"Done","commit_id":"7d0408d7b824511ad18a91e7573b0574734de159"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"005d94f4f1112efa8a865d5a8960f224ad5a6579","unresolved":false,"context_lines":[{"line_number":348,"context_line":"    # creates an admin user, admin role and admin project. As a sanity check"},{"line_number":349,"context_line":"    # we exercise the CLI to retrieve the IDs for these values."},{"line_number":350,"context_line":"    local admin_user"},{"line_number":351,"context_line":"    admin_user\u003d$(get_or_create_user admin default)"},{"line_number":352,"context_line":"    local admin_project"},{"line_number":353,"context_line":"    admin_project\u003d$(get_or_create_project admin default)"},{"line_number":354,"context_line":"    local admin_role"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_064319b3","line":351,"updated":"2016-01-06 17:22:51.000000000","message":"these could be\n\n admin_user\u003d$(openstack user show admin -f value -c id)\n\netc.","commit_id":"d43755941d8f587248bf09806e916d7d79fc05df"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a9852a2421fe9b6bf6de16c1b33ce4829f7852d6","unresolved":false,"context_lines":[{"line_number":348,"context_line":"    # creates an admin user, admin role and admin project. As a sanity check"},{"line_number":349,"context_line":"    # we exercise the CLI to retrieve the IDs for these values."},{"line_number":350,"context_line":"    local admin_user"},{"line_number":351,"context_line":"    admin_user\u003d$(get_or_create_user admin default)"},{"line_number":352,"context_line":"    local admin_project"},{"line_number":353,"context_line":"    admin_project\u003d$(get_or_create_project admin default)"},{"line_number":354,"context_line":"    local admin_role"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_c11c0b6c","line":351,"in_reply_to":"fa69d971_064319b3","updated":"2016-01-06 17:32:24.000000000","message":"Done","commit_id":"d43755941d8f587248bf09806e916d7d79fc05df"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"005d94f4f1112efa8a865d5a8960f224ad5a6579","unresolved":false,"context_lines":[{"line_number":350,"context_line":"    local admin_user"},{"line_number":351,"context_line":"    admin_user\u003d$(get_or_create_user admin default)"},{"line_number":352,"context_line":"    local admin_project"},{"line_number":353,"context_line":"    admin_project\u003d$(get_or_create_project admin default)"},{"line_number":354,"context_line":"    local admin_role"},{"line_number":355,"context_line":"    admin_role\u003d$(get_or_create_role admin)"},{"line_number":356,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_6628d533","line":353,"updated":"2016-01-06 17:22:51.000000000","message":"there was no need to change the order here, put admin_project first like it was.\n\nthere was no need to change the variable name, leave it as admin_tenant.","commit_id":"d43755941d8f587248bf09806e916d7d79fc05df"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a9852a2421fe9b6bf6de16c1b33ce4829f7852d6","unresolved":false,"context_lines":[{"line_number":350,"context_line":"    local admin_user"},{"line_number":351,"context_line":"    admin_user\u003d$(get_or_create_user admin default)"},{"line_number":352,"context_line":"    local admin_project"},{"line_number":353,"context_line":"    admin_project\u003d$(get_or_create_project admin default)"},{"line_number":354,"context_line":"    local admin_role"},{"line_number":355,"context_line":"    admin_role\u003d$(get_or_create_role admin)"},{"line_number":356,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_2112c757","line":353,"in_reply_to":"fa69d971_6628d533","updated":"2016-01-06 17:32:24.000000000","message":"Done","commit_id":"d43755941d8f587248bf09806e916d7d79fc05df"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"005d94f4f1112efa8a865d5a8960f224ad5a6579","unresolved":false,"context_lines":[{"line_number":352,"context_line":"    local admin_project"},{"line_number":353,"context_line":"    admin_project\u003d$(get_or_create_project admin default)"},{"line_number":354,"context_line":"    local admin_role"},{"line_number":355,"context_line":"    admin_role\u003d$(get_or_create_role admin)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    # Create service project/role"},{"line_number":358,"context_line":"    get_or_create_project \"$SERVICE_TENANT_NAME\" default"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_e66605ba","line":355,"updated":"2016-01-06 17:22:51.000000000","message":"there was no need to remove the \"s","commit_id":"d43755941d8f587248bf09806e916d7d79fc05df"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a9852a2421fe9b6bf6de16c1b33ce4829f7852d6","unresolved":false,"context_lines":[{"line_number":352,"context_line":"    local admin_project"},{"line_number":353,"context_line":"    admin_project\u003d$(get_or_create_project admin default)"},{"line_number":354,"context_line":"    local admin_role"},{"line_number":355,"context_line":"    admin_role\u003d$(get_or_create_role admin)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    # Create service project/role"},{"line_number":358,"context_line":"    get_or_create_project \"$SERVICE_TENANT_NAME\" default"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_e117cf42","line":355,"in_reply_to":"fa69d971_e66605ba","updated":"2016-01-06 17:32:24.000000000","message":"Done","commit_id":"d43755941d8f587248bf09806e916d7d79fc05df"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"07f73f8a83aceb50c79aa84a6c38352a28794319","unresolved":false,"context_lines":[{"line_number":331,"context_line":"    admin_user\u003d$(get_or_create_user \"admin\" \"$ADMIN_PASSWORD\" default)"},{"line_number":332,"context_line":"    local admin_role"},{"line_number":333,"context_line":"    admin_role\u003d$(get_or_create_role \"admin\")"},{"line_number":334,"context_line":"    get_or_add_user_project_role $admin_role $admin_user $admin_tenant"},{"line_number":335,"context_line":"    get_or_add_user_domain_role $admin_role $admin_user default"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    # Create service project/role"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"fa69d971_d5317bee","side":"PARENT","line":334,"range":{"start_line":334,"start_character":4,"end_line":334,"end_character":70},"updated":"2016-01-10 01:29:27.000000000","message":"this was removed because the bootstrapping process assigns this role to the user on this tenant","commit_id":"8df31a107d9d55233aef290733c56e2f953e5dd3"}],"stack.sh":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"eb89b3091b5f0f2a3ce24ddbbc46145f9c6ae917","unresolved":false,"context_lines":[{"line_number":1009,"context_line":"    # something goes wrong between here and running"},{"line_number":1010,"context_line":"    # tools/create_userrc.sh (this script relies on services other"},{"line_number":1011,"context_line":"    # than keystone being available, so we can\u0027t call it right now)"},{"line_number":1012,"context_line":"    cat \u003e $TOP_DIR/userrc_early \u003c\u003cEOF"},{"line_number":1013,"context_line":"# Use this for debugging issues before files in accrc are created"},{"line_number":1014,"context_line":""},{"line_number":1015,"context_line":"# Set up password auth credentials now that Keystone is bootstrapped"}],"source_content_type":"text/x-sh","patch_set":7,"id":"fa69d971_381a277e","line":1012,"updated":"2016-01-05 21:43:49.000000000","message":"(unrelated) seems like we should be writing clouds.yaml instead.","commit_id":"7d0408d7b824511ad18a91e7573b0574734de159"}]}
