To enhance multi tenancy isolation and boundaries, Cloudify should ensure agents belonging to deployments of tenant A are not be able to trigger any workflow or operation on deployments of tenant B.
RabbitMQ isolation is required at tenant-level to ensure this is the case.
1. Agent from tenant A cannot add anything to the queue that would affect any agent from tenant B
2. Upgrade from 4.0 / 4.0.1 to 4.1 should be supported
3. On the new architecture, it should be possible to add/remove tenants and the chosen solution should support it
4. Agent-less deployments should be supported
5. HA mode should be supported and tested
6. Upgrade from 4.1 to later versions should be supported
7. No API changes