Hello, I'm seeking information about using machine...
# citrix-cloud
b
Hello, I'm seeking information about using machine profiles for Azure-based catalogs. I can see from the documentation you can point to a virtual machine or a template spec to configure things like Accelerated networking, boot diagnostics, etc. I also see that the documentation shows how to create the template spec from an existing virtual machine. I think I'm leaning on creating a template spec but I can't find documentation on what can/should be configured in the template spec. I'd like to create a "minimal" template spec. My concern is if you point the machine profile at a template spec created from a virtual machine or at a virtual machine you may end up with extra or unexpected configurations. Maybe I'm overthinking it.
j
Maybe overthinking a little :-) mcs only honors what it uses in those specs / profiles anyhow
b
Yes, my friend, I’m overthinking it. Ultimately, we want to create a Win11 catalog with hibernation. So, I know we need hibernation, trusted launch, and tpm enabled via the template spec. What other things might we look at setting in the machine profile that we can’t also enable in the catalog wizard?
j
Better to overthink than underthink brother. Outside of your notes above, Tags (used to handle this with policies) and disk caching settings spring to mind, I think there was also some considerations around certain encryption types used - but there were so many combination of those, my brain can't compute them all. @Yuhua Lu is there a defined list of supported/checked settings for Machine Profiles that Brandon can reference outside of what is currently in the docs?
👍 1
b
There is definitely some uncertainty about what you can do with a machine profile and this being a cloud service, why aren't these native options in the catalog wizard?
Related question, if hibernation is enabled on the master image, not in a machine profile, will the hibernation be enabled on the machines in the catalog? I know the documentation says it needs to be set in a machine profile. Asking for a friend.
j
oh that is a fun one, my understanding on that one is that the catalog is only enabled for hibernation if you use an ARM spec or Machine Profile during initial creation that has the Hibernation property set. But, you can retro fit an existing catalog that does not have the value set via PowerShell - this is not MCS specific, but for general power management of existing machines. That's how I understand it anyhoo
b
that's how I understand it too, having a healthy disagreement between coworkers on this one.
g
destroy them all
❤️ 1
y
is there a defined list of supported/checked settings for Machine Profiles that Brandon can reference outside of what is currently in the docs?
Good question, James and Brandon. Before machine profile, we added Azure feature by using custom property and post machine profile, even though we don't need new custom property, we still test before claim support. Overall, idea of machine profile is that we will transparently import VM properties from master VM or ARM template spec, and then use these properties to create VM. This way, if Azure introduce new property, it will be automatically working without us making any code change. For example, when Azure introduced Encryption at host, it automatically worked with machine profile, we just verified it is working.
So we are in a bit odd place right now. Generally we want to say that a feature is supported as long as it is part of property that machine profile can capture, which means we won't have a list. I am thinking about rephrasing feature description in our doc so that they are not presented as "supported feature list" but rather "how to do it correctly". If we have a list of supported feature, then it means that we need make claim on each new Azure feature and it might be problematic to some customer who needs to follow strictly whether Citrix support a feature or not...
There is definitely some uncertainty about what you can do with a machine profile and this being a cloud service, why aren't these native options in the catalog wizard?
can you help me to understand what is your view of doing it better? I am very interested in improving however we can
if hibernation is enabled on the master image, not in a machine profile, will the hibernation be enabled on the machines in the catalog?
then new VM will not be hibernation enabled. Used to be, image itself having property to indicate it is hibernation enabled or not and it is mandatory to create hibernation enabled VM but it is no longer mandatory requirement on image property. VM however must have property called AdditionalCapabilities.HibernationEnabled. This property is captured through machine profile either from master VM or ARM template spec, and copied to new VM
You can enable hibernation on existing VM via PoSH, Studio work is pending. And PoSH cmdlet will actually change because we have been working on new provisioning maintenance cycle (during which existing VM configuration can be changed)
If you have need to change existing VM to hibernation now, let us know, I can loop in folks to help
j
@Yuhua Lu thanks for taking the time!
b
@Yuhua Lu, yes thank you!
y
You are more than welcome! Keep question and recommendation coming 🙂