)]}'
{"attributes/default.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":202,"context_line":"# by the identity cookbook, for both service and admin endpoint binds."},{"line_number":203,"context_line":"# This is because keystone presents two ports but only a single service,"},{"line_number":204,"context_line":"# that can only be bound to a single IP."},{"line_number":205,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity-bind\u0027][\u0027host\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027bind-host\u0027]"},{"line_number":206,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity-bind\u0027][\u0027bind_interface\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027bind_interface\u0027]"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity-api\u0027][\u0027host\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027host\u0027]"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_db1e095f","line":205,"updated":"2016-01-07 16:36:36.000000000","message":"Time to clean this up, shouldn\u0027t it be identity-api-bind?","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":202,"context_line":"# by the identity cookbook, for both service and admin endpoint binds."},{"line_number":203,"context_line":"# This is because keystone presents two ports but only a single service,"},{"line_number":204,"context_line":"# that can only be bound to a single IP."},{"line_number":205,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity-bind\u0027][\u0027host\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027bind-host\u0027]"},{"line_number":206,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity-bind\u0027][\u0027bind_interface\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027bind_interface\u0027]"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity-api\u0027][\u0027host\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027host\u0027]"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_5277219f","line":205,"in_reply_to":"fa69d971_db1e095f","updated":"2016-01-08 09:09:26.000000000","message":"i would like to clean up all this endpoint logic in one commit, following this library refactoring one","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":324,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-console-bind\u0027][\u0027bind_interface\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027bind_interface\u0027]"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"# The OpenStack Compute (Nova) serial proxy endpoint"},{"line_number":327,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-proxy\u0027][\u0027host\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027host\u0027]"},{"line_number":328,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-proxy\u0027][\u0027scheme\u0027] \u003d \u0027ws\u0027"},{"line_number":329,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-proxy\u0027][\u0027port\u0027] \u003d \u00276083\u0027"},{"line_number":330,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-proxy\u0027][\u0027path\u0027] \u003d \u0027/\u0027"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_fb7f4d64","line":327,"updated":"2016-01-07 16:36:36.000000000","message":"time to clean this up, shoudn\u0027t it be compute-serial-console-proxy?","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":324,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-console-bind\u0027][\u0027bind_interface\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027bind_interface\u0027]"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"# The OpenStack Compute (Nova) serial proxy endpoint"},{"line_number":327,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-proxy\u0027][\u0027host\u0027] \u003d node[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027host\u0027]"},{"line_number":328,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-proxy\u0027][\u0027scheme\u0027] \u003d \u0027ws\u0027"},{"line_number":329,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-proxy\u0027][\u0027port\u0027] \u003d \u00276083\u0027"},{"line_number":330,"context_line":"default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027compute-serial-proxy\u0027][\u0027path\u0027] \u003d \u0027/\u0027"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_329b8dcb","line":327,"in_reply_to":"fa69d971_fb7f4d64","updated":"2016-01-08 09:09:26.000000000","message":"same as above","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":501,"context_line":""},{"line_number":502,"context_line":"# ********************************************************************************"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"# Alternately, if you used some standardized DNS naming scheme, you could"},{"line_number":505,"context_line":"# do something like this, which would override any part-wise specifications above."},{"line_number":506,"context_line":"#"},{"line_number":507,"context_line":"# default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity-api\u0027][\u0027uri\u0027]         \u003d \u0027https://identity.example.com:35357/v2.0\u0027"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_7bffddaa","line":504,"updated":"2016-01-07 16:36:36.000000000","message":"is this still needed?","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":501,"context_line":""},{"line_number":502,"context_line":"# ********************************************************************************"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"# Alternately, if you used some standardized DNS naming scheme, you could"},{"line_number":505,"context_line":"# do something like this, which would override any part-wise specifications above."},{"line_number":506,"context_line":"#"},{"line_number":507,"context_line":"# default[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity-api\u0027][\u0027uri\u0027]         \u003d \u0027https://identity.example.com:35357/v2.0\u0027"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_92b4b935","line":504,"in_reply_to":"fa69d971_7bffddaa","updated":"2016-01-08 09:09:26.000000000","message":"this should probably also cleaned up in the patch i mentioned above","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":681,"context_line":"end"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"# The name of the Chef role that installs the Keystone Service API"},{"line_number":684,"context_line":"default[\u0027openstack\u0027][\u0027identity_service_chef_role\u0027] \u003d \u0027os-identity\u0027"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"# The name of the Chef role that sets up the compute worker"},{"line_number":687,"context_line":"default[\u0027openstack\u0027][\u0027compute_worker_chef_role\u0027] \u003d \u0027os-compute-worker\u0027"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_7b9b5d73","line":684,"updated":"2016-01-07 16:36:36.000000000","message":"Would like to see all the \"role\" attributes cleaned up and put in a separate attributes file, they are hard to find/use right now.","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":681,"context_line":"end"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"# The name of the Chef role that installs the Keystone Service API"},{"line_number":684,"context_line":"default[\u0027openstack\u0027][\u0027identity_service_chef_role\u0027] \u003d \u0027os-identity\u0027"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"# The name of the Chef role that sets up the compute worker"},{"line_number":687,"context_line":"default[\u0027openstack\u0027][\u0027compute_worker_chef_role\u0027] \u003d \u0027os-compute-worker\u0027"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_72902596","line":684,"in_reply_to":"fa69d971_7b9b5d73","updated":"2016-01-08 09:09:26.000000000","message":"agreed, but this should also be done in a different patch, this one is big enough already","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"}],"libraries/config_helpers.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"428be25762a974f4b8760f9c4cf57569ed0218a7","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# config helper methods"},{"line_number":23,"context_line":"module ::Openstack"},{"line_number":24,"context_line":"  # return an Hash with config options which can be used for the service config"},{"line_number":25,"context_line":"  # templates"},{"line_number":26,"context_line":"  #"},{"line_number":27,"context_line":"  # @param [String] service"}],"source_content_type":"text/x-ruby","patch_set":11,"id":"da6ed579_42876f0f","line":24,"updated":"2016-01-12 15:34:29.000000000","message":"\"return a hash...","commit_id":"80fa54649f16005a8ee80ab8c4f7701203ae858b"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"a25af7fa3e21377a691bec8ad925b639be7caf44","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# config helper methods"},{"line_number":23,"context_line":"module ::Openstack"},{"line_number":24,"context_line":"  # return an Hash with config options which can be used for the service config"},{"line_number":25,"context_line":"  # templates"},{"line_number":26,"context_line":"  #"},{"line_number":27,"context_line":"  # @param [String] service"}],"source_content_type":"text/x-ruby","patch_set":11,"id":"da6ed579_f8ac14ef","line":24,"in_reply_to":"da6ed579_42876f0f","updated":"2016-01-12 15:59:36.000000000","message":"Done","commit_id":"80fa54649f16005a8ee80ab8c4f7701203ae858b"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"428be25762a974f4b8760f9c4cf57569ed0218a7","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  # templates"},{"line_number":26,"context_line":"  #"},{"line_number":27,"context_line":"  # @param [String] service"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  def merge_config_options(service)"},{"line_number":30,"context_line":"    conf \u003d deep_dup(node[\u0027openstack\u0027][service][\u0027conf\u0027])"},{"line_number":31,"context_line":"    conf_secrets \u003d deep_dup(node[\u0027openstack\u0027][service][\u0027conf_secrets\u0027])"}],"source_content_type":"text/x-ruby","patch_set":11,"id":"da6ed579_027ad724","line":28,"updated":"2016-01-12 15:34:29.000000000","message":"remove line?","commit_id":"80fa54649f16005a8ee80ab8c4f7701203ae858b"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"a25af7fa3e21377a691bec8ad925b639be7caf44","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  # templates"},{"line_number":26,"context_line":"  #"},{"line_number":27,"context_line":"  # @param [String] service"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  def merge_config_options(service)"},{"line_number":30,"context_line":"    conf \u003d deep_dup(node[\u0027openstack\u0027][service][\u0027conf\u0027])"},{"line_number":31,"context_line":"    conf_secrets \u003d deep_dup(node[\u0027openstack\u0027][service][\u0027conf_secrets\u0027])"}],"source_content_type":"text/x-ruby","patch_set":11,"id":"da6ed579_98b95831","line":28,"in_reply_to":"da6ed579_027ad724","updated":"2016-01-12 15:59:36.000000000","message":"Done","commit_id":"80fa54649f16005a8ee80ab8c4f7701203ae858b"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"428be25762a974f4b8760f9c4cf57569ed0218a7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    Chef::Mixin::DeepMerge.merge(conf, conf_secrets)"},{"line_number":33,"context_line":"  end"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  def deep_dup(mash)"},{"line_number":36,"context_line":"    duplicate \u003d mash.dup"},{"line_number":37,"context_line":"    duplicate.each_pair do |k, v|"},{"line_number":38,"context_line":"      tv \u003d duplicate[k]"}],"source_content_type":"text/x-ruby","patch_set":11,"id":"da6ed579_82948737","line":35,"updated":"2016-01-12 15:34:29.000000000","message":"Comments for this one?","commit_id":"80fa54649f16005a8ee80ab8c4f7701203ae858b"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"a25af7fa3e21377a691bec8ad925b639be7caf44","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    Chef::Mixin::DeepMerge.merge(conf, conf_secrets)"},{"line_number":33,"context_line":"  end"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  def deep_dup(mash)"},{"line_number":36,"context_line":"    duplicate \u003d mash.dup"},{"line_number":37,"context_line":"    duplicate.each_pair do |k, v|"},{"line_number":38,"context_line":"      tv \u003d duplicate[k]"}],"source_content_type":"text/x-ruby","patch_set":11,"id":"da6ed579_7887c461","line":35,"in_reply_to":"da6ed579_82948737","updated":"2016-01-12 15:59:36.000000000","message":"Done","commit_id":"80fa54649f16005a8ee80ab8c4f7701203ae858b"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"428be25762a974f4b8760f9c4cf57569ed0218a7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"da6ed579_62ee338d","line":44,"updated":"2016-01-12 15:34:29.000000000","message":"Add remove_secrets(service) here to keep all this conf_secrets stuff somewhat together.","commit_id":"80fa54649f16005a8ee80ab8c4f7701203ae858b"}],"libraries/uri.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  # the URI from other parts of the hash.  The values of the \u0027port\u0027 and \u0027path\u0027"},{"line_number":29,"context_line":"  # keys are used directly from the hash."},{"line_number":30,"context_line":"  def uri_from_hash(hash)"},{"line_number":31,"context_line":"    if hash[\u0027uri\u0027]"},{"line_number":32,"context_line":"      ::URI.parse ::URI.encode(hash[\u0027uri\u0027])"},{"line_number":33,"context_line":"    else"},{"line_number":34,"context_line":"      host \u003d hash[\u0027host\u0027]"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_5b753930","line":31,"updated":"2016-01-07 16:36:36.000000000","message":"Again, is this really used by anyone?","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  # the URI from other parts of the hash.  The values of the \u0027port\u0027 and \u0027path\u0027"},{"line_number":29,"context_line":"  # keys are used directly from the hash."},{"line_number":30,"context_line":"  def uri_from_hash(hash)"},{"line_number":31,"context_line":"    if hash[\u0027uri\u0027]"},{"line_number":32,"context_line":"      ::URI.parse ::URI.encode(hash[\u0027uri\u0027])"},{"line_number":33,"context_line":"    else"},{"line_number":34,"context_line":"      host \u003d hash[\u0027host\u0027]"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_523ac199","line":31,"in_reply_to":"fa69d971_5b753930","updated":"2016-01-08 09:09:26.000000000","message":"I have no idea if anybody is using it, but it offers a nice way to set any uri you want, even if it does not follow the standard scheme we use to build it (below)","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"}],"metadata.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":10,"context_line":"recipe \u0027openstack-common::set_endpoints_by_interface\u0027, \u0027Set endpoints by interface\u0027"},{"line_number":11,"context_line":"recipe \u0027openstack-common::logging\u0027, \u0027Installs/Configures common logging\u0027"},{"line_number":12,"context_line":"recipe \u0027openstack-common::sysctl\u0027, \u0027Configures sysctl settings\u0027"},{"line_number":13,"context_line":"recipe \u0027openstack-common::openrc\u0027, \u0027Creates openrc file\u0027"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"%w(ubuntu suse redhat centos).each do |os|"},{"line_number":16,"context_line":"  supports os"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_1bb581cf","line":13,"updated":"2016-01-07 16:36:36.000000000","message":"move this to identity now?","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":12323,"name":"JJ Asghar","email":"jjasghar@gmail.com","username":"jj"},"change_message_id":"7c8a0e53d1f5923a1ba958161070d1a8928e0ea6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"recipe \u0027openstack-common::set_endpoints_by_interface\u0027, \u0027Set endpoints by interface\u0027"},{"line_number":11,"context_line":"recipe \u0027openstack-common::logging\u0027, \u0027Installs/Configures common logging\u0027"},{"line_number":12,"context_line":"recipe \u0027openstack-common::sysctl\u0027, \u0027Configures sysctl settings\u0027"},{"line_number":13,"context_line":"recipe \u0027openstack-common::openrc\u0027, \u0027Creates openrc file\u0027"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"%w(ubuntu suse redhat centos).each do |os|"},{"line_number":16,"context_line":"  supports os"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_2da5a3b4","line":13,"in_reply_to":"fa69d971_1bb581cf","updated":"2016-01-07 18:25:44.000000000","message":"I like this idea.","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":10,"context_line":"recipe \u0027openstack-common::set_endpoints_by_interface\u0027, \u0027Set endpoints by interface\u0027"},{"line_number":11,"context_line":"recipe \u0027openstack-common::logging\u0027, \u0027Installs/Configures common logging\u0027"},{"line_number":12,"context_line":"recipe \u0027openstack-common::sysctl\u0027, \u0027Configures sysctl settings\u0027"},{"line_number":13,"context_line":"recipe \u0027openstack-common::openrc\u0027, \u0027Creates openrc file\u0027"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"%w(ubuntu suse redhat centos).each do |os|"},{"line_number":16,"context_line":"  supports os"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_f25735c8","line":13,"in_reply_to":"fa69d971_2da5a3b4","updated":"2016-01-08 09:09:26.000000000","message":"Done","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":12,"context_line":"recipe \u0027openstack-common::sysctl\u0027, \u0027Configures sysctl settings\u0027"},{"line_number":13,"context_line":"recipe \u0027openstack-common::openrc\u0027, \u0027Creates openrc file\u0027"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"%w(ubuntu suse redhat centos).each do |os|"},{"line_number":16,"context_line":"  supports os"},{"line_number":17,"context_line":"end"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_fbb3cde7","line":15,"updated":"2016-01-07 16:36:36.000000000","message":"start removing suse stuff now?","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":12,"context_line":"recipe \u0027openstack-common::sysctl\u0027, \u0027Configures sysctl settings\u0027"},{"line_number":13,"context_line":"recipe \u0027openstack-common::openrc\u0027, \u0027Creates openrc file\u0027"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"%w(ubuntu suse redhat centos).each do |os|"},{"line_number":16,"context_line":"  supports os"},{"line_number":17,"context_line":"end"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_125be9f7","line":15,"in_reply_to":"fa69d971_edaeab97","updated":"2016-01-08 09:09:26.000000000","message":"Done","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":12323,"name":"JJ Asghar","email":"jjasghar@gmail.com","username":"jj"},"change_message_id":"7c8a0e53d1f5923a1ba958161070d1a8928e0ea6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"recipe \u0027openstack-common::sysctl\u0027, \u0027Configures sysctl settings\u0027"},{"line_number":13,"context_line":"recipe \u0027openstack-common::openrc\u0027, \u0027Creates openrc file\u0027"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"%w(ubuntu suse redhat centos).each do |os|"},{"line_number":16,"context_line":"  supports os"},{"line_number":17,"context_line":"end"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_edaeab97","line":15,"in_reply_to":"fa69d971_fbb3cde7","updated":"2016-01-07 18:25:44.000000000","message":"I think it\u0027s safe to remove suse at least.","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"}],"spec/cli_spec.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    include_context \u0027library-stubs\u0027"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    describe \u0027openstack_command_env\u0027 do"},{"line_number":17,"context_line":"      before do"},{"line_number":18,"context_line":"        node.set[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity\u0027][\u0027admin\u0027] \u003d {"},{"line_number":19,"context_line":"          host: \u0027127.0.0.1\u0027,"},{"line_number":20,"context_line":"          scheme: \u0027http\u0027,"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_9bf7318c","line":17,"updated":"2016-01-07 16:36:36.000000000","message":"why was this needed?  shouldn\u0027t the default recipe pull in the default attributes?   and then test with the real ones here?","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    include_context \u0027library-stubs\u0027"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    describe \u0027openstack_command_env\u0027 do"},{"line_number":17,"context_line":"      before do"},{"line_number":18,"context_line":"        node.set[\u0027openstack\u0027][\u0027endpoints\u0027][\u0027identity\u0027][\u0027admin\u0027] \u003d {"},{"line_number":19,"context_line":"          host: \u0027127.0.0.1\u0027,"},{"line_number":20,"context_line":"          scheme: \u0027http\u0027,"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_b289bdcc","line":17,"in_reply_to":"fa69d971_9bf7318c","updated":"2016-01-08 09:09:26.000000000","message":"I started removing some of the specific (and generic) identity endpoint attributes from common (as a demonstration of what i would like to do for all services) since this should rather be done in the service cookbooks (no need to set all the orchestration endpoints if you do not use this service). In addition to cleaning up, this also allows easier wrapping since you do not have to override through two layers of attributes (common had set the attribute and service cookbook pulled it in in multiple ways creating complex dependencies). While removing these attributes from identity (rest should probably be done in one big \"cleanup-endpoint-attributes\" patch), i realised that this means either to remove the spec (which i do not like) or to set some values the method can use (which i did here). Pulling in the attributes from the service cookbooks would create a dependency in common and i think common should not depend on any other (openstack) cookbook.","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"}],"spec/endpoints_spec.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    %w(public internal admin).each do |ep_type|"},{"line_number":14,"context_line":"      describe \"#{ep_type}_endpoint\" do"},{"line_number":15,"context_line":"        it \u0027fails with a NoMethodError when no openstack.endpoints not in node attrs\u0027 do"},{"line_number":16,"context_line":"          allow(subject).to receive(:node).and_return({})"},{"line_number":17,"context_line":"          expect do"},{"line_number":18,"context_line":"            subject.send(\"#{ep_type}_endpoint\", \u0027someservice\u0027)"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_5b9219f8","line":15,"updated":"2016-01-07 16:36:36.000000000","message":"...when no openstack.endpointws in node attrs.   remove \"not\"","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    %w(public internal admin).each do |ep_type|"},{"line_number":14,"context_line":"      describe \"#{ep_type}_endpoint\" do"},{"line_number":15,"context_line":"        it \u0027fails with a NoMethodError when no openstack.endpoints not in node attrs\u0027 do"},{"line_number":16,"context_line":"          allow(subject).to receive(:node).and_return({})"},{"line_number":17,"context_line":"          expect do"},{"line_number":18,"context_line":"            subject.send(\"#{ep_type}_endpoint\", \u0027someservice\u0027)"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_32186d84","line":15,"in_reply_to":"fa69d971_5b9219f8","updated":"2016-01-08 09:09:26.000000000","message":"Done","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":19,"context_line":"          end.to raise_error(NoMethodError)"},{"line_number":20,"context_line":"        end"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"        it \u0027fails with a NoMethodError when no such endpoints was found\u0027 do"},{"line_number":23,"context_line":"          allow(subject).to receive(:node).and_return(node)"},{"line_number":24,"context_line":"          expect do"},{"line_number":25,"context_line":"            subject.send(\"#{ep_type}_endpoint\", \u0027someservice\u0027)"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_5ba9b923","line":22,"updated":"2016-01-07 16:36:36.000000000","message":"... no such endpoint found\u0027","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":19,"context_line":"          end.to raise_error(NoMethodError)"},{"line_number":20,"context_line":"        end"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"        it \u0027fails with a NoMethodError when no such endpoints was found\u0027 do"},{"line_number":23,"context_line":"          allow(subject).to receive(:node).and_return(node)"},{"line_number":24,"context_line":"          expect do"},{"line_number":25,"context_line":"            subject.send(\"#{ep_type}_endpoint\", \u0027someservice\u0027)"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_521ba180","line":22,"in_reply_to":"fa69d971_5ba9b923","updated":"2016-01-08 09:09:26.000000000","message":"Done","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":50,"context_line":"              \u0027endpoints\u0027 \u003d\u003e {"},{"line_number":51,"context_line":"                \u0027compute-api\u0027 \u003d\u003e {"},{"line_number":52,"context_line":"                  ep_type \u003d\u003e {"},{"line_number":53,"context_line":"                    \u0027uri\u0027 \u003d\u003e \u0027http://localhost:8080/path\u0027"},{"line_number":54,"context_line":"                  }"},{"line_number":55,"context_line":"                }"},{"line_number":56,"context_line":"              }"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_bb21d5b6","line":53,"updated":"2016-01-07 16:36:36.000000000","message":"maybe choose more obvious test number, like 1234","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":50,"context_line":"              \u0027endpoints\u0027 \u003d\u003e {"},{"line_number":51,"context_line":"                \u0027compute-api\u0027 \u003d\u003e {"},{"line_number":52,"context_line":"                  ep_type \u003d\u003e {"},{"line_number":53,"context_line":"                    \u0027uri\u0027 \u003d\u003e \u0027http://localhost:8080/path\u0027"},{"line_number":54,"context_line":"                  }"},{"line_number":55,"context_line":"                }"},{"line_number":56,"context_line":"              }"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_6d02860b","line":53,"in_reply_to":"fa69d971_bb21d5b6","updated":"2016-01-08 09:09:26.000000000","message":"Done","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        end"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        it \u0027returns endpoint URI object when uri key not in endpoint hash but host is in hash\u0027 do"},{"line_number":83,"context_line":"          skip \u0027TODO: implement\u0027"},{"line_number":84,"context_line":"          subject.should_receive(:uri_from_hash).with(\u0027host\u0027 \u003d\u003e \u0027localhost\u0027, \u0027port\u0027 \u003d\u003e \u00278080\u0027)"},{"line_number":85,"context_line":"          uri_hash \u003d {"},{"line_number":86,"context_line":"            \u0027openstack\u0027 \u003d\u003e {"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_7e5eeb13","line":83,"updated":"2016-01-07 16:36:36.000000000","message":"important test to have?","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        end"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        it \u0027returns endpoint URI object when uri key not in endpoint hash but host is in hash\u0027 do"},{"line_number":83,"context_line":"          skip \u0027TODO: implement\u0027"},{"line_number":84,"context_line":"          subject.should_receive(:uri_from_hash).with(\u0027host\u0027 \u003d\u003e \u0027localhost\u0027, \u0027port\u0027 \u003d\u003e \u00278080\u0027)"},{"line_number":85,"context_line":"          uri_hash \u003d {"},{"line_number":86,"context_line":"            \u0027openstack\u0027 \u003d\u003e {"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_8d625ad7","line":83,"in_reply_to":"fa69d971_7e5eeb13","updated":"2016-01-08 09:09:26.000000000","message":"Done","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"}],"spec/spec_helper.rb":[{"author":{"_account_id":12323,"name":"JJ Asghar","email":"jjasghar@gmail.com","username":"jj"},"change_message_id":"7c8a0e53d1f5923a1ba958161070d1a8928e0ea6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# encoding: UTF-8"},{"line_number":2,"context_line":"require \u0027chefspec\u0027"},{"line_number":3,"context_line":"require \u0027pry\u0027"},{"line_number":4,"context_line":"require \u0027chefspec/berkshelf\u0027"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"ChefSpec::Coverage.start! { add_filter \u0027openstack-common\u0027 }"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_cd33a761","line":3,"updated":"2016-01-07 18:25:44.000000000","message":"I don\u0027t think this is needed.","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# encoding: UTF-8"},{"line_number":2,"context_line":"require \u0027chefspec\u0027"},{"line_number":3,"context_line":"require \u0027pry\u0027"},{"line_number":4,"context_line":"require \u0027chefspec/berkshelf\u0027"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"ChefSpec::Coverage.start! { add_filter \u0027openstack-common\u0027 }"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_8d6c9a9d","line":3,"in_reply_to":"fa69d971_cd33a761","updated":"2016-01-08 09:09:26.000000000","message":"Done","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f9ce9e7124cd242ae527c89dbfe470e583c40b86","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  version: \u00277.1\u0027,"},{"line_number":17,"context_line":"  log_level: LOG_LEVEL"},{"line_number":18,"context_line":"}"},{"line_number":19,"context_line":"SUSE_OPTS \u003d {"},{"line_number":20,"context_line":"  platform: \u0027suse\u0027,"},{"line_number":21,"context_line":"  version: \u002711.3\u0027,"},{"line_number":22,"context_line":"  log_lovel: LOG_LEVEL"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_3e863366","line":19,"updated":"2016-01-07 16:36:36.000000000","message":"start removing suse stuff?","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"3206287a3eb7ecfc995c79b875fd0ad96a09ea81","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  version: \u00277.1\u0027,"},{"line_number":17,"context_line":"  log_level: LOG_LEVEL"},{"line_number":18,"context_line":"}"},{"line_number":19,"context_line":"SUSE_OPTS \u003d {"},{"line_number":20,"context_line":"  platform: \u0027suse\u0027,"},{"line_number":21,"context_line":"  version: \u002711.3\u0027,"},{"line_number":22,"context_line":"  log_lovel: LOG_LEVEL"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_0d0f4ae2","line":19,"in_reply_to":"fa69d971_0d03ff77","updated":"2016-01-08 09:09:26.000000000","message":"Done","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"},{"author":{"_account_id":12323,"name":"JJ Asghar","email":"jjasghar@gmail.com","username":"jj"},"change_message_id":"7c8a0e53d1f5923a1ba958161070d1a8928e0ea6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  version: \u00277.1\u0027,"},{"line_number":17,"context_line":"  log_level: LOG_LEVEL"},{"line_number":18,"context_line":"}"},{"line_number":19,"context_line":"SUSE_OPTS \u003d {"},{"line_number":20,"context_line":"  platform: \u0027suse\u0027,"},{"line_number":21,"context_line":"  version: \u002711.3\u0027,"},{"line_number":22,"context_line":"  log_lovel: LOG_LEVEL"}],"source_content_type":"text/x-ruby","patch_set":8,"id":"fa69d971_0d03ff77","line":19,"in_reply_to":"fa69d971_3e863366","updated":"2016-01-07 18:25:44.000000000","message":"+1","commit_id":"42fe150ce13fdd558adcaf30d08ff171200be3b5"}],"templates/default/openstack-service.conf.erb":[{"author":{"_account_id":9488,"name":"chenzhiwei","email":"zhiweik@gmail.com","username":"chenzhiwei"},"change_message_id":"7eb921631332077d84df468dcdc892da48a6d2f1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c%\u003d node[\"openstack\"][\"common\"][\"custom_template_banner\"] %\u003e"},{"line_number":2,"context_line":"\u003c% @service_config.each do |section, values| -%\u003e"},{"line_number":3,"context_line":"[\u003c%\u003d section %\u003e]"},{"line_number":4,"context_line":"  \u003c% values.each do |key, value| -%\u003e"}],"source_content_type":"application/x-erb","patch_set":15,"id":"9a68dd71_a87eb267","line":1,"updated":"2016-01-25 05:50:44.000000000","message":"Could you change the double quotes to single quote in this template file? Just want to unify the style of quotes.","commit_id":"dd5f5bd1b2d2a9dda51652dbc810f955c56671a0"}]}
