)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"09c959b657a94fb4761ad4e77e184ee7e6324d60","unresolved":false,"context_lines":[{"line_number":30,"context_line":"   stack/instance was created and in ACTIVE state."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Change-Id: I63cfde596c15208563640d199f1d4a50bc1db668"},{"line_number":33,"context_line":"Closes-Bug: #1325512"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1ae5cdf2_891785ed","line":33,"updated":"2014-06-19 19:21:40.000000000","message":"Add newline at end of file.","commit_id":"4326584777eecf75dc2d8b2e31d30e0de840d7fe"}],"trove/taskmanager/models.py":[{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"6686300f810cb2d97d26fd5dad5fbfdf33039c37","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        if nova_status in [InstanceStatus.ERROR,"},{"line_number":315,"context_line":"                           InstanceStatus.FAILED]:"},{"line_number":316,"context_line":"            raise TroveError(_(\"Server not active, status: %s\") % nova_status)"},{"line_number":317,"context_line":"        return False"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def _service_is_active(self):"},{"line_number":320,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_ed976c38","line":317,"updated":"2014-06-03 17:25:48.000000000","message":"It seems like the goal of this method is to determine if the compute instance failed to start. Returning False in the case that it didn\u0027t fail seems counter-intuitive.\n\nI would suggest either renaming the method (given it never actually determines if the compute instance is active) or have it actually return True if the status is active.","commit_id":"fa4fba610b99371e95e2f26cf50c2ba07bcc4a09"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1444f1ad542468a402954005748c457deb9999dd","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        if nova_status in [InstanceStatus.ERROR,"},{"line_number":315,"context_line":"                           InstanceStatus.FAILED]:"},{"line_number":316,"context_line":"            raise TroveError(_(\"Server not active, status: %s\") % nova_status)"},{"line_number":317,"context_line":"        return False"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def _service_is_active(self):"},{"line_number":320,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_08e726ad","line":317,"in_reply_to":"1ae5cdf2_ed976c38","updated":"2014-06-03 18:24:24.000000000","message":"Doug, thanks for comments.\nI will update this patch in next way:\n - i do agree about methods that polls compute instance status, comments seems to be valid.\n - the actual (successful state of Trove instance is both statuses - instance service status and compute instance status, so i\u0027d like return logical AND of two statuses.\n\nI guess it\u0027ll work for all of us.","commit_id":"fa4fba610b99371e95e2f26cf50c2ba07bcc4a09"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"6686300f810cb2d97d26fd5dad5fbfdf33039c37","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        trove_instance_status \u003d self._trove_instance_is_active()"},{"line_number":331,"context_line":"        if trove_instance_status:"},{"line_number":332,"context_line":"            return trove_instance_status"},{"line_number":333,"context_line":"        nova_instance_status \u003d self._compute_instance_is_active()"},{"line_number":334,"context_line":"        if not nova_instance_status:"},{"line_number":335,"context_line":"            return nova_instance_status"},{"line_number":336,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_ed804cf9","line":333,"updated":"2014-06-03 17:25:48.000000000","message":"See comment above regarding method always returning false.","commit_id":"fa4fba610b99371e95e2f26cf50c2ba07bcc4a09"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"6686300f810cb2d97d26fd5dad5fbfdf33039c37","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        if trove_instance_status:"},{"line_number":332,"context_line":"            return trove_instance_status"},{"line_number":333,"context_line":"        nova_instance_status \u003d self._compute_instance_is_active()"},{"line_number":334,"context_line":"        if not nova_instance_status:"},{"line_number":335,"context_line":"            return nova_instance_status"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    def _create_server_volume(self, flavor_id, image_id, security_groups,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_4dc94058","line":334,"updated":"2014-06-03 17:25:48.000000000","message":"It seems that if the method executes to this point, you should just return False. I don\u0027t think you need these 2 lines.","commit_id":"fa4fba610b99371e95e2f26cf50c2ba07bcc4a09"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1d1786f7530ec84bac6817efb3cab04094774384","unresolved":false,"context_lines":[{"line_number":300,"context_line":"                      {\u0027text\u0027: InstanceTasks."},{"line_number":301,"context_line":"                       BUILDING_ERROR_TIMEOUT_GA.db_text})"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    def _check_trove_instance_is_in_valid_state(self):"},{"line_number":304,"context_line":"        service \u003d InstanceServiceStatus.find_by(instance_id\u003dself.id)"},{"line_number":305,"context_line":"        status \u003d service.get_status()"},{"line_number":306,"context_line":"        if status \u003d\u003d rd_instance.ServiceStatuses.RUNNING:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_393e16db","line":303,"updated":"2014-06-18 00:11:27.000000000","message":"In the name _check_trove_instance_is_in_valid_state, the notion of \"valid\" is specific to this context. Suggest you change it to _is_in_running_state because that\u0027s what you are really checking.\n\nOr to keep it consistent with _service_is_active() rename it to _trove_is_active() or _trove_instance_is_active()","commit_id":"64e4eed095485961c956f2d0577b0666142ac946"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"eb0b966b36b8cfe540f387b9a73ccdf5fea86418","unresolved":false,"context_lines":[{"line_number":300,"context_line":"                      {\u0027text\u0027: InstanceTasks."},{"line_number":301,"context_line":"                       BUILDING_ERROR_TIMEOUT_GA.db_text})"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    def _check_trove_instance_is_in_valid_state(self):"},{"line_number":304,"context_line":"        service \u003d InstanceServiceStatus.find_by(instance_id\u003dself.id)"},{"line_number":305,"context_line":"        status \u003d service.get_status()"},{"line_number":306,"context_line":"        if status \u003d\u003d rd_instance.ServiceStatuses.RUNNING:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_15ebd178","line":303,"in_reply_to":"1ae5cdf2_393e16db","updated":"2014-06-18 08:49:04.000000000","message":"Completely disagee.\nTrove manipuilates by _valid_ statuses: ACTIVE, BUILD.\nThat\u0027s why this method was named correctly. Take a look at previos patches-sets. I had convo with Doug, and we made certain desicion about how it should be named. No need to re-iterate this convo again.","commit_id":"64e4eed095485961c956f2d0577b0666142ac946"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1d1786f7530ec84bac6817efb3cab04094774384","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            raise TroveError(_(\"Service not active, status: %s\") % status)"},{"line_number":311,"context_line":"        return False"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _check_if_compute_instance_is_in_valid_state(self):"},{"line_number":314,"context_line":"        c_id \u003d self.db_info.compute_instance_id"},{"line_number":315,"context_line":"        nova_status \u003d self.nova_client.servers.get(c_id).status"},{"line_number":316,"context_line":"        if nova_status in [InstanceStatus.ERROR,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_f933ce10","line":313,"range":{"start_line":313,"start_character":8,"end_line":313,"end_character":52},"updated":"2014-06-18 00:11:27.000000000","message":"It is unclear to me why you are breaking out _check_if_compute_instance_is_in_valid_state() into its own function.\n\n(a) it is called in exactly one place; _service_is_active()\n\n(b) it returns nothing, only throws an error\n\nIf you believe that these lines of code have some utility by themselves, at least return an value (true, ostensibly). Furthermore, what constitutes \"valid\" here may not be \"valid\" in other cases.\n\nThese lines should move right back into _service_is_active() where they belong.","commit_id":"64e4eed095485961c956f2d0577b0666142ac946"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1d1786f7530ec84bac6817efb3cab04094774384","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        Returns: boolean if the service is active."},{"line_number":329,"context_line":"        Raises: TroveError if the service is in a failure state."},{"line_number":330,"context_line":"        \"\"\""},{"line_number":331,"context_line":"        self._check_if_compute_instance_is_in_valid_state()"},{"line_number":332,"context_line":"        return self._check_trove_instance_is_in_valid_state()"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def _create_server_volume(self, flavor_id, image_id, security_groups,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_3409bd2c","line":331,"updated":"2014-06-18 00:11:27.000000000","message":"There is no reason to move this code into a function().","commit_id":"64e4eed095485961c956f2d0577b0666142ac946"},{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"842df263554242444483e013d3beca51921fe26d","unresolved":false,"context_lines":[{"line_number":300,"context_line":"                      {\u0027text\u0027: InstanceTasks."},{"line_number":301,"context_line":"                       BUILDING_ERROR_TIMEOUT_GA.db_text})"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    def _check_trove_instance_is_in_valid_state(self):"},{"line_number":304,"context_line":"        service \u003d InstanceServiceStatus.find_by(instance_id\u003dself.id)"},{"line_number":305,"context_line":"        status \u003d service.get_status()"},{"line_number":306,"context_line":"        if status \u003d\u003d rd_instance.ServiceStatuses.RUNNING:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_a3681089","line":303,"updated":"2014-06-18 17:55:00.000000000","message":"I agree with Amrith on naming here, valid isn\u0027t the right word. use active or something else.","commit_id":"26a7aa768e8ea58d6ba770fde11b9f5d03857bf2"},{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"842df263554242444483e013d3beca51921fe26d","unresolved":false,"context_lines":[{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        Returns: boolean if the service is active."},{"line_number":322,"context_line":"        Raises: TroveError if the service is in a failure state."},{"line_number":323,"context_line":"        \"\"\""},{"line_number":324,"context_line":"        c_id \u003d self.db_info.compute_instance_id"},{"line_number":325,"context_line":"        nova_status \u003d self.nova_client.servers.get(c_id).status"},{"line_number":326,"context_line":"        if nova_status in [InstanceStatus.ERROR,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_2355e0c1","line":323,"updated":"2014-06-18 17:55:00.000000000","message":"So i like this.. this introduces a fail-fail in the event the nova instance didn\u0027t boot properly.","commit_id":"26a7aa768e8ea58d6ba770fde11b9f5d03857bf2"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"d65365574a53d4639b270b943fe58fed26fe2e79","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        nova_status \u003d self.nova_client.servers.get(c_id).status"},{"line_number":321,"context_line":"        if nova_status in [InstanceStatus.ERROR,"},{"line_number":322,"context_line":"                           InstanceStatus.FAILED]:"},{"line_number":323,"context_line":"            raise TroveError(_(\"Server not active, status: %s\") % nova_status)"},{"line_number":324,"context_line":"        return False"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    def _create_server_volume(self, flavor_id, image_id, security_groups,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_872af27b","side":"PARENT","line":323,"updated":"2014-06-20 14:43:58.000000000","message":"shouldnt this be an if-elif statement? Thanks","commit_id":"cb5405e756a784fb339f1057a2a28c3944865e1e"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"4735cac88d172869e883cd55726b9ed8a140d992","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        nova_status \u003d self.nova_client.servers.get(c_id).status"},{"line_number":321,"context_line":"        if nova_status in [InstanceStatus.ERROR,"},{"line_number":322,"context_line":"                           InstanceStatus.FAILED]:"},{"line_number":323,"context_line":"            raise TroveError(_(\"Server not active, status: %s\") % nova_status)"},{"line_number":324,"context_line":"        return False"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    def _create_server_volume(self, flavor_id, image_id, security_groups,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_36bb0a10","side":"PARENT","line":323,"in_reply_to":"1ae5cdf2_872af27b","updated":"2014-06-20 17:42:21.000000000","message":"Mariam John, if the previous IF (the one about nova_status in ...) were to be true, we would have RAISED and therefore could not return false.\n\nSo, in effect, this return is only going to occur if the status is NOT ERROR NOR FAILED.\n\nYes?","commit_id":"cb5405e756a784fb339f1057a2a28c3944865e1e"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"17b394506bb0582b33b07e09829aacd7c55bc500","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                security_groups\u003dsecurity_groups,"},{"line_number":350,"context_line":"                availability_zone\u003davailability_zone, nics\u003dnics)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"            self._verify_compute_instance_is_ready(server, datastore_manager)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"            LOG.debug(\"Created new compute instance %(server_id)s \""},{"line_number":355,"context_line":"                      \"for id: %(id)s\" %"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_b0c7ac64","line":352,"updated":"2014-07-23 22:01:00.000000000","message":"Since we\u0027re checking for the ACTIVE state I\u0027d recommend the function be named appropriately as well. \n\nI\u0027d suggest changing this to _verify_compute_instance_is_active, to clarify what this function actually does.","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"70756b15dbe074f84abb95b99de210dc063ed1ef","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                security_groups\u003dsecurity_groups,"},{"line_number":350,"context_line":"                availability_zone\u003davailability_zone, nics\u003dnics)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"            self._verify_compute_instance_is_ready(server, datastore_manager)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"            LOG.debug(\"Created new compute instance %(server_id)s \""},{"line_number":355,"context_line":"                      \"for id: %(id)s\" %"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_18d30cd6","line":352,"in_reply_to":"baada198_b0c7ac64","updated":"2014-07-24 11:47:26.000000000","message":"Done","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"70756b15dbe074f84abb95b99de210dc063ed1ef","unresolved":false,"context_lines":[{"line_number":362,"context_line":"                volume_id \u003d volume.get(\u0027id\u0027)"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"            # Record the server ID and volume ID in case something goes wrong."},{"line_number":365,"context_line":"            self.update_db(compute_instance_id\u003dserver.id, volume_id\u003dvolume_id)"},{"line_number":366,"context_line":"        except Exception as e:"},{"line_number":367,"context_line":"            msg \u003d _(\"Error creating server and volume for \""},{"line_number":368,"context_line":"                    \"instance %s\") % self.id"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_385c504c","line":365,"updated":"2014-07-24 11:47:26.000000000","message":"this call is now splitted into two calls,\n\nself.update_db(compute_instance_id\u003dserver.id) - moved right after Nova API call. We need to save server id for future usage. First time it used when status poller gets executed.\n\nand \n\nself.update_db( volume_id\u003dvolume_id)","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"70756b15dbe074f84abb95b99de210dc063ed1ef","unresolved":false,"context_lines":[{"line_number":594,"context_line":"            security_groups\u003dsecurity_groups, block_device_mapping\u003dbdmap,"},{"line_number":595,"context_line":"            availability_zone\u003davailability_zone, nics\u003dnics)"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"        self._verify_compute_instance_is_ready(server, datastore_manager)"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"        LOG.debug(\"Created new compute instance %(server_id)s \""},{"line_number":600,"context_line":"                  \"for id: %(id)s\" %"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_58d4a4ba","line":597,"updated":"2014-07-24 11:47:26.000000000","message":"fixed","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"17b394506bb0582b33b07e09829aacd7c55bc500","unresolved":false,"context_lines":[{"line_number":601,"context_line":"                  {\u0027server_id\u0027: server.id, \u0027id\u0027: self.id})"},{"line_number":602,"context_line":"        return server"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def _verify_compute_instance_is_ready(self, server, datastore_manager):"},{"line_number":605,"context_line":"        self.compute_instance_id \u003d server.id"},{"line_number":606,"context_line":"        try:"},{"line_number":607,"context_line":"            utils.poll_until("}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_9093885b","line":604,"updated":"2014-07-23 22:01:00.000000000","message":"Why does this function need the datastore_manager passed in? \n\nThis seems overkill and makes the function non-modular -- can we replace this with a timeout argument instead?","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"70756b15dbe074f84abb95b99de210dc063ed1ef","unresolved":false,"context_lines":[{"line_number":601,"context_line":"                  {\u0027server_id\u0027: server.id, \u0027id\u0027: self.id})"},{"line_number":602,"context_line":"        return server"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def _verify_compute_instance_is_ready(self, server, datastore_manager):"},{"line_number":605,"context_line":"        self.compute_instance_id \u003d server.id"},{"line_number":606,"context_line":"        try:"},{"line_number":607,"context_line":"            utils.poll_until("}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_f8e658af","line":604,"in_reply_to":"baada198_9093885b","updated":"2014-07-24 11:47:26.000000000","message":"Done, passing timeout instead of datastore manager.","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"17b394506bb0582b33b07e09829aacd7c55bc500","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        return server"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def _verify_compute_instance_is_ready(self, server, datastore_manager):"},{"line_number":605,"context_line":"        self.compute_instance_id \u003d server.id"},{"line_number":606,"context_line":"        try:"},{"line_number":607,"context_line":"            utils.poll_until("},{"line_number":608,"context_line":"                self._check_compute_instance_is_active,"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_70dfd43a","line":605,"updated":"2014-07-23 22:01:00.000000000","message":"Why are we setting an instance variable in a function that is supposed to verify that a compute instance went ACTIVE? \n\nThis seems like we\u0027re relying on a side effect of a function, which we should try not to do.","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"70756b15dbe074f84abb95b99de210dc063ed1ef","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        return server"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def _verify_compute_instance_is_ready(self, server, datastore_manager):"},{"line_number":605,"context_line":"        self.compute_instance_id \u003d server.id"},{"line_number":606,"context_line":"        try:"},{"line_number":607,"context_line":"            utils.poll_until("},{"line_number":608,"context_line":"                self._check_compute_instance_is_active,"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_98f55c53","line":605,"in_reply_to":"baada198_70dfd43a","updated":"2014-07-24 11:47:26.000000000","message":"Fixed. Adding call that will write compute instance id into base model, poller with ask for it when it\u0027ll be executed.","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"d8668a2f1ef04328ccd67a65a3e7564401d9e48c","unresolved":false,"context_lines":[{"line_number":610,"context_line":"                time_out\u003dCONF.get(datastore_manager).usage_timeout)"},{"line_number":611,"context_line":"        except (TroveError, PollTimeOut) as ex:"},{"line_number":612,"context_line":"            nova_status \u003d self.nova_client.servers.get(server.id).status"},{"line_number":613,"context_line":"            msg \u003d _(\"Compute instance was failed to become ACTIVE. \""},{"line_number":614,"context_line":"                    \"Actual state: %s\") % nova_status"},{"line_number":615,"context_line":"            self._log_and_raise(ex, msg,"},{"line_number":616,"context_line":"                                InstanceTasks.BUILDING_ERROR_SERVER)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_8d10dc5a","line":613,"updated":"2014-07-23 17:52:46.000000000","message":"the word \u0027was\u0027 is redundant. also pl add a period at the end of the message","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"70756b15dbe074f84abb95b99de210dc063ed1ef","unresolved":false,"context_lines":[{"line_number":610,"context_line":"                time_out\u003dCONF.get(datastore_manager).usage_timeout)"},{"line_number":611,"context_line":"        except (TroveError, PollTimeOut) as ex:"},{"line_number":612,"context_line":"            nova_status \u003d self.nova_client.servers.get(server.id).status"},{"line_number":613,"context_line":"            msg \u003d _(\"Compute instance was failed to become ACTIVE. \""},{"line_number":614,"context_line":"                    \"Actual state: %s\") % nova_status"},{"line_number":615,"context_line":"            self._log_and_raise(ex, msg,"},{"line_number":616,"context_line":"                                InstanceTasks.BUILDING_ERROR_SERVER)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_f89d780b","line":613,"in_reply_to":"baada198_8d10dc5a","updated":"2014-07-24 11:47:26.000000000","message":"Done","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"b8dc2422c2008f23028206d74f4a20483859572d","unresolved":false,"context_lines":[{"line_number":610,"context_line":"                time_out\u003dCONF.get(datastore_manager).usage_timeout)"},{"line_number":611,"context_line":"        except (TroveError, PollTimeOut) as ex:"},{"line_number":612,"context_line":"            nova_status \u003d self.nova_client.servers.get(server.id).status"},{"line_number":613,"context_line":"            msg \u003d _(\"Compute instance was failed to become ACTIVE. \""},{"line_number":614,"context_line":"                    \"Actual state: %s\") % nova_status"},{"line_number":615,"context_line":"            self._log_and_raise(ex, msg,"},{"line_number":616,"context_line":"                                InstanceTasks.BUILDING_ERROR_SERVER)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_501f305b","line":613,"in_reply_to":"baada198_8d10dc5a","updated":"2014-07-23 21:17:35.000000000","message":"Of course, will do that asap. thanks","commit_id":"bd2180dd7c4a67f56bfdedd2f0c24299ed642186"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"38860eee81f2309109e36828baf294a31985a10e","unresolved":false,"context_lines":[{"line_number":363,"context_line":"                    \"instance %s\") % self.id"},{"line_number":364,"context_line":"            LOG.debug(\"end _create_server_volume for id: %s\" % self.id)"},{"line_number":365,"context_line":"            err \u003d inst_models.InstanceTasks.BUILDING_ERROR_SERVER"},{"line_number":366,"context_line":"            self._log_and_raise(e, msg, err)"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"        device_path \u003d CONF.device_path"},{"line_number":369,"context_line":"        mount_point \u003d CONF.get(datastore_manager).mount_point"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_994e0995","side":"PARENT","line":366,"updated":"2014-07-25 16:25:06.000000000","message":"you may end up with a duplicated _log_and_raise() call here if one already occured in _verify_compute_instance_is_active().","commit_id":"8bbcc3949c3f6990be54601e1fbb043b6c5599f6"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"38860eee81f2309109e36828baf294a31985a10e","unresolved":false,"context_lines":[{"line_number":497,"context_line":"        except Exception as e:"},{"line_number":498,"context_line":"            msg \u003d _(\"Error creating server for instance %s\") % self.id"},{"line_number":499,"context_line":"            err \u003d inst_models.InstanceTasks.BUILDING_ERROR_SERVER"},{"line_number":500,"context_line":"            self._log_and_raise(e, msg, err)"},{"line_number":501,"context_line":"        LOG.debug(\"end _create_server_volume_individually for id: %s\" %"},{"line_number":502,"context_line":"                  self.id)"},{"line_number":503,"context_line":"        return volume_info"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_b9e2edd1","side":"PARENT","line":500,"updated":"2014-07-25 16:25:06.000000000","message":"This _log_and_raise() appears to be duplicated; after all _verify_compute_instance_is_active() already does this.","commit_id":"8bbcc3949c3f6990be54601e1fbb043b6c5599f6"},{"author":{"_account_id":694,"name":"Tim Simpson","email":"tim.simpson@rackspace.com","username":"tim-simpson"},"change_message_id":"a4b99383ed47b9d93128f07dc0f9f5a102acecb7","unresolved":false,"context_lines":[{"line_number":299,"context_line":"                      {\u0027text\u0027: InstanceTasks."},{"line_number":300,"context_line":"                       BUILDING_ERROR_TIMEOUT_GA.db_text})"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"    def _check_trove_instance_is_active(self):"},{"line_number":303,"context_line":"        \"\"\""},{"line_number":304,"context_line":"        Check that the database guest is active."},{"line_number":305,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_8a30699f","line":302,"updated":"2014-07-25 17:31:37.000000000","message":"I really disagree with this name.\n\nThis function is checking the \"InstanceServiceStatus.\" So \"service_is_active\" was a better name. \"_check_service_is_active\" would be good as well. But \"_check_trove_instance_is_active\" is too general.","commit_id":"09878ce2415769c08b2969a31779968133c46456"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"38860eee81f2309109e36828baf294a31985a10e","unresolved":false,"context_lines":[{"line_number":504,"context_line":""},{"line_number":505,"context_line":"            self.update_db(compute_instance_id\u003dserver.id)"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"            self._verify_compute_instance_is_active("},{"line_number":508,"context_line":"                CONF.get(datastore_manager).usage_timeout)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_79877512","line":507,"updated":"2014-07-25 16:25:06.000000000","message":"I submit to you that this check should be moved to _create_server for symmetry. That is the caller of nova_client.servers.create()\n\nOptionally move the checking for instance state into create_instance()","commit_id":"09878ce2415769c08b2969a31779968133c46456"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"38860eee81f2309109e36828baf294a31985a10e","unresolved":false,"context_lines":[{"line_number":636,"context_line":"                self.db_info.compute_instance_id).status"},{"line_number":637,"context_line":"            msg \u003d _(\"Compute instance failed to become ACTIVE. \""},{"line_number":638,"context_line":"                    \"Actual state: %s\") % nova_status"},{"line_number":639,"context_line":"            self._log_and_raise(ex, msg,"},{"line_number":640,"context_line":"                                InstanceTasks.BUILDING_ERROR_SERVER)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"    def _guest_prepare(self, flavor_ram, volume_info,"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_9908c992","line":639,"updated":"2014-07-25 16:25:06.000000000","message":"This _log_and_raise() may be duplicated as the caller is also doing the same thing.","commit_id":"09878ce2415769c08b2969a31779968133c46456"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"dc4397363fab9ad2a7252d24baef34eddec063aa","unresolved":false,"context_lines":[{"line_number":636,"context_line":"                self.db_info.compute_instance_id).status"},{"line_number":637,"context_line":"            msg \u003d _(\"Compute instance failed to become ACTIVE. \""},{"line_number":638,"context_line":"                    \"Actual state: %s\") % nova_status"},{"line_number":639,"context_line":"            raise TroveError(msg)"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"    def _guest_prepare(self, flavor_ram, volume_info,"},{"line_number":642,"context_line":"                       packages, databases, users, backup_info\u003dNone,"}],"source_content_type":"text/x-python","patch_set":9,"id":"baada198_17cf602a","line":639,"updated":"2014-07-31 14:36:25.000000000","message":"I don\u0027t get this. What\u0027s the point of this try/except block?","commit_id":"12a6df0e223d71efb7dd60c017737763d8b063cb"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"df85eac91d26e52120bd9d77fda0071c4383840e","unresolved":false,"context_lines":[{"line_number":636,"context_line":"                self.db_info.compute_instance_id).status"},{"line_number":637,"context_line":"            msg \u003d _(\"Compute instance failed to become ACTIVE. \""},{"line_number":638,"context_line":"                    \"Actual state: %s\") % nova_status"},{"line_number":639,"context_line":"            raise TroveError(msg)"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"    def _guest_prepare(self, flavor_ram, volume_info,"},{"line_number":642,"context_line":"                       packages, databases, users, backup_info\u003dNone,"}],"source_content_type":"text/x-python","patch_set":9,"id":"baada198_22a6e40f","line":639,"in_reply_to":"baada198_17cf602a","updated":"2014-07-31 14:42:20.000000000","message":"This try except block is required due to possible exceptions while attempting to define server status within given timeout. Server provisioning can hang in SPAWN state for a long time - that\u0027s the main reason.","commit_id":"12a6df0e223d71efb7dd60c017737763d8b063cb"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"7377df2dc0fe789957b2b6a19a1702e630aa70c0","unresolved":false,"context_lines":[{"line_number":1021,"context_line":"                # We will bail if db did not get stopped or is blocked"},{"line_number":1022,"context_line":"                LOG.error(_(\"Cannot reboot instance. DB status is %s.\")"},{"line_number":1023,"context_line":"                          % self.datastore_status.status)"},{"line_number":1024,"context_line":"                return"},{"line_number":1025,"context_line":"            LOG.debug(\"The guest service status is %s.\""},{"line_number":1026,"context_line":"                      % self.datastore_status.status)"},{"line_number":1027,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"5a890539_72dea0db","line":1024,"updated":"2014-11-25 15:44:07.000000000","message":"Do we really need to stop processing the reboot request in this case. Wont the server reboot kill all the services anyways. Thanks","commit_id":"10a26c49531ca6a214713e3373d915d663642f05"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"71dc3e6809ba8ab77517df1cba3d8c096acf2627","unresolved":false,"context_lines":[{"line_number":1021,"context_line":"                # We will bail if db did not get stopped or is blocked"},{"line_number":1022,"context_line":"                LOG.error(_(\"Cannot reboot instance. DB status is %s.\")"},{"line_number":1023,"context_line":"                          % self.datastore_status.status)"},{"line_number":1024,"context_line":"                return"},{"line_number":1025,"context_line":"            LOG.debug(\"The guest service status is %s.\""},{"line_number":1026,"context_line":"                      % self.datastore_status.status)"},{"line_number":1027,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"5a890539_c284dd5f","line":1024,"in_reply_to":"5a890539_4f4d763d","updated":"2014-11-26 14:19:56.000000000","message":"Was comparing patch 15 and 14. are these changes part of a rebase?","commit_id":"10a26c49531ca6a214713e3373d915d663642f05"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"40ea372014c4f5fea9ddb3c422681c7f2ecfa58f","unresolved":false,"context_lines":[{"line_number":1021,"context_line":"                # We will bail if db did not get stopped or is blocked"},{"line_number":1022,"context_line":"                LOG.error(_(\"Cannot reboot instance. DB status is %s.\")"},{"line_number":1023,"context_line":"                          % self.datastore_status.status)"},{"line_number":1024,"context_line":"                return"},{"line_number":1025,"context_line":"            LOG.debug(\"The guest service status is %s.\""},{"line_number":1026,"context_line":"                      % self.datastore_status.status)"},{"line_number":1027,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"5a890539_4f4d763d","line":1024,"in_reply_to":"5a890539_72dea0db","updated":"2014-11-25 16:38:23.000000000","message":"Sorry, but how this comment is related to this patch?","commit_id":"10a26c49531ca6a214713e3373d915d663642f05"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fb8f063885167031d961b5ad6c4d20eda46f5bd6","unresolved":false,"context_lines":[{"line_number":1021,"context_line":"                # We will bail if db did not get stopped or is blocked"},{"line_number":1022,"context_line":"                LOG.error(_(\"Cannot reboot instance. DB status is %s.\")"},{"line_number":1023,"context_line":"                          % self.datastore_status.status)"},{"line_number":1024,"context_line":"                return"},{"line_number":1025,"context_line":"            LOG.debug(\"The guest service status is %s.\""},{"line_number":1026,"context_line":"                      % self.datastore_status.status)"},{"line_number":1027,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"5a890539_e14649a6","line":1024,"in_reply_to":"5a890539_c284dd5f","updated":"2014-12-03 21:50:39.000000000","message":"yes","commit_id":"10a26c49531ca6a214713e3373d915d663642f05"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"9bfd53a48e837075f141764d74af4c0c9c180b8d","unresolved":false,"context_lines":[{"line_number":479,"context_line":"            # Record the server ID"},{"line_number":480,"context_line":"            self.update_db(compute_instance_id\u003dserver.id)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"            self._verify_compute_instance_is_active(CONF.usage_timeout)"},{"line_number":483,"context_line":"            LOG.debug(\"Created new compute instance %(server_id)s \""},{"line_number":484,"context_line":"                      \"for id: %(id)s\" %"},{"line_number":485,"context_line":"                      {\u0027server_id\u0027: server.id, \u0027id\u0027: self.id})"}],"source_content_type":"text/x-python","patch_set":20,"id":"da86d52c_769330a3","line":482,"updated":"2015-02-18 06:02:19.000000000","message":"PollTimeOut is not caught?","commit_id":"46df6e5e5d96e92b4ac8679994e32ffb635b46ca"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"9bfd53a48e837075f141764d74af4c0c9c180b8d","unresolved":false,"context_lines":[{"line_number":628,"context_line":"            self.update_db(compute_instance_id\u003dserver.id)"},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"            self._verify_compute_instance_is_active("},{"line_number":631,"context_line":"                CONF.get(datastore_manager).usage_timeout)"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"        except (nova_exceptions.ClientException, TroveError) as e:"},{"line_number":634,"context_line":"            msg \u003d _(\"Failed to create server for instance %s\") % self.id"}],"source_content_type":"text/x-python","patch_set":20,"id":"da86d52c_56962c95","line":631,"updated":"2015-02-18 06:02:19.000000000","message":"PollTimeOut is not caught?","commit_id":"46df6e5e5d96e92b4ac8679994e32ffb635b46ca"}]}
