)]}'
{"lib/puppet/provider/swift_ring_builder.rb":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":115,"context_line":"  end"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  def self.ring"},{"line_number":118,"context_line":"    self.class.ring"},{"line_number":119,"context_line":"  end"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"  def builder_file_path(policy_index)"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"7aa08908_88c34b38","line":118,"updated":"2016-06-09 11:56:35.000000000","message":"i guess, that all getters/setters which are using ring - will use method from swift_ring_* providers now?","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":115,"context_line":"  end"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  def self.ring"},{"line_number":118,"context_line":"    self.class.ring"},{"line_number":119,"context_line":"  end"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"  def builder_file_path(policy_index)"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"7aa08908_22dbaf7d","line":118,"in_reply_to":"7aa08908_88c34b38","updated":"2016-06-13 19:09:02.000000000","message":"This is a good point.  I am going to remove this method here.  It is not needed anymore. \nIt will use the method from swift_ring_* as you mention.\n\nI had to change the scope of the method definitions,  the reason is because \"resource[:*]\" can\u0027t be accessed from within a class method (i.e... \"self.\").","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":151,"context_line":"    end"},{"line_number":152,"context_line":"  end"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  def device_path"},{"line_number":155,"context_line":"    if resource[:name].split(/^\\d+:/)[1].nil?"},{"line_number":156,"context_line":"      return resource[:name]"},{"line_number":157,"context_line":"    else"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"7aa08908_685edf13","line":154,"updated":"2016-06-09 11:56:35.000000000","message":"after looking at swift output example above, i don\u0027t understand this: ^\\d+: \n\nno any output starting with digit and \u0027:\u0027. May be you can put example here as comment, for better understanding?","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":151,"context_line":"    end"},{"line_number":152,"context_line":"  end"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  def device_path"},{"line_number":155,"context_line":"    if resource[:name].split(/^\\d+:/)[1].nil?"},{"line_number":156,"context_line":"      return resource[:name]"},{"line_number":157,"context_line":"    else"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"7aa08908_8246e3bd","line":154,"in_reply_to":"7aa08908_685edf13","updated":"2016-06-13 19:09:02.000000000","message":"Yes, I have to add documents to this still.\n\nTo specify an object storage policy index, a user can now define a device as follows:\n\n    ring_object_device { \"1:127.0.0.1:6020/2\":\n      zone         \u003d\u003e 2,\n      weight       \u003d\u003e 1,\n      require      \u003d\u003e Swift::Storage::Loopback[\u00272\u0027] ,\n    }\n\nThis would define a ring_object_device that belongs to policy 1. This change is backward compatible - a user does not have to define a policy.\n\n\nI have added similar to the acceptance tests \"basic swift test\"","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    else"},{"line_number":166,"context_line":"      Integer(\"#{resource[:name].match(/^\\d+/)}\")"},{"line_number":167,"context_line":"    end"},{"line_number":168,"context_line":"  end   "},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"  def id"},{"line_number":171,"context_line":"    ring[resource[:name]][:id]"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"7aa08908_a8028707","line":168,"updated":"2016-06-09 11:56:35.000000000","message":"spaces :)","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    else"},{"line_number":166,"context_line":"      Integer(\"#{resource[:name].match(/^\\d+/)}\")"},{"line_number":167,"context_line":"    end"},{"line_number":168,"context_line":"  end   "},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"  def id"},{"line_number":171,"context_line":"    ring[resource[:name]][:id]"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"7aa08908_9f048015","line":168,"in_reply_to":"7aa08908_a8028707","updated":"2016-06-13 19:09:02.000000000","message":"Done","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"825d57daf98edfe139c2280b5fd9319dabd6ada9","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    end"},{"line_number":18,"context_line":"  end"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  def lookup_ring"},{"line_number":21,"context_line":"    object_hash \u003d {}"},{"line_number":22,"context_line":"    if File.exists?(builder_file_path(policy_index))"},{"line_number":23,"context_line":"      # Swift \u003c 2.2.2 Skip first 4 info lines from swift-ring-builder output"}],"source_content_type":"text/x-ruby","patch_set":4,"id":"3aaa91ec_4161cf38","line":20,"updated":"2016-06-23 12:58:00.000000000","message":"should be changed in tests also","commit_id":"fc7ba11ff805fb695fc54bacf356a7cbe1119aaf"}],"manifests/ringbuilder/create.pp":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"  include ::swift::deps"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"#  validate_re($name, \u0027^object|container|account$\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  exec { \"create_${name}\":"},{"line_number":47,"context_line":"    command \u003d\u003e \"swift-ring-builder /etc/swift/${name}.builder create ${part_power} ${replicas} ${min_part_hours}\","}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_0843db6d","line":44,"updated":"2016-06-09 11:56:35.000000000","message":"why you commented it?","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"  include ::swift::deps"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"#  validate_re($name, \u0027^object|container|account$\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  exec { \"create_${name}\":"},{"line_number":47,"context_line":"    command \u003d\u003e \"swift-ring-builder /etc/swift/${name}.builder create ${part_power} ${replicas} ${min_part_hours}\","}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_a2179fa1","line":44,"in_reply_to":"7aa08908_0843db6d","updated":"2016-06-13 19:09:02.000000000","message":"Ah, just work-in-progress - I need to adjust the validate line next.","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"}],"manifests/ringbuilder/policy_ring.pp":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":8,"context_line":"#  [*part_power*] The total number of partitions that should exist in the ring."},{"line_number":9,"context_line":"#    This is expressed as a power of 2."},{"line_number":10,"context_line":"#  [*replicas*] Numer of replicas that should be maintained of each stored object."},{"line_number":11,"context_line":"#  [*min_part_hours*] Minimum amount of time before partitions can be moved."},{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":"# \u003d\u003d Dependencies"},{"line_number":14,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_4853236d","line":11,"updated":"2016-06-09 11:56:35.000000000","message":"looks like you need fix doc style here :) to be consistent with all our docs","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":8,"context_line":"#  [*part_power*] The total number of partitions that should exist in the ring."},{"line_number":9,"context_line":"#    This is expressed as a power of 2."},{"line_number":10,"context_line":"#  [*replicas*] Numer of replicas that should be maintained of each stored object."},{"line_number":11,"context_line":"#  [*min_part_hours*] Minimum amount of time before partitions can be moved."},{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":"# \u003d\u003d Dependencies"},{"line_number":14,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_42551b4e","line":11,"in_reply_to":"7aa08908_4853236d","updated":"2016-06-13 19:09:02.000000000","message":"I can do that, this is pre-exisiting from the ringbuilder.pp file.  I\u0027ll update that too.","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  include ::swift::deps"},{"line_number":35,"context_line":"  Class[\u0027swift\u0027] -\u003e Swift::Ringbuilder::Policy_ring[$title]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"  if $title \u003d\u003d \u00270\u0027 {"},{"line_number":38,"context_line":"    $object \u003d \u0027object\u0027"},{"line_number":39,"context_line":"    swift::ringbuilder::create{ [$object, \u0027account\u0027, \u0027container\u0027]:"},{"line_number":40,"context_line":"      part_power     \u003d\u003e $part_power,"},{"line_number":41,"context_line":"      replicas       \u003d\u003e $replicas,"},{"line_number":42,"context_line":"      min_part_hours \u003d\u003e $min_part_hours,"},{"line_number":43,"context_line":"    }"},{"line_number":44,"context_line":"    swift::ringbuilder::rebalance{ [$object, \u0027account\u0027, \u0027container\u0027]: }"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  } else {"},{"line_number":47,"context_line":"    $object \u003d \"object-${title}\""},{"line_number":48,"context_line":"    swift::ringbuilder::create{ [$object]:"},{"line_number":49,"context_line":"      part_power     \u003d\u003e $part_power,"},{"line_number":50,"context_line":"      replicas       \u003d\u003e $replicas,"},{"line_number":51,"context_line":"      min_part_hours \u003d\u003e $min_part_hours,"},{"line_number":52,"context_line":"    }"},{"line_number":53,"context_line":"    swift::ringbuilder::rebalance{ [$object]: }"},{"line_number":54,"context_line":"  }"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  Swift::Ringbuilder::Create[$object] -\u003e Ring_object_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[$object]"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_88922bf5","line":54,"range":{"start_line":37,"start_character":0,"end_line":54,"end_character":3},"updated":"2016-06-09 11:56:35.000000000","message":"this can be refactored like:\n\n if $title \u003d\u003d \u00270\u0027 {\n   $storages \u003d [ \u0027object\u0027 , \u0027account\u0027, \u0027container\u0027]\n } else {\n   $storages \u003d [ \"object-${title}\" ]\n }\n\n swift::ringbuilder::create{ $storages :\n   part_power     \u003d\u003e $part_power,\n   replicas       \u003d\u003e $replicas,\n   min_part_hours \u003d\u003e $min_part_hours,\n }\n swift::ringbuilder::rebalance{ $storages : }","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  include ::swift::deps"},{"line_number":35,"context_line":"  Class[\u0027swift\u0027] -\u003e Swift::Ringbuilder::Policy_ring[$title]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"  if $title \u003d\u003d \u00270\u0027 {"},{"line_number":38,"context_line":"    $object \u003d \u0027object\u0027"},{"line_number":39,"context_line":"    swift::ringbuilder::create{ [$object, \u0027account\u0027, \u0027container\u0027]:"},{"line_number":40,"context_line":"      part_power     \u003d\u003e $part_power,"},{"line_number":41,"context_line":"      replicas       \u003d\u003e $replicas,"},{"line_number":42,"context_line":"      min_part_hours \u003d\u003e $min_part_hours,"},{"line_number":43,"context_line":"    }"},{"line_number":44,"context_line":"    swift::ringbuilder::rebalance{ [$object, \u0027account\u0027, \u0027container\u0027]: }"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  } else {"},{"line_number":47,"context_line":"    $object \u003d \"object-${title}\""},{"line_number":48,"context_line":"    swift::ringbuilder::create{ [$object]:"},{"line_number":49,"context_line":"      part_power     \u003d\u003e $part_power,"},{"line_number":50,"context_line":"      replicas       \u003d\u003e $replicas,"},{"line_number":51,"context_line":"      min_part_hours \u003d\u003e $min_part_hours,"},{"line_number":52,"context_line":"    }"},{"line_number":53,"context_line":"    swift::ringbuilder::rebalance{ [$object]: }"},{"line_number":54,"context_line":"  }"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  Swift::Ringbuilder::Create[$object] -\u003e Ring_object_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[$object]"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_7d4f1c34","line":54,"range":{"start_line":37,"start_character":0,"end_line":54,"end_character":3},"in_reply_to":"7aa08908_88922bf5","updated":"2016-06-13 19:09:02.000000000","message":"This is a good refactor.  I have added this to the next patch set.","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  Swift::Ringbuilder::Create[$object] -\u003e Ring_object_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[$object]"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  Swift::Ringbuilder::Create[\u0027container\u0027] -\u003e Ring_container_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[\u0027container\u0027]"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  Swift::Ringbuilder::Create[\u0027account\u0027] -\u003e Ring_account_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[\u0027account\u0027]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_88806b8d","line":60,"range":{"start_line":58,"start_character":0,"end_line":60,"end_character":112},"updated":"2016-06-09 11:56:35.000000000","message":"in else if section, that will not be created","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  Swift::Ringbuilder::Create[$object] -\u003e Ring_object_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[$object]"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  Swift::Ringbuilder::Create[\u0027container\u0027] -\u003e Ring_container_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[\u0027container\u0027]"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  Swift::Ringbuilder::Create[\u0027account\u0027] -\u003e Ring_account_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[\u0027account\u0027]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_fd278c60","line":60,"range":{"start_line":58,"start_character":0,"end_line":60,"end_character":112},"in_reply_to":"7aa08908_88806b8d","updated":"2016-06-13 19:09:02.000000000","message":"On requirement is that there is always a policy 0.  Policy 0 is the only place the account/container rings are created. Policy 0 is also an object policy as well. So these resources should always exist, even in the case of a policy \u003e 0","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"892fdf131abf6b9d596f5151fadc85e888394446","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  Swift::Ringbuilder::Create[$object] -\u003e Ring_object_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[$object]"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  Swift::Ringbuilder::Create[\u0027container\u0027] -\u003e Ring_container_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[\u0027container\u0027]"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  Swift::Ringbuilder::Create[\u0027account\u0027] -\u003e Ring_account_device \u003c| |\u003e ~\u003e Swift::Ringbuilder::Rebalance[\u0027account\u0027]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_0cc20885","line":60,"range":{"start_line":58,"start_character":0,"end_line":60,"end_character":112},"in_reply_to":"7aa08908_fd278c60","updated":"2016-06-14 11:12:18.000000000","message":"So, this assumes, that policy_ring { \u00271\u0027: } can be created  only with policy_ring { \u00270\u0027: } in one catalog?\n\nWhat\u0027s about update/upgrade? When we already deployed \u00270\u0027 and want \u00271\u0027, for example? Will it raise some fails?","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"}],"manifests/ringbuilder/rebalance.pp":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"  include ::swift::deps"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"#  validate_re($name, \u0027^object|container|account$\u0027)"},{"line_number":18,"context_line":"  if $seed {"},{"line_number":19,"context_line":"    validate_re($seed, \u0027^\\d+$\u0027)"},{"line_number":20,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_a83447fb","line":17,"updated":"2016-06-09 11:56:35.000000000","message":"same as for create :)","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"  include ::swift::deps"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"#  validate_re($name, \u0027^object|container|account$\u0027)"},{"line_number":18,"context_line":"  if $seed {"},{"line_number":19,"context_line":"    validate_re($seed, \u0027^\\d+$\u0027)"},{"line_number":20,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_7d143ce8","line":17,"in_reply_to":"7aa08908_a83447fb","updated":"2016-06-13 19:09:02.000000000","message":"Done","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"}],"manifests/storage/node.pp":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"#  [*policy_index*]"},{"line_number":42,"context_line":"#    (optional) storage policy index"},{"line_number":43,"context_line":"#    Defaults to undef"},{"line_number":44,"context_line":"# \u003d\u003d\u003d\u003d DEPRECATED PARAMETERS"},{"line_number":45,"context_line":"#"},{"line_number":46,"context_line":"# [*manage_ring*]"},{"line_number":47,"context_line":"#   This parameter is deprecated and does nothing."}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_68025f0d","line":44,"updated":"2016-06-09 11:56:35.000000000","message":"empty # line :)","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"#  [*policy_index*]"},{"line_number":42,"context_line":"#    (optional) storage policy index"},{"line_number":43,"context_line":"#    Defaults to undef"},{"line_number":44,"context_line":"# \u003d\u003d\u003d\u003d DEPRECATED PARAMETERS"},{"line_number":45,"context_line":"#"},{"line_number":46,"context_line":"# [*manage_ring*]"},{"line_number":47,"context_line":"#   This parameter is deprecated and does nothing."}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_fd830c01","line":44,"in_reply_to":"7aa08908_68025f0d","updated":"2016-06-13 19:09:02.000000000","message":"I am going to remove this manage_ring in the next patch.. it\u0027s deprecated for a long time and does nothing.","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    ring_object_device { \"${policy_index}:${storage_local_net_ip}:60${name}0/${name}\":"},{"line_number":86,"context_line":"      zone   \u003d\u003e $zone,"},{"line_number":87,"context_line":"      weight \u003d\u003e $weight,"},{"line_number":88,"context_line":"    }"},{"line_number":89,"context_line":"  }"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  swift::storage::server { \"60${name}1\":"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_88050b16","line":88,"updated":"2016-06-09 11:56:35.000000000","message":"may be better to have under if only device string?","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    ring_object_device { \"${policy_index}:${storage_local_net_ip}:60${name}0/${name}\":"},{"line_number":86,"context_line":"      zone   \u003d\u003e $zone,"},{"line_number":87,"context_line":"      weight \u003d\u003e $weight,"},{"line_number":88,"context_line":"    }"},{"line_number":89,"context_line":"  }"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  swift::storage::server { \"60${name}1\":"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_9dd80820","line":88,"in_reply_to":"7aa08908_88050b16","updated":"2016-06-13 19:09:02.000000000","message":"What do you mean?","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"892fdf131abf6b9d596f5151fadc85e888394446","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    ring_object_device { \"${policy_index}:${storage_local_net_ip}:60${name}0/${name}\":"},{"line_number":86,"context_line":"      zone   \u003d\u003e $zone,"},{"line_number":87,"context_line":"      weight \u003d\u003e $weight,"},{"line_number":88,"context_line":"    }"},{"line_number":89,"context_line":"  }"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  swift::storage::server { \"60${name}1\":"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_8c6398b0","line":88,"in_reply_to":"7aa08908_9dd80820","updated":"2016-06-14 11:12:18.000000000","message":"nit: just a refacto :)\n\nif !$policy_index {\n   $ring_device \u003d ${storage_local_net_ip}:60${name}0/${name}\" \n  } else {\n   $ring_device \u003d \"${policy_index}:${storage_local_net_ip}:60${name}0/${name}\"\n}\n\nring_object_device { $ring_device:\n      zone   \u003d\u003e $zone,\n      weight \u003d\u003e $weight,\n    }","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"7354aa78bcf4794091f6afa04f9f0d81c3ade716","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    type             \u003d\u003e \u0027object\u0027,"},{"line_number":69,"context_line":"    config_file_path \u003d\u003e \u0027object-server.conf\u0027,"},{"line_number":70,"context_line":"  }"},{"line_number":71,"context_line":"  "},{"line_number":72,"context_line":"  if !$policy_index {"},{"line_number":73,"context_line":"    $ring_device \u003d \"${storage_local_net_ip}:60${name}0/${name}\""},{"line_number":74,"context_line":"  } else {"}],"source_content_type":"text/x-puppet","patch_set":18,"id":"7a77a97e_2f666e29","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":2},"updated":"2016-11-22 14:44:37.000000000","message":"I guess there\u0027s whitespace here so lint fails","commit_id":"127dd87c67b9c11323fca44d57f999daf5122d09"}],"manifests/storage/policy.pp":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Class swift::storage::policy"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# \u003d\u003d Parameters"},{"line_number":4,"context_line":"#  [*policy_aliases*]"},{"line_number":5,"context_line":"#    (optional) An array of aliases to use for this storage policy"},{"line_number":6,"context_line":"#    name.  Nams and aliases must be unique across all policies."},{"line_number":7,"context_line":"#    Defaults to \u0027[]\u0027."}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_a302a807","line":4,"updated":"2016-06-09 11:56:35.000000000","message":"empty # line","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"892fdf131abf6b9d596f5151fadc85e888394446","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Class swift::storage::policy"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# \u003d\u003d Parameters"},{"line_number":4,"context_line":"#  [*policy_aliases*]"},{"line_number":5,"context_line":"#    (optional) An array of aliases to use for this storage policy"},{"line_number":6,"context_line":"#    name.  Nams and aliases must be unique across all policies."},{"line_number":7,"context_line":"#    Defaults to \u0027[]\u0027."}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_0c704871","line":4,"in_reply_to":"7aa08908_7d439caf","updated":"2016-06-14 11:12:18.000000000","message":"after parameters title","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Class swift::storage::policy"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# \u003d\u003d Parameters"},{"line_number":4,"context_line":"#  [*policy_aliases*]"},{"line_number":5,"context_line":"#    (optional) An array of aliases to use for this storage policy"},{"line_number":6,"context_line":"#    name.  Nams and aliases must be unique across all policies."},{"line_number":7,"context_line":"#    Defaults to \u0027[]\u0027."}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_7d439caf","line":4,"in_reply_to":"7aa08908_a302a807","updated":"2016-06-13 19:09:02.000000000","message":"which?","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"#    Defaults to 10."},{"line_number":33,"context_line":"#"},{"line_number":34,"context_line":"#  [*ec_num_parity_fragments*]"},{"line_number":35,"context_line":"#    (optional) The total number of fragments that will be "},{"line_number":36,"context_line":"#    comprised of parity."},{"line_number":37,"context_line":"#    Defaults to 4."},{"line_number":38,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_881fcbb6","line":35,"updated":"2016-06-09 11:56:35.000000000","message":"space","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":32,"context_line":"#    Defaults to 10."},{"line_number":33,"context_line":"#"},{"line_number":34,"context_line":"#  [*ec_num_parity_fragments*]"},{"line_number":35,"context_line":"#    (optional) The total number of fragments that will be "},{"line_number":36,"context_line":"#    comprised of parity."},{"line_number":37,"context_line":"#    Defaults to 4."},{"line_number":38,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_5d27c011","line":35,"in_reply_to":"7aa08908_881fcbb6","updated":"2016-06-13 19:09:02.000000000","message":"Done","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"#    feeding a segment into the encoder/decoder in bytes."},{"line_number":42,"context_line":"#    Defaults to 1048576"},{"line_number":43,"context_line":"#"},{"line_number":44,"context_line":"#"},{"line_number":45,"context_line":"define swift::storage::policy("},{"line_number":46,"context_line":"  $policy_aliases          \u003d [],"},{"line_number":47,"context_line":"  $policy_index            \u003d $name,"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_e32310a6","line":44,"updated":"2016-06-09 11:56:35.000000000","message":"no need in double # lines","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"#    feeding a segment into the encoder/decoder in bytes."},{"line_number":42,"context_line":"#    Defaults to 1048576"},{"line_number":43,"context_line":"#"},{"line_number":44,"context_line":"#"},{"line_number":45,"context_line":"define swift::storage::policy("},{"line_number":46,"context_line":"  $policy_aliases          \u003d [],"},{"line_number":47,"context_line":"  $policy_index            \u003d $name,"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_3d24740b","line":44,"in_reply_to":"7aa08908_e32310a6","updated":"2016-06-13 19:09:02.000000000","message":"Done","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"}],"manifests/storage/policy/name.pp":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"94726c001baa12ac2f4ec6222ffe67957df62c2e","unresolved":false,"context_lines":[{"line_number":8,"context_line":") {"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"  include ::swift::deps"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_c34b745e","line":11,"updated":"2016-06-09 11:56:35.000000000","message":"should this class contain some actions?","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":11176,"name":"Adam Vinsh","email":"adam.vinsh@viasat.com","username":"vinsh"},"change_message_id":"84c566353212b2dc77be4a45875115bee4a15dc9","unresolved":false,"context_lines":[{"line_number":8,"context_line":") {"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"  include ::swift::deps"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_fdd2eccf","line":11,"in_reply_to":"7aa08908_c34b745e","updated":"2016-06-13 19:09:02.000000000","message":"This class is used by \nhttps://review.openstack.org/#/c/327298/1/manifests/storage/policy.pp  lines 57-60\n\nSwift policy names must be unique across all policies/names/aliases.  This way I can make sure the operator does not create duplicates.  Puppet will error if they are because it would be a duplicate declaration.\n\nCan you think of a better way to do this?  One way might be writing a file name to disk and checking if that exists.. but that seems worse.","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"892fdf131abf6b9d596f5151fadc85e888394446","unresolved":false,"context_lines":[{"line_number":8,"context_line":") {"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"  include ::swift::deps"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"7aa08908_4c99b078","line":11,"in_reply_to":"7aa08908_fdd2eccf","updated":"2016-06-14 11:12:18.000000000","message":"Well, i got your point.\n\nAs an option, may be we can create some fake resource with create_resource function? It looks like your solution, but may be puppet really has some fake resources?","commit_id":"95a6160cf572f96563504c70f9c458a4038d1e20"}]}
