)]}'
{"firstapp/samples/fog/getting_started.rb":[{"author":{"_account_id":612,"name":"Tom Fifield","email":"tom@openstack.org","username":"fifieldt"},"change_message_id":"549fe2f7fffaa062e1ae50cd6c9f708e646dd461","unresolved":false,"context_lines":[{"line_number":20,"context_line":"print images.body"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# step-3"},{"line_number":23,"context_line":"flavors \u003d conn.list_flavors"},{"line_number":24,"context_line":"print flavors.body"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# step-4"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"ba15a1d1_ce14a745","line":23,"updated":"2015-09-23 02:12:25.000000000","message":"I found conn.flavors.all had a more beautiful output than this","commit_id":"f854cdb9a3ced0ca4eda4d959070cd45f0ece87d"},{"author":{"_account_id":612,"name":"Tom Fifield","email":"tom@openstack.org","username":"fifieldt"},"change_message_id":"549fe2f7fffaa062e1ae50cd6c9f708e646dd461","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# step-5"},{"line_number":32,"context_line":"flavor_id \u003d \u00273\u0027"},{"line_number":33,"context_line":"image \u003d conn.flavor.get flavor_id"},{"line_number":34,"context_line":"print flavor"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# step-6"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"ba15a1d1_ae17f343","line":33,"updated":"2015-09-23 02:12:25.000000000","message":"this should be \nflavor \u003d conn.flavors.get flavor_id\n\nnote the extra s and the incorrect variable name","commit_id":"f854cdb9a3ced0ca4eda4d959070cd45f0ece87d"},{"author":{"_account_id":612,"name":"Tom Fifield","email":"tom@openstack.org","username":"fifieldt"},"change_message_id":"549fe2f7fffaa062e1ae50cd6c9f708e646dd461","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                                     :public_key \u003d\u003e public_key"},{"line_number":70,"context_line":"end"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"# step-10"},{"line_number":73,"context_line":"conn.create_security_group \u0027all-in-one\u0027,"},{"line_number":74,"context_line":"                           \u0027network access for all-in-one application.\u0027"},{"line_number":75,"context_line":"for security_group in conn.security_groups.all"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"ba15a1d1_0e6b7fba","line":72,"updated":"2015-09-23 02:12:25.000000000","message":"looks like this doesn\u0027t check for the existing security group first, which causes errors if someone is running the tutorial a second time\n\nTake a look at https://review.openstack.org/#/c/225565/2/firstapp/samples/fog/getting_started.rb to see some ideas if you wanted :)","commit_id":"f854cdb9a3ced0ca4eda4d959070cd45f0ece87d"},{"author":{"_account_id":612,"name":"Tom Fifield","email":"tom@openstack.org","username":"fifieldt"},"change_message_id":"861145cb3c17ecde033269be93c9ef73e8808a0e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    end"},{"line_number":89,"context_line":"end"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"conn.security_group_rules.create :ip_protocol \u003d\u003e \u0027TCP\u0027,"},{"line_number":92,"context_line":"                           :from_port \u003d\u003e 22,"},{"line_number":93,"context_line":"                           :to_port \u003d\u003e 22,"},{"line_number":94,"context_line":"                           :parent_group_id \u003d\u003e all_in_one_security_group.id"}],"source_content_type":"text/x-ruby","patch_set":2,"id":"ba15a1d1_8eef8fb0","line":91,"updated":"2015-09-23 02:55:32.000000000","message":"these create rules need to be wrapped in the if not all_in_one_security_group block, otherwise they cause errors if the guide has been previously run through:)","commit_id":"ea913311e27e6b73c4b58559eb2a1ad6cd3fdfe3"},{"author":{"_account_id":612,"name":"Tom Fifield","email":"tom@openstack.org","username":"fifieldt"},"change_message_id":"861145cb3c17ecde033269be93c9ef73e8808a0e","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"# step-11"},{"line_number":101,"context_line":"userdata \u003d \"#!/usr/bin/env bash"},{"line_number":102,"context_line":"curl -L -s https://git.openstack.org/cgit/stackforge/faafo/plain/contrib/install.sh"},{"line_number":103,"context_line":"| bash -s -- \\ -i faafo -i messaging -r api -r worker -r demo\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"# step-12"}],"source_content_type":"text/x-ruby","patch_set":2,"id":"ba15a1d1_8ed8ef1f","line":102,"updated":"2015-09-23 02:55:32.000000000","message":"I get \nline 3: syntax error near unexpected token `|\u0027\n| bash -s -- \\ -i faafo -i messaging -r api -r worker -r demo\n\nso I think the line breaks here are carrying through, when this needs to come through as a one-line string. Escape the line breaks and all should be well","commit_id":"ea913311e27e6b73c4b58559eb2a1ad6cd3fdfe3"}]}
