)]}'
{"nova/tests/unit/db/test_sqlalchemy_migration.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a7fffc139bfb62a351f52ddd2e557e7dc677ef13","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":282,"context_line":"                          self.migration.upgrade, self.engine)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    def test_deleted_not_migrated(self):"},{"line_number":285,"context_line":"        cn \u003d objects.ComputeNode(context\u003dself.context,"},{"line_number":286,"context_line":"                                 vcpus\u003d1, memory_mb\u003d512, local_gb\u003d10,"},{"line_number":287,"context_line":"                                 vcpus_used\u003d0, memory_mb_used\u003d256,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_acf2cb6d","line":284,"updated":"2017-02-17 20:27:54.000000000","message":"I removed the fixes and this test failed but I expected it to fail on compute_nodes or aggregates, but it failed on pci_devices which are handled after compute nodes and aggregates:\n\nnova.tests.unit.db.test_sqlalchemy_migration.TestNewtonCheck.test_deleted_not_migrated\n--------------------------------------------------------------------------------------\n\nCaptured pythonlogging:\n~~~~~~~~~~~~~~~~~~~~~~~\n    2017-02-17 15:25:36,979 INFO [248_add_expire_reservations_index] Skipped adding reservations_deleted_expire_idx because an equivalent index already exists.\n    \n\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n      File \"nova/tests/unit/db/test_sqlalchemy_migration.py\", line 308, in test_deleted_not_migrated\n        self.migration.upgrade(self.engine)\n      File \"nova/db/sqlalchemy/migrate_repo/versions/330_enforce_mitaka_online_migrations.py\", line 47, in upgrade\n        raise exception.ValidationError(detail\u003dmsg)\n    nova.exception.ValidationError: There are still 1 unmigrated records in the pci_devices table. Migration cannot continue until all records have been migrated.\n\n\nSo I\u0027m kind of surprised about that - I think it\u0027s because the aggregates are created in the API DB when you\u0027re using the object. I don\u0027t know why the compute_nodes record didn\u0027t get hit here though.","commit_id":"09c5f6077b145c23481b46154289d858e89d0b4a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9eb9a310fc056fe054a9ac80fc83796492e7d1c3","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":282,"context_line":"                          self.migration.upgrade, self.engine)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    def test_deleted_not_migrated(self):"},{"line_number":285,"context_line":"        cn \u003d objects.ComputeNode(context\u003dself.context,"},{"line_number":286,"context_line":"                                 vcpus\u003d1, memory_mb\u003d512, local_gb\u003d10,"},{"line_number":287,"context_line":"                                 vcpus_used\u003d0, memory_mb_used\u003d256,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_8c626715","line":284,"in_reply_to":"da36d5c6_acf2cb6d","updated":"2017-02-17 20:30:14.000000000","message":"Dan pointed out that the compute node object creates it with a uuid, so that\u0027s why it\u0027s missed.\n\nI\u0027d recommend not using objects for the compute node or aggregate and just create them using the main db api.","commit_id":"09c5f6077b145c23481b46154289d858e89d0b4a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"86ac842bc26d299df19abce24381c476d3255431","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":282,"context_line":"                          self.migration.upgrade, self.engine)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    def test_deleted_not_migrated(self):"},{"line_number":285,"context_line":"        cn \u003d objects.ComputeNode(context\u003dself.context,"},{"line_number":286,"context_line":"                                 vcpus\u003d1, memory_mb\u003d512, local_gb\u003d10,"},{"line_number":287,"context_line":"                                 vcpus_used\u003d0, memory_mb_used\u003d256,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_ccb53f7f","line":284,"in_reply_to":"da36d5c6_acf2cb6d","updated":"2017-02-17 20:30:08.000000000","message":"Yeah, good point, because she needs to use the db api to create one without a uuid.","commit_id":"09c5f6077b145c23481b46154289d858e89d0b4a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"86ac842bc26d299df19abce24381c476d3255431","unresolved":false,"context_lines":[{"line_number":289,"context_line":"                                 hypervisor_version\u003d\u002734\u0027, cpu_info\u003d\u0027foo\u0027)"},{"line_number":290,"context_line":"        cn.create()"},{"line_number":291,"context_line":"        agg \u003d objects.Aggregate(context\u003dself.context,"},{"line_number":292,"context_line":"                                name\u003d\u0027foo\u0027)"},{"line_number":293,"context_line":"        agg.create()"},{"line_number":294,"context_line":"        db_api.pci_device_update(self.context, 1, \u0027foo:bar\u0027,"},{"line_number":295,"context_line":"                                 {\u0027parent_addr\u0027: None,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_4caa2f1b","line":292,"updated":"2017-02-17 20:30:08.000000000","message":"Here too, use the db api to make it go into main.","commit_id":"09c5f6077b145c23481b46154289d858e89d0b4a"}]}
