)]}'
{"attributes/default.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"d1b091f2ffddf1095e1760a6327dc3c33b058e80","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  postgresql: [],"},{"line_number":74,"context_line":"  sqlite: []"},{"line_number":75,"context_line":"}"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"default[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithm\u0027] \u003d \u0027md5\u0027"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"case node[\u0027platform_family\u0027]"}],"source_content_type":"text/x-ruby","patch_set":9,"id":"da9df570_0e0bde25","line":76,"updated":"2014-09-24 14:37:04.000000000","message":"Please add a comment to all attribute describing it.  Preferably directly from the base openstack source.","commit_id":"066d294fc61fb7bdab9546bda27af73ef1d31359"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"88f9f501e6a0df9fd06cdc1ad0425e45554c73b1","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  sqlite: []"},{"line_number":75,"context_line":"}"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"#The hash algorithm to use for authentication tokens. This must match the hash"},{"line_number":78,"context_line":"#algorithm that the identity (Keystone) server and the auth_token middleware"},{"line_number":79,"context_line":"#are using. Allowed values are the algorithms supported by Python\u0027s hashlib"},{"line_number":80,"context_line":"#library."}],"source_content_type":"text/x-ruby","patch_set":10,"id":"da9df570_eb391642","line":77,"updated":"2014-09-25 06:19:17.000000000","message":"need a blank space after #, the following lines is same","commit_id":"96435252b8074d5b53ba557cce57e141edafb6ef"}],"spec/server_spec.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"80aee07cc0bbebb4d4af66c100107e6713fdc044","unresolved":false,"context_lines":[{"line_number":800,"context_line":"      expect(path.mode).to eq(02770)"},{"line_number":801,"context_line":"      expect(path.group).to eq(chef_run.node[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027horizon_group\u0027])"},{"line_number":802,"context_line":"    end"},{"line_number":803,"context_line":"    it \u0027config hash_algorithms\u0027 do"},{"line_number":804,"context_line":"      node.set[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithms\u0027] \u003d \u0027sha256\u0027"},{"line_number":805,"context_line":"      expect(chef_run).to render_file(file.name).with_content(/^OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \"sha256\"$/)"},{"line_number":806,"context_line":"    end"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"da9df570_7081f28e","line":803,"updated":"2014-09-22 15:06:22.000000000","message":"this should be moved up to within the local setting context, like around line 170.   file var will fail as it\u0027s not in scope here.","commit_id":"af318c568c37cfaefef01a23ae4b00a975e34ccd"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"2bca6810842f4f45df71b6f69afb4d623c352c66","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        end"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        it \u0027config hash_algorithms\u0027 do"},{"line_number":167,"context_line":"          node.set[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithms\u0027] \u003d \u0027sha256\u0027"},{"line_number":168,"context_line":"          expect(chef_run).to render_file(file.name).with_content(/^OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027sha256\u0027$/)"},{"line_number":169,"context_line":"        end"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":5,"id":"da9df570_c47e49ae","line":167,"updated":"2014-09-23 06:43:17.000000000","message":"it is wrong, the previous is hash_algorithm,  but there is hash_algorithms .","commit_id":"729ebf9d634a1e6c0ec23621cf47a9ee67ad7245"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"4f1afc1f71ba1055d647ca3e61ab27ba9faaac53","unresolved":false,"context_lines":[{"line_number":163,"context_line":"          expect(chef_run).to render_file(file.name).with_content(/^ALLOWED_HOSTS \u003d \\[\"dashboard.example.net\"\\]$/)"},{"line_number":164,"context_line":"        end"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        it \u0027config hash_algorithm\u0027 do"},{"line_number":167,"context_line":"          node.set[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithm\u0027] \u003d \u0027sha256\u0027"},{"line_number":168,"context_line":"          expect(chef_run).to render_file(file.name).with_content(/^OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027sha256\u0027$/)"},{"line_number":169,"context_line":"        end"}],"source_content_type":"text/x-ruby","patch_set":6,"id":"da9df570_72755197","line":166,"updated":"2014-09-23 15:25:22.000000000","message":"Need to provide a default test here.","commit_id":"4079f2c4b5d1943a87b10f04359a132e1e13ae1c"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"af167806be27e4f4758c66b4e16cd2c6307b49d5","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        end"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        it \u0027config hash_algorithm\u0027 do"},{"line_number":167,"context_line":"          node.set[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithm\u0027] \u003d \u0027sha256\u0027"},{"line_number":168,"context_line":"          expect(chef_run).to render_file(file.name).with_content(/^OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027sha256\u0027$/)"},{"line_number":169,"context_line":"        end"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":6,"id":"da9df570_a01031a9","line":167,"updated":"2014-09-24 01:34:55.000000000","message":"agree with Mark, add a default test to cover the \"md5\"","commit_id":"4079f2c4b5d1943a87b10f04359a132e1e13ae1c"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"9e3e67499d306cd060fa447c542fc7d606c6ebb3","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        end"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        context \u0027config hash_algorithm\u0027 do"},{"line_number":167,"context_line":"          context \u0027set to the default value\u0027 do"},{"line_number":168,"context_line":"            it \u0027has a True value for the OPENSTACK_TOKEN_HASH_ALGORITHM attribute\u0027 do"},{"line_number":169,"context_line":"              expect(chef_run).to render_file(file.name).with_content(/^OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027md5\u0027$/)"},{"line_number":170,"context_line":"            end"}],"source_content_type":"text/x-ruby","patch_set":7,"id":"da9df570_a302fb6c","line":167,"updated":"2014-09-24 02:42:18.000000000","message":"does the default value  need to be set ?","commit_id":"03d0c9f085e3ac306b472a8d67e33ada2ad8385a"},{"author":{"_account_id":6983,"name":"YangLei","email":"iamhappg@aliyun.com","username":"YangLei"},"change_message_id":"8aa88b318976fe683162cdf554014a77e6efb743","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        end"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        context \u0027config hash_algorithm\u0027 do"},{"line_number":167,"context_line":"          context \u0027set to the default value\u0027 do"},{"line_number":168,"context_line":"            it \u0027has a True value for the OPENSTACK_TOKEN_HASH_ALGORITHM attribute\u0027 do"},{"line_number":169,"context_line":"              expect(chef_run).to render_file(file.name).with_content(/^OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027md5\u0027$/)"},{"line_number":170,"context_line":"            end"}],"source_content_type":"text/x-ruby","patch_set":7,"id":"da9df570_d9cc5064","line":167,"in_reply_to":"da9df570_a302fb6c","updated":"2014-09-24 08:39:21.000000000","message":"I think we can use the default value directly. It exists in the default.rb","commit_id":"03d0c9f085e3ac306b472a8d67e33ada2ad8385a"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"9e3e67499d306cd060fa447c542fc7d606c6ebb3","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        context \u0027config hash_algorithm\u0027 do"},{"line_number":167,"context_line":"          context \u0027set to the default value\u0027 do"},{"line_number":168,"context_line":"            it \u0027has a True value for the OPENSTACK_TOKEN_HASH_ALGORITHM attribute\u0027 do"},{"line_number":169,"context_line":"              expect(chef_run).to render_file(file.name).with_content(/^OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027md5\u0027$/)"},{"line_number":170,"context_line":"            end"},{"line_number":171,"context_line":"          end"}],"source_content_type":"text/x-ruby","patch_set":7,"id":"da9df570_03dca711","line":168,"updated":"2014-09-24 02:42:18.000000000","message":"why has a True value ? not md5 default ?\nchange to \"default\" , looks better","commit_id":"03d0c9f085e3ac306b472a8d67e33ada2ad8385a"}],"templates/default/local_settings.py.erb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"4f1afc1f71ba1055d647ca3e61ab27ba9faaac53","unresolved":false,"context_lines":[{"line_number":585,"context_line":"# match the hash algorithm that the identity server and the"},{"line_number":586,"context_line":"# auth_token middleware are using. Allowed values are the"},{"line_number":587,"context_line":"# algorithms supported by Python\u0027s hashlib library."},{"line_number":588,"context_line":"# OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027md5\u0027"},{"line_number":589,"context_line":"\u003c% if node[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithm\u0027] %\u003e"},{"line_number":590,"context_line":"OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027\u003c%\u003d node[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithm\u0027] %\u003e\u0027"},{"line_number":591,"context_line":"\u003c% end %\u003e"}],"source_content_type":"application/x-erb","patch_set":6,"id":"da9df570_f26861bc","line":588,"updated":"2014-09-23 15:25:22.000000000","message":"probably also remove this as well.","commit_id":"4079f2c4b5d1943a87b10f04359a132e1e13ae1c"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"4f1afc1f71ba1055d647ca3e61ab27ba9faaac53","unresolved":false,"context_lines":[{"line_number":586,"context_line":"# auth_token middleware are using. Allowed values are the"},{"line_number":587,"context_line":"# algorithms supported by Python\u0027s hashlib library."},{"line_number":588,"context_line":"# OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027md5\u0027"},{"line_number":589,"context_line":"\u003c% if node[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithm\u0027] %\u003e"},{"line_number":590,"context_line":"OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027\u003c%\u003d node[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithm\u0027] %\u003e\u0027"},{"line_number":591,"context_line":"\u003c% end %\u003e"},{"line_number":592,"context_line":""}],"source_content_type":"application/x-erb","patch_set":6,"id":"da9df570_d2727dac","line":589,"updated":"2014-09-23 15:25:22.000000000","message":"Don\u0027t need if check here since this is a basic string with a default.","commit_id":"4079f2c4b5d1943a87b10f04359a132e1e13ae1c"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"af167806be27e4f4758c66b4e16cd2c6307b49d5","unresolved":false,"context_lines":[{"line_number":586,"context_line":"# auth_token middleware are using. Allowed values are the"},{"line_number":587,"context_line":"# algorithms supported by Python\u0027s hashlib library."},{"line_number":588,"context_line":"# OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027md5\u0027"},{"line_number":589,"context_line":"\u003c% if node[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithm\u0027] %\u003e"},{"line_number":590,"context_line":"OPENSTACK_TOKEN_HASH_ALGORITHM \u003d \u0027\u003c%\u003d node[\u0027openstack\u0027][\u0027dashboard\u0027][\u0027hash_algorithm\u0027] %\u003e\u0027"},{"line_number":591,"context_line":"\u003c% end %\u003e"},{"line_number":592,"context_line":""}],"source_content_type":"application/x-erb","patch_set":6,"id":"da9df570_80840dd5","line":589,"in_reply_to":"da9df570_d2727dac","updated":"2014-09-24 01:34:55.000000000","message":"not boolean, it is not needed.","commit_id":"4079f2c4b5d1943a87b10f04359a132e1e13ae1c"}]}
