Skip to content

Setting-up Prerequisites for Automatic Power Management of Session Teams

To use automatic power management of session teams, following prerequisites must be fulfilled:

Supported Controller Version

HyWorks v3.3-R2 is integrated with features for on-demand session host server provisioning and power management.

Supported Virtualization Platforms

Automatic power management and dynamic provisioning of session team are supported with following virtualization platforms:

  1. Microsoft Azure
  2. Nutanix AHV
  3. VMware vCenter Server

Important

: Provisioned session teams can be created with Microsoft SCVMM and Hyper-V, but on-demand provisioning and power management is not supported with these platforms.

Supporting Services: Scheduler/ Action Processor Installation and Configuration

To enable dynamic on-demand provisioning of session team and automatic power management, following supporting services must be installed on HyWorks Controller management servers (Primary and secondary controllers):

  1. Scheduler: Refer Scheduler Installation and Configurations in Installation Section
  2. Action Processor: Refer Action Processor Installation and Configurations in Installation Section

Note

: Currently scheduler and action processor must be installed on same server as HyWorks Controller. This is to manage these services with and by HyWorks controller.

Advance Global Configurations in Action Processor (Optional)

Administrator will be able to customize message title, content and type based on deployment configurations and requirements. This can be done using the Action Processor configuration file, which can be found at: - \/appsettings.json - Default Path: C:\Program Files (x86)\Accops\HyWorks\ActionProcessor\appsettings.json

  • MessageTitleForForceShutdown- Title of the message when the server will be shutdown forcefully.

  • MessageForForceShutdown: Message to be shown to the user when the server will be shutdown forcefully. Example = Logout from this desktop and re-login to get a new desktop. This server planned to shut down at [DisplayEndTime].

  • MessageTitleForCordonOnly- Title of the message when the server will be marked as cordon and it will be shutdown only after all sessions are logged out.

  • MessageForCordonOnly: Message to be shown to the user when the server will be marked as cordon and it will be shutdown only after all sessions are logged out. Example = Logout from this desktop and re-login to get new desktop.

  • MessageDisplayMechanism: Display Mechanism to be used for the message.

    • 0 = Normal Message (Windows/Zenity)

    • 1 = Virtual Channel (Windows only)

    • 2 = Tray Agent (in future)

  • MessageDisplayType: Display type of the message. Only one type of message is active in SHD, if multiple messages to be show in SHD

    • 0: Resource Msg (Recommended) (to be used send regarding SHD shutdown)

    • 1: Maintenance Msg

    • 2: General Msg

  • MessageIntervalInMins: Interval for displaying the message.

    • 0: One time.

    • 0 >: Show message x after the interval

  • MessageLevel: Level of the message

    • 0 = Information

    • 1 = Warning (Recommended for shutdown)

    • 2 = Error

    • 3 = Alert

    • 4 = User Action Required.

  • ActionExecutionTimeoutInMins: Time to for execution of single team scale or plan implementation processor.

  • ActionWaitDurationInSecs: Number of secs to sleep after showing the notification to users. (recommended in 1 secs)

HyWorks Controller Configurations

Enable Controller to manage scheduler service

To manage scheduler service by HyWorks Controller refer this section

Capacity Plan Components

Capacity plan in HyWorks controller defines the overall capacity that will be needed at any given point of time on a specific day. While defining a capacity plan, following screens appear before administrator:

Objectives in Capacity Plan: Objective in capacity plan are used to define the expected capacity at given point of time.

Plan consist of multiple objectives with following attributes:

  1. Time – At this time assigned team`s capacity updated and Scale UP & Down threshold are applicable

  2. Max Capacity %: What percentage of Team`s capacity will be allowed to be when powered on, based, actual SHD power on based on sessions on team. Act as an upper limit.

  3. Min Capacity %: What percentage of Team`s capacity will be Powered On, irrespective no of sessions in the team.

  4. Min Provisioned Capacity %: What percentage of the Team's capacity will be provisioned, irrespective of any no of sessions on the team.

  5. Utilization Threshold for Scale up %: Dynamic scaling will be triggered to add more servers in powered on state if overall team’s session utilization has reached or above the threshold.

  6. Utilization Threshold for Scale down %: Dynamic scaling will be triggered to reduce servers in powered on state if overall team’s session utilization has reached or below the threshold.

Capacity Plan Schedule: The second screen in capacity plan is schedule, which defines the start and end date-time for the capacity plan, along with days on which capacity plan will be applied. Following options will be available:

  1. Enable Capacity Plan: If set, then on-demand desktop provisioning will be applied to session teams as per the plan's schedule and plan objective. If not set, then the plan will not be applied to do on-demand desktop provisioning.

    1. Administrator can disable or enable the whole capacity plan anytime using the 'Enable capacity plan' setting
    2. While disabling the capacity plan administrator should be more cautious as it is affect assigned the session teams
  2. Plan Valid From: Plan is valid from this date and time.

  3. Plan Valid Till: Plan will be valid till this date and time.

  4. Plan Applicable on These Days: Option to select days of the week, on which plan will be applied on associated session teams.

Associating Team with Plan Administrator can search and add session teams to be managed via capacity plan. Session host teams deployed via dynamic desktop pool are called managed session teams. Only managed session team can be associated with capacity plan.

Options for Power Management from Controller Advanced Configurations

Some advanced options can be configured for usage as per requirement from HyWorks Controller Management Console -> System -> Advance Config screen. Below is the list of such options:

  • Scheduler Service URL: Endpoint URL of Scheduler service with port.

  • Show Schedule Frequency Interval: If the value is true then the administrator can configure a schedule frequency interval on pool, team, and capacity plan add or edit wizard.

  • Manage Scheduler Service: If the value is true, then the controller will manage the state of the scheduler service based on a cluster node. Scheduler service is state full service, so it should be running only on the primary node of the controller and should be stopped on the secondary node or session node.

  • Waiting Session Timeout: The waiting sessions are considered for scaling up the team for this time in minutes. Capacity management is enforced and running servers is 0 then the waiting session will be considered to scale up the team's running server capacity.

  • Capacity Planning Advanced Option: If the value is true, then the advanced option for capacity planning will be visible on UI like Apply now button on the capacity plan grid page and Scale now button on the team grid page etc.

  • Disable Team Capacity Planning: If this value true then the Team capacity planning feature will disable irrespective of settings on the team.

Following configurations are not mandatory but recommended:

VM Scale Booster

The configurations required for faster updates of SHD VM power, SHD Agent, DVM Agent, and Monitoring Statuses. It is very much recommended for large scale deployments, as polling of too many server can cause delay in status update of session host servers.

Ports to be opened:

  • Between SHD & Management controllers: 5672 (Default).
  • Management controllers to access the portal: 15672 (Default).

Detailed steps to configure VM Scale Booster

User shutdown setting on VM deletion

Servers are getting deleted on created on demand as per capacity plan, recommended is that the server should get shutdown before it get deleted. Set Shutdown desktop on recompose and reset settings as True from advance setting.

Power Management Data to Accops Reporting Server (ARS)

Controller pushes the capacity planning related to data to ARS for individual teams which have capacity planning enabled and ARS configured. This data is sent with the session monitoring data.

To enable session monitoring following flags should be enabled in Management Console -> System -> Advance Config:

  • Controller Session Monitoring: Set as True, default is false
  • Controller Session Monitoring Interval: Set as per frequent logs needed, default 15 minutes

Below are the fields of capacity planning data:

  • TeamId: Managed team Id.
  • TeamName: Managed team name.
  • PoolId: Shared hosted desktop pool Id.
  • PoolName: Shared hosted desktop pool name.
  • OrganizationId: Organization Id.
  • OrganizationName: Organization name.
  • Desk_Conf_TotalMaxCapacity: Total server capacity configured for managed team on pool configurations.
  • Desk_Conf_MaxRunningCapacity: Maximum server capacity configured on team based on the current applicable capacity plan.
  • Desk_Conf_MinRunningCapacity: Minimum server capacity configured on team based on the current applicable capacity plan.
  • Desk_Conf_MinProvisionedCapacity: Minimum provisioned server configured on team based on the current applicable capacity plan.
  • Desk_Conf_UpperThreshold: Scale up the threshold for the team.
  • Desk_Conf_LowerThreshold: Scale down the threshold for the team.
  • Desk_Active: Currently active server which are ready to server new connection.
  • Desk_BeingDrained: Servers that are currently marked as cordon and will be drained or shutdown.
  • Desk_PoweredOff: Current total powered on servers in the team, including servers with Sysprep or disk encryption pending or running.
  • Desk_PoweredOn: Currently total powered off servers in the team.
  • Desk_Provisioned: Currently total provisioned servers in the team.
  • Desk_ProvisionFailed: The servers that are failed to provision.
  • Desk_Provisioning: The servers that are currently under-provisioning, including the servers that have Sysprep or disk encryption pending or running.
  • Desk_DesiredRunningCapacity: Expected number of servers need to be ready to accept a new connection.
    • Formula: Desk_DesiredRunningCapacity = FLOOR( ( ( ( Con_ActiveConnected /Desk_Conf_UpperThreshold ) * 100 ) / MaxSessionPerServer ) + 0.5 )
  • Desk_Idle: Servers which are Idle as per the total live connection on the team, this is calculated based on the below formula.
    • Formula: Desk_Idle = FLOOR(Con_Idle/MaxSessionPerServer)
  • Desk_UsableServer: The servers that are currently used and having an active connection in the team.
    • Formula: Desk_UsableServer = Desk_Active + Desk_BeingDrained
  • Desk_Overprovisioned: Servers that are over and above than the expected running capacity.
    • Formula: Desk_Overprovisioned = Desk_UsableServer: Desk_DesiredRunningCapacity
  • Con_Conf_TotalMaxCapacity: Total configured connection capacity based on the total server limit configured on the pool for the team.
    • Formula: Con_Conf_TotalMaxCapacity = Desk_Conf_TotalMaxCapacity * MaxSessionPerServer
  • Con_Conf_MaxCapacity: Maximum configured connection capacity based on the maximum running server as per capacity plan.
    • Formula: Con_Conf_MaxCapacity = Desk_Conf_MaxRunningCapacity * MaxSessionPerServer
  • Con_Conf_MinCapacity: Minimum configured connection capacity based on the maximum running server as per capacity plan.
    • Formula: Con_Conf_MinCapacity = Desk_Conf_MinRunningCapacity * MaxSessionPerServer
  • Con_ConnectionCapacity: Current connection capacity based on Active and Draining servers.
    • Formula: Con_ConnectionCapacity = Con_DrainedCapacity + Con_ActiveCapacity;
  • Con_ActiveConnected: Session running on Active servers.
  • Con_BeingDrainedConnected: Session running on Draining servers.
  • Con_TotalConnected: Total session running on Active and Draining servers.
    • Formula:Con_TotalConnected = Con_BeingDrainedConnected + Con_ActiveConnected
  • Con_DrainedCapacity: Current connection capacity on draining server.
    • Formula: Con_DrainedCapacity = Desk_BeingDrained * MaxSessionPerServer;
  • Con_ActiveCapacity: Current connection capacity on Active server
    • Formula:Con_ActiveCapacity = Desk_Active * MaxSessionPerServer;
  • Con_Desired: Expected connection capacity.
    • Formula: Con_Desired = Desk_DesiredRunningCapacity * MaxSessionPerServer;
  • Con_Idle: Current Idle server capacity.
    • Formula: Desk_Idle = FLOOR(Con_Idle/MaxSessionPerServer)