)]}'
{"blazar/plugins/instances/instance_plugin.py":[{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"095cac7cd7e0ce6ef054be19aa704cdbfc7d1ab6","unresolved":false,"context_lines":[{"line_number":485,"context_line":"            failed_allocs +\u003d db_api.host_allocation_get_all_by_values("},{"line_number":486,"context_line":"                compute_host_id\u003dhost[\u0027id\u0027])"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        for alloc in failed_allocs:"},{"line_number":489,"context_line":"            reservation \u003d db_api.reservation_get(alloc[\u0027reservation_id\u0027])"},{"line_number":490,"context_line":"            if reservation[\u0027resource_type\u0027] !\u003d RESOURCE_TYPE:"},{"line_number":491,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_c38b7a1c","line":488,"updated":"2018-01-17 08:19:36.000000000","message":"This loop looses affinity info. If the new_hosts[0] has a same allocation with alloc[\u0027reservation_id\u0027], it lacks anti-affinity rule.\n\nMy suggestion is just calling pickup_hosts() for each reservation, then if numbers of removed is greater than numbers of added it\u0027s missing_resources. If the reservation is in active status it resource_changed.\n\nHow do you think?","commit_id":"4a0c9b40715513a44b7531dda88a255c25011b56"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"4265e94301eb8b318ff296b82e95cc9985d5d176","unresolved":false,"context_lines":[{"line_number":485,"context_line":"            failed_allocs +\u003d db_api.host_allocation_get_all_by_values("},{"line_number":486,"context_line":"                compute_host_id\u003dhost[\u0027id\u0027])"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        for alloc in failed_allocs:"},{"line_number":489,"context_line":"            reservation \u003d db_api.reservation_get(alloc[\u0027reservation_id\u0027])"},{"line_number":490,"context_line":"            if reservation[\u0027resource_type\u0027] !\u003d RESOURCE_TYPE:"},{"line_number":491,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_6c0c6042","line":488,"in_reply_to":"7f96bb07_c38b7a1c","updated":"2018-01-22 04:56:14.000000000","message":"Thanks for pointing it out! I\u0027ve applied your proposal.","commit_id":"4a0c9b40715513a44b7531dda88a255c25011b56"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"095cac7cd7e0ce6ef054be19aa704cdbfc7d1ab6","unresolved":false,"context_lines":[{"line_number":501,"context_line":"                end_date\u003dlease[\u0027end_date\u0027]"},{"line_number":502,"context_line":"            )"},{"line_number":503,"context_line":"            if not new_hosts:"},{"line_number":504,"context_line":"                reservation_flags.update("},{"line_number":505,"context_line":"                    {reservation[\u0027id\u0027]: {\u0027missing_resources\u0027: True}})"},{"line_number":506,"context_line":"                db_api.host_allocation_destroy(alloc[\u0027id\u0027])"},{"line_number":507,"context_line":"                LOG.warn(\u0027Could not find alternative host for reservation %s \u0027"},{"line_number":508,"context_line":"                         \u0027(lease: %s).\u0027, reservation[\u0027id\u0027], lease[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_80b56880","line":505,"range":{"start_line":504,"start_character":0,"end_line":505,"end_character":69},"updated":"2018-01-17 08:19:36.000000000","message":"same comment with https://review.openstack.org/#/c/524054/13/blazar/plugins/oshosts/host_plugin.py@242","commit_id":"4a0c9b40715513a44b7531dda88a255c25011b56"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"4265e94301eb8b318ff296b82e95cc9985d5d176","unresolved":false,"context_lines":[{"line_number":501,"context_line":"                end_date\u003dlease[\u0027end_date\u0027]"},{"line_number":502,"context_line":"            )"},{"line_number":503,"context_line":"            if not new_hosts:"},{"line_number":504,"context_line":"                reservation_flags.update("},{"line_number":505,"context_line":"                    {reservation[\u0027id\u0027]: {\u0027missing_resources\u0027: True}})"},{"line_number":506,"context_line":"                db_api.host_allocation_destroy(alloc[\u0027id\u0027])"},{"line_number":507,"context_line":"                LOG.warn(\u0027Could not find alternative host for reservation %s \u0027"},{"line_number":508,"context_line":"                         \u0027(lease: %s).\u0027, reservation[\u0027id\u0027], lease[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_6ce5400a","line":505,"range":{"start_line":504,"start_character":0,"end_line":505,"end_character":69},"in_reply_to":"7f96bb07_80b56880","updated":"2018-01-22 04:56:14.000000000","message":"Done","commit_id":"4a0c9b40715513a44b7531dda88a255c25011b56"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"095cac7cd7e0ce6ef054be19aa704cdbfc7d1ab6","unresolved":false,"context_lines":[{"line_number":515,"context_line":"                    pool \u003d nova.ReservationPool()"},{"line_number":516,"context_line":"                    pool.add_computehost(reservation[\u0027aggregate_id\u0027],"},{"line_number":517,"context_line":"                                         new_host[\u0027service_name\u0027],"},{"line_number":518,"context_line":"                                         stay_in\u003dTrue)"},{"line_number":519,"context_line":"                    reservation_flags.update("},{"line_number":520,"context_line":"                        {reservation[\u0027id\u0027]: {\u0027resources_changed\u0027: True}})"},{"line_number":521,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_00e2b8a0","line":518,"updated":"2018-01-17 08:19:36.000000000","message":"Should it remove alloc[\u0027compute_host_id\u0027] from the pool?","commit_id":"4a0c9b40715513a44b7531dda88a255c25011b56"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"095cac7cd7e0ce6ef054be19aa704cdbfc7d1ab6","unresolved":false,"context_lines":[{"line_number":516,"context_line":"                    pool.add_computehost(reservation[\u0027aggregate_id\u0027],"},{"line_number":517,"context_line":"                                         new_host[\u0027service_name\u0027],"},{"line_number":518,"context_line":"                                         stay_in\u003dTrue)"},{"line_number":519,"context_line":"                    reservation_flags.update("},{"line_number":520,"context_line":"                        {reservation[\u0027id\u0027]: {\u0027resources_changed\u0027: True}})"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"                LOG.warn(\u0027Resource changed for reservation %s (lease: %s).\u0027,"},{"line_number":523,"context_line":"                         reservation[\u0027id\u0027], lease[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_00a95822","line":520,"range":{"start_line":519,"start_character":0,"end_line":520,"end_character":73},"updated":"2018-01-17 08:19:36.000000000","message":"same as above","commit_id":"4a0c9b40715513a44b7531dda88a255c25011b56"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"4265e94301eb8b318ff296b82e95cc9985d5d176","unresolved":false,"context_lines":[{"line_number":516,"context_line":"                    pool.add_computehost(reservation[\u0027aggregate_id\u0027],"},{"line_number":517,"context_line":"                                         new_host[\u0027service_name\u0027],"},{"line_number":518,"context_line":"                                         stay_in\u003dTrue)"},{"line_number":519,"context_line":"                    reservation_flags.update("},{"line_number":520,"context_line":"                        {reservation[\u0027id\u0027]: {\u0027resources_changed\u0027: True}})"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"                LOG.warn(\u0027Resource changed for reservation %s (lease: %s).\u0027,"},{"line_number":523,"context_line":"                         reservation[\u0027id\u0027], lease[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_8ce20c01","line":520,"range":{"start_line":519,"start_character":0,"end_line":520,"end_character":73},"in_reply_to":"7f96bb07_00a95822","updated":"2018-01-22 04:56:14.000000000","message":"Done","commit_id":"4a0c9b40715513a44b7531dda88a255c25011b56"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"472e8ed6c93be9704ab0b8ba74d6c96e8186a074","unresolved":false,"context_lines":[{"line_number":508,"context_line":"            specs \u003d [\u0027vcpus\u0027, \u0027memory_mb\u0027, \u0027disk_gb\u0027, \u0027affinity\u0027, \u0027amount\u0027]"},{"line_number":509,"context_line":"            for key in specs:"},{"line_number":510,"context_line":"                values[key] \u003d reservation[key]"},{"line_number":511,"context_line":"            changed_hosts \u003d self.pickup_hosts(reservation[\u0027id\u0027], values)"},{"line_number":512,"context_line":"            if len(changed_hosts[\u0027added\u0027]) \u003c\u003d len(changed_hosts[\u0027removed\u0027]):"},{"line_number":513,"context_line":"                if reservation[\u0027id\u0027] not in reservation_flags:"},{"line_number":514,"context_line":"                    reservation_flags[reservation[\u0027id\u0027]] \u003d {}"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f93b717_f714f645","line":511,"updated":"2018-02-02 14:15:20.000000000","message":"Sorry, I misunderstood the behavior of pickup_hosts.  I\u0027m okay on modifying pickup_host to support heal_reservation().\n\n- The method raises NoEnoughHostsAvailable exception if the reservation is missing_resource[1].\n- The method raises CantUpdateParameter exception if the reservation is in active status.\n\n1. https://github.com/openstack/blazar/blob/master/blazar/plugins/instances/instance_plugin.py#L193\n2. https://github.com/openstack/blazar/blob/master/blazar/plugins/instances/instance_plugin.py#L204","commit_id":"06d73c88d3fac3f25da697c737ab99649b884856"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"6f97e9cae0203949b3613f43aa3eafdd1f8b69f7","unresolved":false,"context_lines":[{"line_number":508,"context_line":"            specs \u003d [\u0027vcpus\u0027, \u0027memory_mb\u0027, \u0027disk_gb\u0027, \u0027affinity\u0027, \u0027amount\u0027]"},{"line_number":509,"context_line":"            for key in specs:"},{"line_number":510,"context_line":"                values[key] \u003d reservation[key]"},{"line_number":511,"context_line":"            changed_hosts \u003d self.pickup_hosts(reservation[\u0027id\u0027], values)"},{"line_number":512,"context_line":"            if len(changed_hosts[\u0027added\u0027]) \u003c\u003d len(changed_hosts[\u0027removed\u0027]):"},{"line_number":513,"context_line":"                if reservation[\u0027id\u0027] not in reservation_flags:"},{"line_number":514,"context_line":"                    reservation_flags[reservation[\u0027id\u0027]] \u003d {}"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa0c359_8b50d934","line":511,"in_reply_to":"5f93b717_f714f645","updated":"2018-02-05 02:24:21.000000000","message":"Thanks for noticing it! I updated the pickup_hosts() not to raise exceptions. I also updated call points of the pickup_hosts() to care conditions and raise exceptions.","commit_id":"06d73c88d3fac3f25da697c737ab99649b884856"}]}
