)]}'
{"lib/puppet/provider/nova.rb":[{"author":{"_account_id":9060,"name":"Mike Dorman","email":"dorm@dorm.org","username":"gd-mdorman"},"change_message_id":"4e89f0153d97650450dcafce3a92f5cc44abb69e","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    cmd_output \u003d auth_nova(\"host-list\")"},{"line_number":163,"context_line":"    hash_list \u003d cliout2list(cmd_output)"},{"line_number":164,"context_line":"    # Don\u0027t care about zone"},{"line_number":165,"context_line":"    hash_list.map{ |e| e.delete(\"zone\")}"},{"line_number":166,"context_line":"    return hash_list"},{"line_number":167,"context_line":"  end"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":6,"id":"3a29b11f_ca9a9e14","line":165,"updated":"2015-10-19 17:52:00.000000000","message":"Won\u0027t -1 for this, but why delete zone here? Might be future use cases where this info could be useful?","commit_id":"b5479ccc0ce2f3f42b72b51e277451bbedf700a4"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"8819c1a5626870a91afb929a12eded7b2cb06ab1","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    cmd_output \u003d auth_nova(\"host-list\")"},{"line_number":163,"context_line":"    hash_list \u003d cliout2list(cmd_output)"},{"line_number":164,"context_line":"    # Don\u0027t care about zone"},{"line_number":165,"context_line":"    hash_list.map{ |e| e.delete(\"zone\")}"},{"line_number":166,"context_line":"    return hash_list"},{"line_number":167,"context_line":"  end"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":6,"id":"3a29b11f_c73b499b","line":165,"in_reply_to":"3a29b11f_ca9a9e14","updated":"2015-10-20 13:55:20.000000000","message":"Agreed with Mike","commit_id":"b5479ccc0ce2f3f42b72b51e277451bbedf700a4"}],"lib/puppet/provider/nova_aggregate/nova.rb":[{"author":{"_account_id":10540,"name":"Clayton O\u0027Neill","email":"clayton.oneill@charter.com","username":"coneill"},"change_message_id":"fa35073ec91d1ca6abd0665f121a91c65b075c27","unresolved":false,"context_lines":[{"line_number":95,"context_line":"  end"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  def is_host_in_nova?(host)"},{"line_number":98,"context_line":"    return host\u003d\u003dself.class.nova_get_host_by_name_and_type(host, \"compute\")"},{"line_number":99,"context_line":"  end"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  def hosts\u003d(val)"}],"source_content_type":"text/x-ruby","patch_set":6,"id":"3a29b11f_51671625","line":98,"updated":"2015-10-19 22:40:46.000000000","message":"It looks like this is calling nova host-list for every host in the aggregate? Is that right?  What is the performance impact?","commit_id":"b5479ccc0ce2f3f42b72b51e277451bbedf700a4"},{"author":{"_account_id":9060,"name":"Mike Dorman","email":"dorm@dorm.org","username":"gd-mdorman"},"change_message_id":"8dcfd1655203a9b93ad36a1d3068df8b074abac2","unresolved":false,"context_lines":[{"line_number":95,"context_line":"  end"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  def is_host_in_nova?(host)"},{"line_number":98,"context_line":"    return host\u003d\u003dself.class.nova_get_host_by_name_and_type(host, \"compute\")"},{"line_number":99,"context_line":"  end"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  def hosts\u003d(val)"}],"source_content_type":"text/x-ruby","patch_set":6,"id":"3a29b11f_2d83ec05","line":98,"in_reply_to":"3a29b11f_47c73945","updated":"2015-10-20 20:06:51.000000000","message":"+1 on caching, that would be good.  Not opposed to merging this patch without, but if nothing else would like to see that as a fast follow to this one.","commit_id":"b5479ccc0ce2f3f42b72b51e277451bbedf700a4"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"8819c1a5626870a91afb929a12eded7b2cb06ab1","unresolved":false,"context_lines":[{"line_number":95,"context_line":"  end"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  def is_host_in_nova?(host)"},{"line_number":98,"context_line":"    return host\u003d\u003dself.class.nova_get_host_by_name_and_type(host, \"compute\")"},{"line_number":99,"context_line":"  end"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  def hosts\u003d(val)"}],"source_content_type":"text/x-ruby","patch_set":6,"id":"3a29b11f_47c73945","line":98,"in_reply_to":"3a29b11f_51671625","updated":"2015-10-20 13:55:20.000000000","message":"Yep, probably we can run this once. In parent class we have method, which returns all hosts. Here we can have some variable, which will keep this array of hosts. And this variable can be filled in exists? method. So, any checks is host in nova or not just will use array variable.","commit_id":"b5479ccc0ce2f3f42b72b51e277451bbedf700a4"}],"spec/unit/provider/nova_spec.rb":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"2d6f4d0d54bc8c1f60bb9db635b209e37160611b","unresolved":false,"context_lines":[{"line_number":299,"context_line":"+-------------------+-------------+----------+"},{"line_number":300,"context_line":"      EOT"},{"line_number":301,"context_line":"      # used the cache copy, don\u0027t call nova again"},{"line_number":302,"context_line":"      klass.expects(:auth_nova).never()"},{"line_number":303,"context_line":"      res \u003d klass.nova_get_host_by_name_and_type(\"node-compute-002\",\"internal\")"},{"line_number":304,"context_line":"      expect(res).to eql(nil)"},{"line_number":305,"context_line":"    end"}],"source_content_type":"text/x-ruby","patch_set":10,"id":"3a29b11f_cc3d4c90","line":302,"updated":"2015-10-22 10:12:11.000000000","message":"Cool, thanks!","commit_id":"580f6289d96e073552cade94087c690d6421d046"}]}
