)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"d9b3aa60888491d9174289844ac1827a7e799a7e","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-05-13 09:46:43 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"OneView client with managers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I7502212fa340e3a142b5aaa5b590dd4d4254e022"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"dab17558_3ad177fc","line":8,"updated":"2016-05-13 13:23:08.000000000","message":"Even quite obvious, please describe the problem in the commit message.","commit_id":"518af44accd536c9ee2b84059c3a6bb557b3b7df"}],"oneview_client/client.py":[{"author":{"_account_id":10917,"name":"Gabriel Bezerra","email":"gabrielb@lsd.ufcg.edu.br","username":"gabriel.bezerra"},"change_message_id":"5370600d1e346c8ff5ddd34d3d67403422a340c0","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            return task"},{"line_number":213,"context_line":"        return wait(task)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _get_ilo_access(self, server_hardware_uuid):"},{"line_number":216,"context_line":"        uri \u003d (\"/rest/server-hardware/%s/remoteConsoleUrl\""},{"line_number":217,"context_line":"               % server_hardware_uuid)"},{"line_number":218,"context_line":"        json \u003d self._prepare_and_do_request(uri)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_250f4b38","line":215,"updated":"2016-04-06 17:31:50.000000000","message":"Shouldn\u0027t this be in an iLO manager?","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"c92a42914a010b7cead39a4d5caf62d3218d27cd","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            return task"},{"line_number":213,"context_line":"        return wait(task)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _get_ilo_access(self, server_hardware_uuid):"},{"line_number":216,"context_line":"        uri \u003d (\"/rest/server-hardware/%s/remoteConsoleUrl\""},{"line_number":217,"context_line":"               % server_hardware_uuid)"},{"line_number":218,"context_line":"        json \u003d self._prepare_and_do_request(uri)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_8f18e4d4","line":215,"in_reply_to":"9a061dce_250f4b38","updated":"2016-04-06 21:10:05.000000000","message":"We get the iLO access token by asking OneView. `ilo_utils` doesn\u0027t know about OneView.","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"},{"author":{"_account_id":10917,"name":"Gabriel Bezerra","email":"gabrielb@lsd.ufcg.edu.br","username":"gabriel.bezerra"},"change_message_id":"5370600d1e346c8ff5ddd34d3d67403422a340c0","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        )"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"class Client(BaseClient):"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def __init__("},{"line_number":260,"context_line":"        self, manager_url, username, password,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_589ea263","line":257,"updated":"2016-04-06 17:31:50.000000000","message":"Missing a deprecation message? At least a docstring about this?\n\nThis Client should be supported while the current drivers are supported, so, at least until OpenStack O (2 releases -\u003e dropped in OpenStack P) if new drivers start using ClientV2 before Newton.","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"c92a42914a010b7cead39a4d5caf62d3218d27cd","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        )"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"class Client(BaseClient):"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def __init__("},{"line_number":260,"context_line":"        self, manager_url, username, password,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_af61683b","line":257,"in_reply_to":"9a061dce_589ea263","updated":"2016-04-06 21:10:05.000000000","message":"Since we do not have a plan to upgrade the driver with the new ClientV2 nor have it completely implemented, I don\u0027t think it\u0027s time to deprecate it.","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"},{"author":{"_account_id":10917,"name":"Gabriel Bezerra","email":"gabrielb@lsd.ufcg.edu.br","username":"gabriel.bezerra"},"change_message_id":"5370600d1e346c8ff5ddd34d3d67403422a340c0","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        super(Client, self).__init__(manager_url, username, password,"},{"line_number":265,"context_line":"                                     allow_insecure_connections,"},{"line_number":266,"context_line":"                                     tls_cacert_file, max_polling_attempts)"},{"line_number":267,"context_line":"        # Next generation"},{"line_number":268,"context_line":"        self._enclosure_group \u003d managers.EnclosureGroupManager(self)"},{"line_number":269,"context_line":"        self._server_hardware \u003d managers.ServerHardwareManager(self)"},{"line_number":270,"context_line":"        self._server_profile_template \u003d managers.ServerProfileTemplateManager("}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_789c460f","line":267,"updated":"2016-04-06 17:31:50.000000000","message":"I have a feeling this can reuse the ClientV2 instead of having duplicated instantiation code. A minor issue, though.","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"}],"oneview_client/managers.py":[{"author":{"_account_id":10917,"name":"Gabriel Bezerra","email":"gabrielb@lsd.ufcg.edu.br","username":"gabriel.bezerra"},"change_message_id":"5370600d1e346c8ff5ddd34d3d67403422a340c0","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def create(self, **kwargs):"},{"line_number":84,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be \""},{"line_number":85,"context_line":"                                  \"created, only imported.\")"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def delete(self, uuid):"},{"line_number":88,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be \""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_e3438611","line":85,"updated":"2016-04-06 17:31:50.000000000","message":"The \"only imported\" part is confusing, as it would make users think the library would have a \"import\" method.\n\nI think you can remove the parts after the comma from all these exception messages.","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"c92a42914a010b7cead39a4d5caf62d3218d27cd","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def create(self, **kwargs):"},{"line_number":84,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be \""},{"line_number":85,"context_line":"                                  \"created, only imported.\")"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def delete(self, uuid):"},{"line_number":88,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be \""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_4f7c0cb5","line":85,"in_reply_to":"9a061dce_e3438611","updated":"2016-04-06 21:10:05.000000000","message":"Done","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"},{"author":{"_account_id":10917,"name":"Gabriel Bezerra","email":"gabrielb@lsd.ufcg.edu.br","username":"gabriel.bezerra"},"change_message_id":"5370600d1e346c8ff5ddd34d3d67403422a340c0","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    # TODO(thiagop): defer the call to retrieve related objects only when"},{"line_number":110,"context_line":"    # they\u0027re called"},{"line_number":111,"context_line":"    def fetch_related_objects(self, sh):"},{"line_number":112,"context_line":"        if sh.enclosure_group_uri:"},{"line_number":113,"context_line":"            eg_uuid \u003d utils.get_uuid_from_uri(sh.enclosure_group_uri)"},{"line_number":114,"context_line":"            eg \u003d EnclosureGroupManager(self.oneview_client).get(eg_uuid)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_9bbcb4dd","line":111,"updated":"2016-04-06 17:31:50.000000000","message":"How much are these objects used? I don\u0027t like it to be retrieving them here.\n\nI would, instead, parse the UUID from the URI -- which is cheap -- and save in the object. Then, let the client code (code that uses the library) deal with retrieving the objects -- even if it becomes a helper method like enclosure_group_of_server_hardware(sh_uuid) in the ClientV2 class, as it crosses managers.\n\nLet\u0027s not put too much cleverness in these managers. They should be DDD Repositories, with EnclosureGroup, ServerHardwareType and ServerHardware as DDD Aggregates.\n\nNotice that it also implies not putting cleverness in the domain object as well. ServerHardware should know nothing about using the Client to retrieve other objects.","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"c92a42914a010b7cead39a4d5caf62d3218d27cd","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    # TODO(thiagop): defer the call to retrieve related objects only when"},{"line_number":110,"context_line":"    # they\u0027re called"},{"line_number":111,"context_line":"    def fetch_related_objects(self, sh):"},{"line_number":112,"context_line":"        if sh.enclosure_group_uri:"},{"line_number":113,"context_line":"            eg_uuid \u003d utils.get_uuid_from_uri(sh.enclosure_group_uri)"},{"line_number":114,"context_line":"            eg \u003d EnclosureGroupManager(self.oneview_client).get(eg_uuid)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_a2efbf85","line":111,"in_reply_to":"9a061dce_9bbcb4dd","updated":"2016-04-06 21:10:05.000000000","message":"They\u0027re used very often. It\u0027s not optimized yet, but should bring easiness and clearness on the user\u0027s code.\n\nAbout \"enclosure_group_of_server_hardware(sh_uuid)\", I don\u0027t like to do the same mistakes we did at \"ClientV1\". I\u0027d like to deal with objects and related objects instead of a ton of procedural specific functions (see Django\u0027s ForeignKey managers for example).\n\nWhat is the problem in putting cleverness on the managers? Where is the trade off between putting this cleverness in the manager vs. putting it directly on a method in the client?","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"},{"author":{"_account_id":10917,"name":"Gabriel Bezerra","email":"gabrielb@lsd.ufcg.edu.br","username":"gabriel.bezerra"},"change_message_id":"5370600d1e346c8ff5ddd34d3d67403422a340c0","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    # TODO(thiagop): defer the call to retrieve related objects only when"},{"line_number":174,"context_line":"    # they\u0027re called"},{"line_number":175,"context_line":"    def fetch_related_objects(self, spt):"},{"line_number":176,"context_line":"        if spt.enclosure_group_uri:"},{"line_number":177,"context_line":"            eg_uuid \u003d utils.get_uuid_from_uri(spt.enclosure_group_uri)"},{"line_number":178,"context_line":"            eg \u003d EnclosureGroupManager(self.oneview_client).get(eg_uuid)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_472ebfa5","line":175,"updated":"2016-04-06 17:31:50.000000000","message":"ditto on line 111","commit_id":"9cdac61768b7bc698bcec3dbb890d30b11e59e3c"},{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"d9b3aa60888491d9174289844ac1827a7e799a7e","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    identity_map \u003d {}"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def list(self, **kwargs):"},{"line_number":84,"context_line":"        obj_list \u003d super(OneViewIdentityMapManager, self).list()"},{"line_number":85,"context_line":"        self.identity_map \u003d {obj.uuid: obj for obj in obj_list}"},{"line_number":86,"context_line":"        return self.identity_map.items()"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_b72bc232","line":84,"range":{"start_line":84,"start_character":58,"end_line":84,"end_character":64},"updated":"2016-05-13 13:23:08.000000000","message":"Should you pass the **kwargs here?","commit_id":"518af44accd536c9ee2b84059c3a6bb557b3b7df"},{"author":{"_account_id":10917,"name":"Gabriel Bezerra","email":"gabrielb@lsd.ufcg.edu.br","username":"gabriel.bezerra"},"change_message_id":"bb35352c99683c274dfbef5b70e1f0650994da13","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be deleted.\")"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"class EnclosureGroupManager(OneViewIdentityMapManager):"},{"line_number":148,"context_line":"    model \u003d models.EnclosureGroup"},{"line_number":149,"context_line":"    uri_prefix \u003d \u0027/rest/enclosure-groups/\u0027"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_e45de27a","line":147,"updated":"2016-05-24 19:55:47.000000000","message":"Enclosure groups can be removed in OneView. How long are they going to be cached for in the client?","commit_id":"c827c6cd4e3be1f520d9c4ab266780543736476f"},{"author":{"_account_id":10917,"name":"Gabriel Bezerra","email":"gabrielb@lsd.ufcg.edu.br","username":"gabriel.bezerra"},"change_message_id":"707133f90d98b2f610dbb576566a8def077674a5","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be deleted.\")"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"class EnclosureGroupManager(OneViewIdentityMapManager):"},{"line_number":148,"context_line":"    model \u003d models.EnclosureGroup"},{"line_number":149,"context_line":"    uri_prefix \u003d \u0027/rest/enclosure-groups/\u0027"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_8bf78958","line":147,"in_reply_to":"bab6814e_08ea7fac","updated":"2016-05-24 20:22:43.000000000","message":"I wonder how long it will exist in the driver, for example, with the process running 24/7. It should have some time limit or use the API\u0027s eTag for cache validation -- I prefer the latter.","commit_id":"c827c6cd4e3be1f520d9c4ab266780543736476f"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"8effd95cd71f93ebd571fd5224ccde6e684943d5","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be deleted.\")"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"class EnclosureGroupManager(OneViewIdentityMapManager):"},{"line_number":148,"context_line":"    model \u003d models.EnclosureGroup"},{"line_number":149,"context_line":"    uri_prefix \u003d \u0027/rest/enclosure-groups/\u0027"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_ce399fa5","line":147,"in_reply_to":"bab6814e_8bf78958","updated":"2016-05-24 20:38:06.000000000","message":"A new client is instantiated on every driver action (see https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/oneview/power.py#L74).\nNonetheless, EnclosureGroups are only called through a SH or SPT. If any one of those still refers to a EG, the EG should be there.","commit_id":"c827c6cd4e3be1f520d9c4ab266780543736476f"},{"author":{"_account_id":10917,"name":"Gabriel Bezerra","email":"gabrielb@lsd.ufcg.edu.br","username":"gabriel.bezerra"},"change_message_id":"7ee75418c921493b5d3297df6a95edb472d9a483","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be deleted.\")"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"class EnclosureGroupManager(OneViewIdentityMapManager):"},{"line_number":148,"context_line":"    model \u003d models.EnclosureGroup"},{"line_number":149,"context_line":"    uri_prefix \u003d \u0027/rest/enclosure-groups/\u0027"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_ce919f48","line":147,"in_reply_to":"bab6814e_ce399fa5","updated":"2016-05-24 20:45:22.000000000","message":"I\u0027d just leave a #NOTE comment on class then warning people from the future that this is cached for the entire life of the client instance. Besides that, the patch is fine.","commit_id":"c827c6cd4e3be1f520d9c4ab266780543736476f"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"a0a45ff8394e41894200e2ccc6a7d30653766689","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be deleted.\")"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"class EnclosureGroupManager(OneViewIdentityMapManager):"},{"line_number":148,"context_line":"    model \u003d models.EnclosureGroup"},{"line_number":149,"context_line":"    uri_prefix \u003d \u0027/rest/enclosure-groups/\u0027"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_bce7313f","line":147,"in_reply_to":"bab6814e_ce919f48","updated":"2016-05-24 21:29:35.000000000","message":"Done","commit_id":"c827c6cd4e3be1f520d9c4ab266780543736476f"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"0f3bd4284a9ee05113d4cdd5fa28072980204826","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        raise NotImplementedError(\"Enclosure isn\u0027t supposed to be deleted.\")"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"class EnclosureGroupManager(OneViewIdentityMapManager):"},{"line_number":148,"context_line":"    model \u003d models.EnclosureGroup"},{"line_number":149,"context_line":"    uri_prefix \u003d \u0027/rest/enclosure-groups/\u0027"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_08ea7fac","line":147,"in_reply_to":"bab6814e_e45de27a","updated":"2016-05-24 19:58:46.000000000","message":"As long as the client lives. If a specific one is called and it\u0027s not on the IdentityMap, it\u0027ll be fetched. \"list()\" also renews the map.","commit_id":"c827c6cd4e3be1f520d9c4ab266780543736476f"}],"oneview_client/models.py":[{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"d9b3aa60888491d9174289844ac1827a7e799a7e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from oneview_client import exceptions"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class OneViewObject(object):"},{"line_number":21,"context_line":"    \"\"\"DO NOT INSTANTIATE. THIS IS AN ABSTRACT CLASS\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    @classmethod"},{"line_number":24,"context_line":"    def from_json(cls, json):"}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_b778e2f9","line":21,"range":{"start_line":20,"start_character":0,"end_line":21,"end_character":55},"updated":"2016-05-13 13:23:08.000000000","message":"Could it be an ABCMeta to avoid the possibility of the class be instantiated?","commit_id":"518af44accd536c9ee2b84059c3a6bb557b3b7df"},{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"d9b3aa60888491d9174289844ac1827a7e799a7e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            return super(OneViewObject, self).__getattribute__(name)"},{"line_number":45,"context_line":"        except AttributeError:"},{"line_number":46,"context_line":"            self.lazy_reload()"},{"line_number":47,"context_line":"            return super(OneViewObject, self).__getattribute__(name)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_97979eea","line":46,"range":{"start_line":46,"start_character":0,"end_line":46,"end_character":30},"updated":"2016-05-13 13:23:08.000000000","message":"Are you working on that method implementation? I can\u0027t find it.","commit_id":"518af44accd536c9ee2b84059c3a6bb557b3b7df"}],"oneview_client/tests/fixtures.py":[{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"d9b3aa60888491d9174289844ac1827a7e799a7e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- encoding: utf-8 -*-"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright 2015 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"# Copyright 2015 Universidade Federal de Campina Grande"},{"line_number":5,"context_line":"# All Rights Reserved."},{"line_number":6,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_77aafa1a","line":3,"range":{"start_line":3,"start_character":2,"end_line":3,"end_character":58},"updated":"2016-05-13 13:23:08.000000000","message":"Update this.","commit_id":"518af44accd536c9ee2b84059c3a6bb557b3b7df"}],"oneview_client/tests/functional/fixtures.py":[{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"d9b3aa60888491d9174289844ac1827a7e799a7e","unresolved":false,"context_lines":[{"line_number":5020,"context_line":"    \"uri\": \"/rest/server-profiles\""},{"line_number":5021,"context_line":"}"},{"line_number":5022,"context_line":""},{"line_number":5023,"context_line":"INDEX_SERVER_HARDWARE_LIST_JSON \u003d json.loads(\"\"\"{"},{"line_number":5024,"context_line":"    \"type\": \"IndexPaginatedCollectionV4\","},{"line_number":5025,"context_line":"    \"category\": \"resources\","},{"line_number":5026,"context_line":"    \"members\": [{"}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_9a76a3a1","line":5023,"range":{"start_line":5023,"start_character":0,"end_line":5023,"end_character":31},"updated":"2016-05-13 13:23:08.000000000","message":"Is the repetition of this \"INDEX_SERVER_HARDWARE_LIST_JSON\" constraint and the same in \u0027oneview_client/tests/fixtures.py\u0027 file intentional?","commit_id":"518af44accd536c9ee2b84059c3a6bb557b3b7df"}],"oneview_client/tests/functional/test_oneview_client.py":[{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"d9b3aa60888491d9174289844ac1827a7e799a7e","unresolved":false,"context_lines":[{"line_number":430,"context_line":"            \u0027aaaa-bbbb-cccc\u0027"},{"line_number":431,"context_line":"        )"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    ##########################################################"},{"line_number":434,"context_line":"    @mock.patch.object(requests, \u0027get\u0027, autospec\u003dTrue)"},{"line_number":435,"context_line":"    def test_server_profile_template_list(self, mock_get, mock__authenticate):"},{"line_number":436,"context_line":"        oneview_client \u003d client.ClientV2(self.manager_url,"}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_da7e6b69","line":433,"range":{"start_line":433,"start_character":4,"end_line":433,"end_character":62},"updated":"2016-05-13 13:23:08.000000000","message":"?","commit_id":"518af44accd536c9ee2b84059c3a6bb557b3b7df"}]}
