If all you are talking about doing is schduling all VMs for project X on a separate host aggregate it's definitely doable.  All you'd need to do is create a host aggregate with some metadata defined and then use the aggregate_instance_extra_specs in a set of private flavors assigned only to that project you want on them.    

See here for a more detailed description:
https://docs.openstack.org/nova/latest/admin/aggregates.html

You can do the same thing with storage via volume types mapped to specific backends that are assigned only to specific users.

From: open infra <openinfradn@gmail.com>
Sent: 21 November 2023 09:26
To: openstack-discuss <openstack-discuss@lists.openstack.org>; StarlingX ML <starlingx-discuss@lists.starlingx.io>
Subject: Isolating OpenStack Project
 

CAUTION: This email originates from outside THG


Hi,

Sorry for cross posting.

I need to create a new project and expect to isolate all VMs and underline resources from other projects. I have a default 'admin' project with 20+ workers with a bunch of VMs which are already occupied. Is there a guide for this?

My intention is to create a new project and all VMs are only scheduled on reserved workers where no other project is able to schedule workloads on those machines. 

My Openstack deployment is on top of StarlingX 7.0

We say isolation of complete projects, is it possible to count storage (ceph) as well?

Regards,
Danishka