citrix / terraform-provider-citrix

Terraform Provider for Citrix
https://registry.terraform.io/providers/citrix/citrix/latest
Apache License 2.0
46 stars 6 forks source link

[Feature] Add support for Cloudstack #136

Open fermosan opened 1 month ago

fermosan commented 1 month ago

Thanks for taking the time to fill out this feature request! Before submitting this issue please check the open feature requests to ensure the feature has not already been reported. If it has been reported give it a 👍

Describe the feature request

Fill out the following questions and add any additional information. Summary: Cloudstack has already a terrafrom provider that can spawn instances with offerrings and networking firewalling. Can you include Cloudstack support as a public/private cloud provider as well ?

Is this an enhancement to an existing resource or data source, if so which one?

If this is a new resource or data source describe what it should do. The whole hypervisor provisioning process and related networking should be handled by a seperate Resources (E.g. citrix_cloudstack_hypervisor, citrix_cloudstack_resource_pool).

Link to any docs that cover this feature: https://registry.terraform.io/providers/cloudstack/cloudstack/latest/docs

Link to any APIs that cover this feature:

zhuolun-citrix commented 1 month ago

Hi @fermosan ,

Just want to make sure we understand your request better. Do you want to use the Cloudstack provider together with our Citrix Provider side by side in one terraform workspace, i.e. having Cloudstack resource and Citrix resource configured in one .tf file?

Thank you, Zhuolun

fermosan commented 1 month ago

Hello @zhuolun-citrix , that is mainly the idea. The goal is to be able to create, maintain and extend a Citrix DaaS setup by utilizing Cloudstack as IaaS providing all the networking, vm instances, firewalling e.t.c and using citrix terraform provider to deploy all citrix components (storefronts, controllers, vdas). The only issue i see here is MCS support for provisioning and power manage. Once upon a time there was some support for cloudstack (since Cloudstack was Citrix product in the first place).

zhuolun-citrix commented 1 month ago

Hi @fermosan ,

Thank you for your suggestion. If I understand your request correctly, you want to use Cloudstack as hypervisor and use MCS to provision VDAs. Unfortunately Citrix MCS do not support Cloudstack provisioning at the moment.

Alternatively, you can use Cloudstack provider to create VDA vms. Then use Citrix provider to create a manual non-power managed catalog and add the VDA to the catalog using their machine account in AD. You can refer to the example below:

resource "citrix_machine_catalog" "example-manual-non-power-managed-mtsession" {
    name                        = "example-manual-non-power-managed-mtsession"
    description                 = "Example manual non power managed multi-session catalog"
    zone                        = "<zone Id>"
    allocation_type             = "Random"
    session_support             = "MultiSession"
    is_power_managed            = false
    is_remote_pc                = false
    provisioning_type           = "Manual"
    machine_accounts = [
        {
            machines = [
                {
                    machine_account = "DOMAIN\\MachineName1"
                },
                {
                    machine_account = "DOMAIN\\MachineName2"
                }
            ]
        }
    ]
}

Please let me know if you need further assistance on this.

Thank you, Zhuolun

fermosan commented 1 month ago

Thanks for your reply, we will try your suggestion and let you know.

zhuolun-citrix commented 1 month ago

Hi @fermosan ,

Just want to follow up with you on this. How did the manual provisioning machine catalog work for your use case? Do you have any suggestion / want any improvement for this workflow?

Thank you, Zhuolun

fermosan commented 2 weeks ago

Hello, thanks for checking on this. We haven't yet tried the deployment. Please keep this open so i can give you feedback when we deploy.