Comment 13 for bug 1839560

Reviewed: https://review.opendev.org/676513
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=ecd1e046214e087dd484359f256386a3e8962ec1
Submitter: Zuul
Branch: stable/rocky

commit ecd1e046214e087dd484359f256386a3e8962ec1
Author: Matt Riedemann <email address hidden>
Date: Fri Aug 9 17:24:07 2019 -0400

    Add functional regression recreate test for bug 1839560

    This adds a functional test which recreates bug 1839560
    where the driver reports a node, then no longer reports
    it so the compute manager deletes it, and then the driver
    reports it again later (this can be common with ironic
    nodes as they undergo maintenance). The issue is that since
    Ia69fabce8e7fd7de101e291fe133c6f5f5f7056a in Rocky, the
    ironic node uuid is re-used for the compute node uuid but
    there is a unique constraint on the compute node uuid so
    when trying to create the compute node once the ironic node
    is available again, the compute node create fails with a
    duplicate entry error due to the duplicate uuid. To recreate
    this in the functional test, a new fake virt driver is added
    which provides a predictable uuid per node like the ironic
    driver. The test also shows that archiving the database is
    a way to workaround the bug until it's properly fixed.

    NOTE(mriedem): Since change Idaed39629095f86d24a54334c699a26c218c6593
    is not in Rocky the PlacementFixture still comes from nova_fixtures.

    Change-Id: If822509e906d5094f13a8700b2b9ed3c40580431
    Related-Bug: #1839560
    (cherry picked from commit 89dd74ac7f1028daadf86cb18948e27fe9d1d411)
    (cherry picked from commit e7109d43d6d6db0f9db18976585f3334d2be72bf)