)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"3545de99c13571b3a674c29afce8bc25092cca39","unresolved":false,"context_lines":[{"line_number":3937,"context_line":""},{"line_number":3938,"context_line":"    @periodic_task.periodic_task(spacing\u003dCONF.shelved_poll_interval)"},{"line_number":3939,"context_line":"    def _poll_shelved_instances(self, context):"},{"line_number":3940,"context_line":"        if CONF.shelved_offload_time \u003c\u003d 0:"},{"line_number":3941,"context_line":"            return"},{"line_number":3942,"context_line":""},{"line_number":3943,"context_line":"        filters \u003d {\u0027vm_state\u0027: vm_states.SHELVED,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FWvs%3D","line":3940,"updated":"2013-07-03 13:21:51.000000000","message":"Need to have some kind of exception wrapper in here I think so that if something does go wrong with the offload (e.g race condition where it gets deleted in the middle of the operation) then the periodic task as a whole doesn\u0027t get wiped out","commit_id":"ee4ae69b75048a0537665379e12ebe1ab0c468f6"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"fc7dd61a024ee20d5af7d424efe76365ac29de1a","unresolved":false,"context_lines":[{"line_number":3937,"context_line":""},{"line_number":3938,"context_line":"    @periodic_task.periodic_task(spacing\u003dCONF.shelved_poll_interval)"},{"line_number":3939,"context_line":"    def _poll_shelved_instances(self, context):"},{"line_number":3940,"context_line":"        if CONF.shelved_offload_time \u003c\u003d 0:"},{"line_number":3941,"context_line":"            return"},{"line_number":3942,"context_line":""},{"line_number":3943,"context_line":"        filters \u003d {\u0027vm_state\u0027: vm_states.SHELVED,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FTuE%3D","line":3940,"updated":"2013-07-04 11:26:25.000000000","message":"Need to have some kind of exception wrapper in here I think so that if something does go wrong with the offload (e.g race condition where it gets deleted in the middle of the operation) then the periodic task as a whole doesn\u0027t get wiped out","commit_id":"1a86e8641c68507b3f21fd9b0babb390c228d869"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"317cedb78d1928e6492c049c31e678ba685f46e7","unresolved":false,"context_lines":[{"line_number":141,"context_line":"               help\u003d\u0027Interval in seconds for polling shelved instances to \u0027"},{"line_number":142,"context_line":"                    \u0027offload\u0027),"},{"line_number":143,"context_line":"    cfg.IntOpt(\u0027shelved_offload_time\u0027,"},{"line_number":144,"context_line":"               default\u003d0,"},{"line_number":145,"context_line":"               help\u003d\u0027Time in seconds before a shelved instance is eligible \u0027"},{"line_number":146,"context_line":"                    \u0027for removing from a host.  -1 never offload, 0 offload \u0027"},{"line_number":147,"context_line":"                    \u0027when shelved\u0027),"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAP3%2F%2FpKs%3D","line":144,"updated":"2013-07-15 13:41:15.000000000","message":"I would argue for 72 hours here, but I guess there were suggestions around 0.","commit_id":"7bf7ca4df533cd5e540a5840030c9d41e61c955d"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"6794ef1b98a676d396901358f2a0e476264e6107","unresolved":false,"context_lines":[{"line_number":141,"context_line":"               help\u003d\u0027Interval in seconds for polling shelved instances to \u0027"},{"line_number":142,"context_line":"                    \u0027offload\u0027),"},{"line_number":143,"context_line":"    cfg.IntOpt(\u0027shelved_offload_time\u0027,"},{"line_number":144,"context_line":"               default\u003d0,"},{"line_number":145,"context_line":"               help\u003d\u0027Time in seconds before a shelved instance is eligible \u0027"},{"line_number":146,"context_line":"                    \u0027for removing from a host.  -1 never offload, 0 offload \u0027"},{"line_number":147,"context_line":"                    \u0027when shelved\u0027),"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAP3%2F%2FnYs%3D","line":144,"in_reply_to":"AAAAP3%2F%2FpKs%3D","updated":"2013-07-15 20:11:15.000000000","message":"I would agree, but I can see the case for immediate removal.","commit_id":"7bf7ca4df533cd5e540a5840030c9d41e61c955d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cc76ad104913f2e17e7051d375b78a668771cb2a","unresolved":false,"context_lines":[{"line_number":3055,"context_line":"                task_states.SHELVING_IMAGE_UPLOADING])"},{"line_number":3056,"context_line":""},{"line_number":3057,"context_line":"        if CONF.shelved_offload_time \u003d\u003d 0:"},{"line_number":3058,"context_line":"            self.shelve_offload_instance(context, instance)"},{"line_number":3059,"context_line":""},{"line_number":3060,"context_line":"        self._notify_about_instance_usage(context, instance, \u0027shelve.end\u0027)"},{"line_number":3061,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAP3%2F%2FnCs%3D","line":3058,"updated":"2013-07-15 21:22:27.000000000","message":"Missing a task_state\u003dSHELVING_OFFLOADING here?","commit_id":"e18ad343fbb2b463e4b317c41a9bddd17bede0bd"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"c3cd2faf0609841119ff3b8882d5f0255fc5f069","unresolved":false,"context_lines":[{"line_number":3055,"context_line":"                task_states.SHELVING_IMAGE_UPLOADING])"},{"line_number":3056,"context_line":""},{"line_number":3057,"context_line":"        if CONF.shelved_offload_time \u003d\u003d 0:"},{"line_number":3058,"context_line":"            self.shelve_offload_instance(context, instance)"},{"line_number":3059,"context_line":""},{"line_number":3060,"context_line":"        self._notify_about_instance_usage(context, instance, \u0027shelve.end\u0027)"},{"line_number":3061,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAP3%2F%2Fmyo%3D","line":3058,"in_reply_to":"AAAAP3%2F%2FnCs%3D","updated":"2013-07-15 22:20:01.000000000","message":"Done","commit_id":"e18ad343fbb2b463e4b317c41a9bddd17bede0bd"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"60069a6ee0632f86c9c282b995a37cacb3fdc941","unresolved":false,"context_lines":[{"line_number":4099,"context_line":""},{"line_number":4100,"context_line":"        for instance in to_gc:"},{"line_number":4101,"context_line":"            instance.task_state \u003d task_states.SHELVING_OFFLOADING"},{"line_number":4102,"context_line":"            instance.save()"},{"line_number":4103,"context_line":"            try:"},{"line_number":4104,"context_line":"                self.shelve_offload_instance(context, instance)"},{"line_number":4105,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAP3%2F%2Fkk8%3D","line":4102,"updated":"2013-07-16 13:08:48.000000000","message":"Still think you could get an exception here, which would also kill the periodic task, if the instance was deleted between teh query and this point","commit_id":"84c0bda14fcd5e8b9e5eb7e1c07eb0b31c278e86"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"2b8bfd40bb042ac8285794707f0ef80d80d55a80","unresolved":false,"context_lines":[{"line_number":4099,"context_line":""},{"line_number":4100,"context_line":"        for instance in to_gc:"},{"line_number":4101,"context_line":"            instance.task_state \u003d task_states.SHELVING_OFFLOADING"},{"line_number":4102,"context_line":"            instance.save()"},{"line_number":4103,"context_line":"            try:"},{"line_number":4104,"context_line":"                self.shelve_offload_instance(context, instance)"},{"line_number":4105,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAP3%2F%2FkgM%3D","line":4102,"in_reply_to":"AAAAP3%2F%2Fkk8%3D","updated":"2013-07-16 13:20:53.000000000","message":"Fair enough.  It\u0027s a tiny window, but doesn\u0027t hurt to be safe.","commit_id":"84c0bda14fcd5e8b9e5eb7e1c07eb0b31c278e86"}]}
