Help with Multi Tenancy setup

kishore.bre's Avatar

kishore.bre

16 Jan, 2018 08:09 PM

Hi Team,

Looking for help with MultiTenancy Deployment setup. Below is my scenariao:

We have two windows service jobs in Octopus. They are:
1. DFG and
2. XML

And we have two Tenants (Tenant1 and Tenant2) connected to above projects. Below is how these applications are hosted;

on server 1: Tenant1 DFG and XML
And Tenant2 DFG is running

on server 2: Tenant2 DFG and XML
And Tenant1 DFG is running

Can someone please help me how do I configure Octopus job, such that

(i): when I deploy DFG for Tenant1, Octopus job should deploy on Server1 and Server2
(ii): when I deploy XML for Tenant1, Octopus job should deploy only on Server1
(iii): when I deploy DFG for Tenant2, Octopus job should deploy on Server1 and server2
(iv): when I deploy XML for Tenant2, Octopus job should deploy only on Server2

Appreciate quick response. Thank you!

  1. Support Staff 1 Posted by Reece Walsh on 18 Jan, 2018 05:10 AM

    Reece Walsh's Avatar

    Hi Kishore,

    Thanks for getting in touch, I greatly appreciate your patience in this matter.

    It's not currently possible to include deployment target level scoping to Tenants.

    This does, however, sound like a great idea to make Octopus even better!

    I've included below a link to our User Voice area, feel free to leave your vote and thoughts it would be valuable to get your insight on how this would help your deployment process, the User Voice area is our main avenue when considering new features/enhancements like this based on community support.

    There is, however, is a workaround available.

    In this scenario you would be to create a new role for the second server deployment target, this role would then need to be specified against each deployment step within the XML Project, removing any existing roles that target the DFG Server.

    By implementing this method you will be able to ensure that all applicable steps for the XML project run solely against the specified deployment target within the environment.

    In order for the DFG project to deploy against both servers each step within the DFG project would also need to include the newly created role.

    If I've misunderstood in any way or if you require any additional assistance or clarification please let me know :)

    Have a great day!

    Kind Regards,

    Reece

  2. 2 Posted by kishore.bre on 22 Jan, 2018 06:16 PM

    kishore.bre's Avatar

    Thanks for your reply. I'm okay with creating XML project or DFG project specific deployment target roles, but about Tenants ? In other words, As I explained in the above post,
    (i): when I deploy DFG for Tenant1, Octopus job should deploy on Server1 and Server2 (ii): when I deploy XML for Tenant1, Octopus job should deploy only on Server1 (iii): when I deploy DFG for Tenant2, Octopus job should deploy on Server1 and server2 (iv): when I deploy XML for Tenant2, Octopus job should deploy only on Server2

    are you saying that I can achieve this b having different roles ? Could you please elaborate in detail ? Thank you.

  3. Support Staff 3 Posted by Reece Walsh on 25 Jan, 2018 12:47 AM

    Reece Walsh's Avatar

    Hi Kishore,

    Thanks for getting back to me regarding this,

    I've included below some screenshots to highlight this,

    To make my examples more applicable to your data I've also included a key below;

    Tenants:

    Gold Octopus = Tenant 1

    -- See Attached "Tenant 1" to see in this example that Project 3 (DFG) will deploy to both Environments Testing & UAT, whilst the Project 4 for this Tenant will only deploy to the UAT Environment.

    Purple Octopus = Tenant 2

    -- See Attached "Tenant 2" to see in this example that Project 3 (DFG) will deploy to both Environments Testing & UAT, whilst the Project 4 for this Tenant will only deploy to the Testing Environment.

    Projects:

    Project 3 = DFG
    Project 4 = XML

    To have steps within the project run against specific targets this can be accomplished using roles, you will also need to scope each step within the Project to a particular deployment target, I've included how this looks below also.

    -- See "Project 1"

    In contrast, you will need to specify the role of the deployment targets as shown below;

    -- See "Deployment Target Roles"

    If I've misunderstood in any way, please let me know :)

    I hope this helps!

    Kind Regards,

    Reece

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac