Yes, most definately.
OpenStack Ironic[1] can do this today, given you had right hardware. Making that hardware "mutli-tenant" is not a trivial project, mostly because the firmware stacks are still very closed, but it can be done. Top of Rack switches are also another area of complexity/pain, but also feasible to overcome with a little engineering.
[1]: OpenStack has its complexities, but the OnMetal project has upstreamed everything feasible we can.