)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6ff7450c76bc739f7c65c263a94faebd28740117","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test alloc_cands with one RP shared between two RPs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch proposes three new test cases that tries to cover the cases"},{"line_number":10,"context_line":"when a shared RP is connect to two non shared RPs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The first case looks simple:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f485f77_10f0e5fd","line":10,"range":{"start_line":10,"start_character":20,"end_line":10,"end_character":27},"updated":"2017-11-15 19:33:38.000000000","message":"connected","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6ff7450c76bc739f7c65c263a94faebd28740117","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test alloc_cands with one RP shared between two RPs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch proposes three new test cases that tries to cover the cases"},{"line_number":10,"context_line":"when a shared RP is connect to two non shared RPs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The first case looks simple:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f485f77_90dbb57a","line":10,"range":{"start_line":10,"start_character":39,"end_line":10,"end_character":45},"updated":"2017-11-15 19:33:38.000000000","message":"sharing","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6ff7450c76bc739f7c65c263a94faebd28740117","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test alloc_cands with one RP shared between two RPs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch proposes three new test cases that tries to cover the cases"},{"line_number":10,"context_line":"when a shared RP is connect to two non shared RPs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The first case looks simple:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f485f77_b0deb16a","line":10,"range":{"start_line":10,"start_character":7,"end_line":10,"end_character":13},"updated":"2017-11-15 19:33:38.000000000","message":"sharing","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25a630276f42f5254a5e7793915a4008bb14cdab","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test alloc_cands with one RP shared between two RPs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch proposes three new test cases that tries to cover the cases"},{"line_number":10,"context_line":"when a shared RP is connect to two non shared RPs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The first case looks simple:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f485f77_c08f03cb","line":10,"range":{"start_line":10,"start_character":20,"end_line":10,"end_character":27},"in_reply_to":"1f485f77_10f0e5fd","updated":"2017-11-16 14:48:38.000000000","message":"Done","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25a630276f42f5254a5e7793915a4008bb14cdab","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test alloc_cands with one RP shared between two RPs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch proposes three new test cases that tries to cover the cases"},{"line_number":10,"context_line":"when a shared RP is connect to two non shared RPs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The first case looks simple:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f485f77_a08c07d7","line":10,"range":{"start_line":10,"start_character":39,"end_line":10,"end_character":45},"in_reply_to":"1f485f77_90dbb57a","updated":"2017-11-16 14:48:38.000000000","message":"Done","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25a630276f42f5254a5e7793915a4008bb14cdab","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test alloc_cands with one RP shared between two RPs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch proposes three new test cases that tries to cover the cases"},{"line_number":10,"context_line":"when a shared RP is connect to two non shared RPs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The first case looks simple:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f485f77_80bfcb5f","line":10,"range":{"start_line":10,"start_character":7,"end_line":10,"end_character":13},"in_reply_to":"1f485f77_b0deb16a","updated":"2017-11-16 14:48:38.000000000","message":"Done","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"663569777e2c8b81155c571150835f4b079e6e91","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test alloc_cands with one RP shared between two RPs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch proposes three new test cases that tries to cover the cases"},{"line_number":10,"context_line":"when a shared RP is connect to two non shared RPs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The first case looks simple:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1f485f77_30df610e","line":10,"range":{"start_line":10,"start_character":20,"end_line":10,"end_character":27},"updated":"2017-11-15 19:35:14.000000000","message":"connected","commit_id":"337eb6bd3c62d598800eb9f045c652ae992b88c9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"663569777e2c8b81155c571150835f4b079e6e91","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test alloc_cands with one RP shared between two RPs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch proposes three new test cases that tries to cover the cases"},{"line_number":10,"context_line":"when a shared RP is connect to two non shared RPs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The first case looks simple:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1f485f77_10bfc5b0","line":10,"range":{"start_line":10,"start_character":39,"end_line":10,"end_character":45},"updated":"2017-11-15 19:35:14.000000000","message":"sharing","commit_id":"337eb6bd3c62d598800eb9f045c652ae992b88c9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"663569777e2c8b81155c571150835f4b079e6e91","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test alloc_cands with one RP shared between two RPs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch proposes three new test cases that tries to cover the cases"},{"line_number":10,"context_line":"when a shared RP is connect to two non shared RPs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The first case looks simple:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1f485f77_50a77da8","line":10,"range":{"start_line":10,"start_character":7,"end_line":10,"end_character":13},"updated":"2017-11-15 19:35:14.000000000","message":"sharing","commit_id":"337eb6bd3c62d598800eb9f045c652ae992b88c9"}],"nova/tests/functional/db/test_allocation_candidates.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6ff7450c76bc739f7c65c263a94faebd28740117","unresolved":false,"context_lines":[{"line_number":1506,"context_line":"        ]"},{"line_number":1507,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"},{"line_number":1508,"context_line":""},{"line_number":1509,"context_line":"    def test_two_non_sharing_connect_to_one_sharing(self):"},{"line_number":1510,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1)"},{"line_number":1511,"context_line":"        _add_inventory(cn1, fields.ResourceClass.VCPU, 24)"},{"line_number":1512,"context_line":"        _add_inventory(cn1, fields.ResourceClass.MEMORY_MB, 2048)"},{"line_number":1513,"context_line":""},{"line_number":1514,"context_line":"        cn2 \u003d self._create_provider(\u0027cn2\u0027, uuids.agg1)"},{"line_number":1515,"context_line":"        _add_inventory(cn2, fields.ResourceClass.VCPU, 24)"},{"line_number":1516,"context_line":"        _add_inventory(cn2, fields.ResourceClass.MEMORY_MB, 2048)"},{"line_number":1517,"context_line":""},{"line_number":1518,"context_line":"        ss1 \u003d self._create_provider(\u0027ss1\u0027, uuids.agg1)"},{"line_number":1519,"context_line":"        _set_traits(ss1, \"MISC_SHARES_VIA_AGGREGATE\")"},{"line_number":1520,"context_line":"        _add_inventory(ss1, fields.ResourceClass.DISK_GB, 1600)"},{"line_number":1521,"context_line":""},{"line_number":1522,"context_line":"        alloc_cands \u003d self._get_allocation_candidates("},{"line_number":1523,"context_line":"            resources\u003d{"},{"line_number":1524,"context_line":"                \u0027VCPU\u0027: 2,"},{"line_number":1525,"context_line":"                \u0027DISK_GB\u0027: 1500,"},{"line_number":1526,"context_line":"            }"},{"line_number":1527,"context_line":"        )"},{"line_number":1528,"context_line":"        expected \u003d ["},{"line_number":1529,"context_line":"            [(\u0027cn1\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1530,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500)],"},{"line_number":1531,"context_line":"            [(\u0027cn2\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1532,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500)],"},{"line_number":1533,"context_line":"        ]"},{"line_number":1534,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":"    def test_two_non_sharing_connect_to_one_sharing_different_aggregate(self):"},{"line_number":1537,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f485f77_700039ac","line":1534,"range":{"start_line":1509,"start_character":0,"end_line":1534,"end_character":65},"updated":"2017-11-15 19:33:38.000000000","message":"I\u0027m good with this but I should note that this scenario is covered in other tests within this module...","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25a630276f42f5254a5e7793915a4008bb14cdab","unresolved":false,"context_lines":[{"line_number":1506,"context_line":"        ]"},{"line_number":1507,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"},{"line_number":1508,"context_line":""},{"line_number":1509,"context_line":"    def test_two_non_sharing_connect_to_one_sharing(self):"},{"line_number":1510,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1)"},{"line_number":1511,"context_line":"        _add_inventory(cn1, fields.ResourceClass.VCPU, 24)"},{"line_number":1512,"context_line":"        _add_inventory(cn1, fields.ResourceClass.MEMORY_MB, 2048)"},{"line_number":1513,"context_line":""},{"line_number":1514,"context_line":"        cn2 \u003d self._create_provider(\u0027cn2\u0027, uuids.agg1)"},{"line_number":1515,"context_line":"        _add_inventory(cn2, fields.ResourceClass.VCPU, 24)"},{"line_number":1516,"context_line":"        _add_inventory(cn2, fields.ResourceClass.MEMORY_MB, 2048)"},{"line_number":1517,"context_line":""},{"line_number":1518,"context_line":"        ss1 \u003d self._create_provider(\u0027ss1\u0027, uuids.agg1)"},{"line_number":1519,"context_line":"        _set_traits(ss1, \"MISC_SHARES_VIA_AGGREGATE\")"},{"line_number":1520,"context_line":"        _add_inventory(ss1, fields.ResourceClass.DISK_GB, 1600)"},{"line_number":1521,"context_line":""},{"line_number":1522,"context_line":"        alloc_cands \u003d self._get_allocation_candidates("},{"line_number":1523,"context_line":"            resources\u003d{"},{"line_number":1524,"context_line":"                \u0027VCPU\u0027: 2,"},{"line_number":1525,"context_line":"                \u0027DISK_GB\u0027: 1500,"},{"line_number":1526,"context_line":"            }"},{"line_number":1527,"context_line":"        )"},{"line_number":1528,"context_line":"        expected \u003d ["},{"line_number":1529,"context_line":"            [(\u0027cn1\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1530,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500)],"},{"line_number":1531,"context_line":"            [(\u0027cn2\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1532,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500)],"},{"line_number":1533,"context_line":"        ]"},{"line_number":1534,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":"    def test_two_non_sharing_connect_to_one_sharing_different_aggregate(self):"},{"line_number":1537,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f485f77_6c572bcc","line":1534,"range":{"start_line":1509,"start_character":0,"end_line":1534,"end_character":65},"in_reply_to":"1f485f77_700039ac","updated":"2017-11-16 14:48:38.000000000","message":"You are right. It is covered in test_mix_local_and_shared() so I\u0027m dropping this case.","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6ff7450c76bc739f7c65c263a94faebd28740117","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"        ]"},{"line_number":1561,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"},{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"    def test_two_non_sharing_one_common_and_two_unique_sharing(self):"},{"line_number":1564,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1, uuids.agg3)"},{"line_number":1565,"context_line":"        _add_inventory(cn1, fields.ResourceClass.VCPU, 24)"},{"line_number":1566,"context_line":"        _add_inventory(cn1, fields.ResourceClass.MEMORY_MB, 2048)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f485f77_d02a4d2a","line":1563,"updated":"2017-11-15 19:33:38.000000000","message":"might be useful to put the ascii diagram you have in the commit message into a docstring comment here...","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25a630276f42f5254a5e7793915a4008bb14cdab","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"        ]"},{"line_number":1561,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"},{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"    def test_two_non_sharing_one_common_and_two_unique_sharing(self):"},{"line_number":1564,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1, uuids.agg3)"},{"line_number":1565,"context_line":"        _add_inventory(cn1, fields.ResourceClass.VCPU, 24)"},{"line_number":1566,"context_line":"        _add_inventory(cn1, fields.ResourceClass.MEMORY_MB, 2048)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f485f77_209b7766","line":1563,"in_reply_to":"1f485f77_d02a4d2a","updated":"2017-11-16 14:48:38.000000000","message":"Done","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6ff7450c76bc739f7c65c263a94faebd28740117","unresolved":false,"context_lines":[{"line_number":1600,"context_line":"            [(\u0027cn2\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1601,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500),"},{"line_number":1602,"context_line":"             (\u0027ss2\u0027, fields.ResourceClass.IPV4_ADDRESS, 2)],"},{"line_number":1603,"context_line":"            # but we get two invalid combinations as well:"},{"line_number":1604,"context_line":"            # 1) cn1 and ss2 are not connected so this is not valid"},{"line_number":1605,"context_line":"            [(\u0027cn1\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1606,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500),"},{"line_number":1607,"context_line":"             (\u0027ss2\u0027, fields.ResourceClass.IPV4_ADDRESS, 2)],"},{"line_number":1608,"context_line":"            # 2) cn2 and ss3 are not connected so this is not valid"},{"line_number":1609,"context_line":"            [(\u0027cn2\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1610,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500),"},{"line_number":1611,"context_line":"             (\u0027ss3\u0027, fields.ResourceClass.IPV4_ADDRESS, 2)],"},{"line_number":1612,"context_line":"        ]"},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f485f77_7075d931","line":1611,"range":{"start_line":1603,"start_character":0,"end_line":1611,"end_character":60},"updated":"2017-11-15 19:33:38.000000000","message":"would be useful to have a bug to track this specific scenario, and put a TODO(gibi) above that references that bug #","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25a630276f42f5254a5e7793915a4008bb14cdab","unresolved":false,"context_lines":[{"line_number":1600,"context_line":"            [(\u0027cn2\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1601,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500),"},{"line_number":1602,"context_line":"             (\u0027ss2\u0027, fields.ResourceClass.IPV4_ADDRESS, 2)],"},{"line_number":1603,"context_line":"            # but we get two invalid combinations as well:"},{"line_number":1604,"context_line":"            # 1) cn1 and ss2 are not connected so this is not valid"},{"line_number":1605,"context_line":"            [(\u0027cn1\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1606,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500),"},{"line_number":1607,"context_line":"             (\u0027ss2\u0027, fields.ResourceClass.IPV4_ADDRESS, 2)],"},{"line_number":1608,"context_line":"            # 2) cn2 and ss3 are not connected so this is not valid"},{"line_number":1609,"context_line":"            [(\u0027cn2\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1610,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500),"},{"line_number":1611,"context_line":"             (\u0027ss3\u0027, fields.ResourceClass.IPV4_ADDRESS, 2)],"},{"line_number":1612,"context_line":"        ]"},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f485f77_c0738315","line":1611,"range":{"start_line":1603,"start_character":0,"end_line":1611,"end_character":60},"in_reply_to":"1f485f77_7075d931","updated":"2017-11-16 14:48:38.000000000","message":"Done. bug 1732707","commit_id":"81c35b17b01666e04bb69211d8bf13c5b33dc3b0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"663569777e2c8b81155c571150835f4b079e6e91","unresolved":false,"context_lines":[{"line_number":1575,"context_line":"        ]"},{"line_number":1576,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"},{"line_number":1577,"context_line":""},{"line_number":1578,"context_line":"    def test_two_non_sharing_one_common_and_two_unique_sharing(self):"},{"line_number":1579,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1, uuids.agg3)"},{"line_number":1580,"context_line":"        _add_inventory(cn1, fields.ResourceClass.VCPU, 24)"},{"line_number":1581,"context_line":"        _add_inventory(cn1, fields.ResourceClass.MEMORY_MB, 2048)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f485f77_d0e92db7","line":1578,"updated":"2017-11-15 19:35:14.000000000","message":"please add the ascii diagram from the commit message to a docstring here.","commit_id":"337eb6bd3c62d598800eb9f045c652ae992b88c9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"663569777e2c8b81155c571150835f4b079e6e91","unresolved":false,"context_lines":[{"line_number":1618,"context_line":"            [(\u0027cn2\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1619,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500),"},{"line_number":1620,"context_line":"             (\u0027ss2\u0027, fields.ResourceClass.IPV4_ADDRESS, 2)],"},{"line_number":1621,"context_line":"            # but we get two invalid combinations as well:"},{"line_number":1622,"context_line":"            # 1) cn1 and ss2 are not connected so this is not valid"},{"line_number":1623,"context_line":"            [(\u0027cn1\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1624,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500),"},{"line_number":1625,"context_line":"             (\u0027ss2\u0027, fields.ResourceClass.IPV4_ADDRESS, 2)],"},{"line_number":1626,"context_line":"            # 2) cn2 and ss3 are not connected so this is not valid"},{"line_number":1627,"context_line":"            [(\u0027cn2\u0027, fields.ResourceClass.VCPU, 2),"},{"line_number":1628,"context_line":"             (\u0027ss1\u0027, fields.ResourceClass.DISK_GB, 1500),"},{"line_number":1629,"context_line":"             (\u0027ss3\u0027, fields.ResourceClass.IPV4_ADDRESS, 2)],"},{"line_number":1630,"context_line":"        ]"},{"line_number":1631,"context_line":""},{"line_number":1632,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f485f77_70d8391d","line":1629,"range":{"start_line":1621,"start_character":11,"end_line":1629,"end_character":60},"updated":"2017-11-15 19:35:14.000000000","message":"bug report and TODO would be useful please.","commit_id":"337eb6bd3c62d598800eb9f045c652ae992b88c9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"d0dd8c4db8084b4568b24bfce32a8704b4475f9c","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"        #"},{"line_number":1525,"context_line":"        # It is different from test_mix_local_and_shared as it uses two"},{"line_number":1526,"context_line":"        # different aggregates to connect the two CNs to the share RP"},{"line_number":1527,"context_line":""},{"line_number":1528,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1)"},{"line_number":1529,"context_line":"        _add_inventory(cn1, fields.ResourceClass.VCPU, 24)"},{"line_number":1530,"context_line":"        _add_inventory(cn1, fields.ResourceClass.MEMORY_MB, 2048)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f485f77_146e792e","line":1527,"updated":"2017-11-16 16:36:53.000000000","message":"femto: unnecessary empty blank line.","commit_id":"10d8efaf52b696b77137862047472ae50a9c899a"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"bd1aa4ab28a8781442b27016ce037d3531f4056c","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"        #"},{"line_number":1525,"context_line":"        # It is different from test_mix_local_and_shared as it uses two"},{"line_number":1526,"context_line":"        # different aggregates to connect the two CNs to the share RP"},{"line_number":1527,"context_line":""},{"line_number":1528,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1)"},{"line_number":1529,"context_line":"        _add_inventory(cn1, fields.ResourceClass.VCPU, 24)"},{"line_number":1530,"context_line":"        _add_inventory(cn1, fields.ResourceClass.MEMORY_MB, 2048)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f485f77_b329d637","line":1527,"in_reply_to":"1f485f77_146e792e","updated":"2017-11-17 22:04:00.000000000","message":"https://review.openstack.org/#/c/521189/","commit_id":"10d8efaf52b696b77137862047472ae50a9c899a"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"d0dd8c4db8084b4568b24bfce32a8704b4475f9c","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"        #    CN1 (VCPU)          CN2 (VCPU)"},{"line_number":1561,"context_line":"        #   / agg3   \\ agg1     / agg1   \\ agg2"},{"line_number":1562,"context_line":"        #  SS3 (IPV4)   SS1 (DISK_GB)      SS2 (IPV4)"},{"line_number":1563,"context_line":""},{"line_number":1564,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1, uuids.agg3)"},{"line_number":1565,"context_line":"        _add_inventory(cn1, fields.ResourceClass.VCPU, 24)"},{"line_number":1566,"context_line":"        _add_inventory(cn1, fields.ResourceClass.MEMORY_MB, 2048)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f485f77_d4734115","line":1563,"updated":"2017-11-16 16:36:53.000000000","message":"femto: unnecessary empty blank line.","commit_id":"10d8efaf52b696b77137862047472ae50a9c899a"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"bd1aa4ab28a8781442b27016ce037d3531f4056c","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"        #    CN1 (VCPU)          CN2 (VCPU)"},{"line_number":1561,"context_line":"        #   / agg3   \\ agg1     / agg1   \\ agg2"},{"line_number":1562,"context_line":"        #  SS3 (IPV4)   SS1 (DISK_GB)      SS2 (IPV4)"},{"line_number":1563,"context_line":""},{"line_number":1564,"context_line":"        cn1 \u003d self._create_provider(\u0027cn1\u0027, uuids.agg1, uuids.agg3)"},{"line_number":1565,"context_line":"        _add_inventory(cn1, fields.ResourceClass.VCPU, 24)"},{"line_number":1566,"context_line":"        _add_inventory(cn1, fields.ResourceClass.MEMORY_MB, 2048)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f485f77_3315e6e5","line":1563,"in_reply_to":"1f485f77_d4734115","updated":"2017-11-17 22:04:00.000000000","message":"https://review.openstack.org/#/c/521189/","commit_id":"10d8efaf52b696b77137862047472ae50a9c899a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5ebd790e9f1d488ca4338aa8b36bb7fcb5109f79","unresolved":false,"context_lines":[{"line_number":1578,"context_line":"        ]"},{"line_number":1579,"context_line":"        self._validate_allocation_requests(expected, alloc_cands)"},{"line_number":1580,"context_line":""},{"line_number":1581,"context_line":"    def test_two_non_sharing_one_common_and_two_unique_sharing(self):"},{"line_number":1582,"context_line":"        # Covering the following setup:"},{"line_number":1583,"context_line":"        #"},{"line_number":1584,"context_line":"        #    CN1 (VCPU)          CN2 (VCPU)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff82abbf_9777e1a0","line":1581,"updated":"2017-11-28 05:08:19.000000000","message":"This is similar to this case https://review.openstack.org/#/c/498737/2/nova/tests/functional/db/test_resource_provider.py@3207\n\nBut that one is easier than this one.\n\nI\u0027m thinking that should we add a simple one to show the basic case can pass? or we should simplify this one, I feel this test the same case with my one, and we needn\u0027t build such complex fake data.","commit_id":"c873a75da6addf0a7d31ab5ac7ea4b2f685bb4f9"}]}
