How to isolate dedicated cinder volume nodes for a tenant ?

asked 2015-02-03 04:04:32 -0600

Julien Carpentier gravatar image

I have a private cloud with Ice House and I try to segregate/divide my cloud in several part I already use host-aggregate (nova) to assign specific compute nodes for tenant isolation and I try to do the same for cinder-volumes. I've tried a solution based on volume types and quotas but if user don't define type when he create a cinder volume, this volume may land on wrong cinder volumes type & quota (cinder) : hitchnyc post about openstack-multi-tenant-isolation

-- Sandbox architecture --

  • cinder001 need to provide LVM iSCSI volume only for tenant001
  • Note : tenant001 spawn VM only on compute001 thanks to host-aggregate
  • cinder002-003 need to provide LVM iSCSI volumes for the other tenants

I already used some custom filter based on map (json file with association between volume-nodes and tenant :

  • cinder.conf > scheduler_driver=cinder.scheduler.map.MapScheduler
  • map.conf like this >

    { "*": [ "cinder002", "cinder003" ], "<"tenant001 uuid">: [ "cinder001" ] }

But I wondering if it's possible to handle this more at APIs level because this solution is too static

edit retag flag offensive close merge delete