-
Notifications
You must be signed in to change notification settings - Fork 6
Updates for flavor reservation/virtualization #123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: chameleoncloud/2023.1
Are you sure you want to change the base?
Conversation
Also adds docs so a user can find this behaviour easily. Closes-Bug: #2071832 Change-Id: Iea3c4164f3e893c355ec21653f2e8f0e848941f0
Change-Id: Ib71c15ec989a86265b826ece00ad32f95e3292bb
For flavor-based reservation, we want to store all the resource class inventory information from placement, along with all the trait information for each host. Change-Id: I154ee17190e1b2da77601699f03000cb670057af
Look up and store placement details when we add a compute host. This assumes nothing changes. If it does you need to remove and add hosts again to synchronise placement data. Change-Id: I1fa9b40823bac94550a0fc1b83a9f6818936cea4
This method is needed to query more details about each host when building up possible flavor allocations. Change-Id: Ifde07da9513089bde2e9353452e97c0648a756c6
This adds the flavor.instance plugin, where users request a reservation similar to: openstack reservation lease create test --reservation \ resource_type=flavor:instance,amount=2,\ flavor_id='e26a4241-b83d-4516-8e0e-8ce2665d1966' This uses lots of ideas from the existing instance reservation plugin, and where possible leans on some of the existing logic, currently only filter_hosts_by_reservation. The plugin is not currently usable. There are follow-on patches that implement reserve_resource and then finally update_reservation. Change-Id: I7507e87908e16b313fd624810d6f43cb73dddafe
This implements everything except update_reservation, so you can create, use and delete flavor-based reservations. We are able to re-use the on_start and on_end implementation from the instance plugin, along with its cleanup_resources implementation. However, the flavors created for each reservation are different, because we copy the details from the source flavor, then add the Blazar-specific resource requests on top. This allows users to make use of pinned CPUs, huge pages, and simple PCI device requests and vGPUs. We do not support all flavor options, and these flavors will be rejected. Change-Id: I5b2c9fded67ae7c593ea50ebef0f42b6c5856324
Change-Id: Ia3470b5423a9757a8c43d2cbc2e90ffaca0e983b
Change-Id: I98accb0f8caa652c6091f361c9eb7ff8279453da
Instance reservations can be created with the affinity parameter set to True (affinity), False (anti-affinity) or null (no affinity requested). Change Icf26d1b7dffe64f82d7084dcebb5df1c7c9f106d updated the database schema with Alembic but missed updating the SQLAlchemy model. Change-Id: Ic754692722a784b1cb47ffeebce58136a528ad14
- Fix migration branches - Add migration to allow affinity to be nullable - Fix on_* events in flavor plugin - Replace usage of context with lease (not sure context seems broken) - Add before_end event to flavor reservations - Fix db session code for Antelope - Fix config assumptions
This is a customization in our fork, and so needed fixing. Email relay is configured under the host plugin still based on our email script. See ChameleonCloud/kolla-containers@ee83055:
If a host allocation is tied to an instance reservation, we need to include "usage" information to indicate how much of the host is allocated. Otherwise, we have no idea what proportion of the host is reserved.
2012cce
to
7d33582
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm concerned about adding DB migrations without a major release.
It could lead to broken deployments if operators change container versions back and forth while still being in 2023.1.
Because of that, my preference may be to keep this branch (2023.1-kvm) separate until we bump to 2024.1, when operators will get an upgrade anyway, and shouldn't expect to roll back.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No notes, LGTM 👍🏻
Change-Id: I190dca0ba944d8131ad3f0aedbe5e43eac147192
…rvation" This reverts commit 84fccdf. Change-Id: Icb6dee82b955694e1e58e83e02cc0ebc2776acd0
Change-Id: I5f681331088b3f0d61f2eddf6431a488c7cb850e
Before before_end was set in allocation_candidates. This method operates on a copy of the reservation, so the side effect of setting before_end doesn't do anything. Instead we set it in reserve_resource, which is actually creating the DB entry. Change-Id: I73a48e7170cafaea4402c79a6ebf0627a7b55d8f
Uh oh!
There was an error while loading. Please reload this page.