Commit 3226318
[ironic] Partition & use cache for list_instance*
list_instances and list_instance_uuids, as written in the Ironic driver,
do not currently respect conductor_group paritioning. Given a nova
compute is intended to limit it's scope of work to the conductor group
it is configured to work with; this is a bug.
Additionally, this should be a significant performance boost for a
couple of reasons; firstly, instead of calling the Ironic API and
getting all nodes, instead of the subset (when using conductor group),
we're now properly getting the subset of nodes -- this is the optimized
path in the Ironic DB and API code. Secondly, we're now using the
driver's node cache to respond to these requests. Since list_instances
and list_instance_uuids is used by periodic tasks, these operating with
data that may be slightly stale should have minimal impact compared to
the performance benefits.
Closes-bug: #2043036
Change-Id: If31158e3269e5e06848c29294fdaa147beedb5a5
(cherry picked from commit fa3cf7d)
(cherry picked from commit 555d7d0)1 parent dd66f40 commit 3226318
File tree
3 files changed
+54
-49
lines changed- nova
- tests/unit/virt/ironic
- virt/ironic
- releasenotes/notes
3 files changed
+54
-49
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
582 | 582 | | |
583 | 583 | | |
584 | 584 | | |
585 | | - | |
| 585 | + | |
586 | 586 | | |
587 | 587 | | |
588 | 588 | | |
| 589 | + | |
589 | 590 | | |
590 | 591 | | |
591 | 592 | | |
592 | | - | |
593 | | - | |
| 593 | + | |
| 594 | + | |
594 | 595 | | |
595 | | - | |
| 596 | + | |
596 | 597 | | |
597 | 598 | | |
598 | 599 | | |
599 | | - | |
600 | | - | |
601 | 600 | | |
602 | 601 | | |
603 | 602 | | |
604 | 603 | | |
605 | 604 | | |
606 | 605 | | |
607 | | - | |
608 | | - | |
| 606 | + | |
609 | 607 | | |
610 | | - | |
611 | | - | |
612 | | - | |
613 | | - | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
| 608 | + | |
| 609 | + | |
619 | 610 | | |
620 | 611 | | |
621 | 612 | | |
622 | | - | |
623 | | - | |
624 | 613 | | |
625 | 614 | | |
626 | 615 | | |
627 | 616 | | |
628 | | - | |
| 617 | + | |
629 | 618 | | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
634 | 634 | | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
| 635 | + | |
| 636 | + | |
650 | 637 | | |
651 | 638 | | |
652 | 639 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
647 | 647 | | |
648 | 648 | | |
649 | 649 | | |
650 | | - | |
651 | | - | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
652 | 660 | | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
657 | 665 | | |
658 | 666 | | |
659 | 667 | | |
| |||
662 | 670 | | |
663 | 671 | | |
664 | 672 | | |
665 | | - | |
666 | | - | |
667 | | - | |
668 | | - | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
669 | 682 | | |
670 | 683 | | |
671 | 684 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
0 commit comments