Skip to content

HyWorks Scheduler and Action Processor

Accops HyWorks Scheduler and Action Processor are used for on-demand provisioning and automatic power management of session host servers. This section gives detailed steps to install the scheduler and action processor.

Scheduler Installation

The scheduler component manages schedules (Create/update/delete) as per the capacity plan creation, modification, or deletion. It also sends the input to the queue with details of the capacity plan and session team, which will be picked by the Action processor to process as per the requirement. The scheduler component is installed on the HyWorks controller server itself.

Prerequisites:

The HyWorks Scheduler can be installed on the Controller server that fulfills the prerequisites mentioned in the requirement section.

Installation:

To install the scheduler, follow the steps given below:

  1. Once all the prerequisites are installed, copy the Scheduler setup on the Controller server.

  2. Run setup with the user having local administrator privileges on the server.

  3. Click Next on the Welcome screen.

  4. On the Choose Components screen the Scheduler will be selected by default. Click Next to proceed.

  5. On the License Agreement screen click I Agree to proceed.

  6. On the MQ Configuration screen:

    • Enter the IP address of the host where RabbitMQ is installed for Publisher Hostname(s). Enter the Port, Username, Password, and check box to Enable SSL.

    • Click Install to proceed.

      Important

      Enable SSL requires RabbitMQ to be configured for SSL communication. Check this section for detailed instructions on enabling SSL.

  7. During the installation, the scheduler will require controller database details.

    • The authentication mechanism and user should have full rights to the controller database. For simplicity, database details can be provided similarly as used to configure the HyWorks Controller.

    • Database configuration is mandatory to proceed and can not be canceled or closed.

      • Database Server Address

      • Static port (default: 1433)

      • Authentication mechanism (Windows/ SQL Server)

        • For SQL Server Authentication - Username/ Password.
    • Click Test Connection to check database reachability.

    • Click Next to proceed.

  8. The installation and configuration will be complete. Click Finish to close the scheduler installer wizard.

  9. Run the ConfigureRabbitMQ script at the end to configure RabbitMQ and follow the steps mentioned in the script.

Action Processor Installation

Action Processor is the brain of capacity planning, it takes inputs from the controller, decides the current capacity, and then takes actions accordingly.

It processes the following two types of messages pushed by the scheduler:

  1. Plan Implementation: Simply save the capacity recommendations in the controller.

  2. Team Scale: Triggering power-on, power-off, cloning jobs as per schedule or scaling requirements.

Prerequisites:

The prerequisites for the Action Processor module are the same as the HyWorks Scheduler. The HyWorks Scheduler can be installed on the Controller server that fulfills the prerequisites mentioned in the requirement section.

Installation:

Follow the steps provided below to install the Action Processor:

  1. Once all the above prerequisites are installed, copy the Action Processor setup on the server.

  2. Run setup with the user having local administrator privileges on the server.

  3. Click Next on the Welcome screen.

  4. On the Choose Components screen:

    • Action Processor selected by default.

    • Click Next to proceed.

  5. On the License Agreement screen, click I Agree to proceed.

  6. On the MQ Configuration screen.

    • Enter the IP address of the host where RabbitMQ is installed for Consumer Hostname(s). The Port, Username, Password and check box to Enable SSL.

    • Click Next to proceed.

    Important

    Enable SSL requires RabbitMQ to be configured for SSL communication. Check this section for detailed instructions on enabling SSL.

  7. Once installation is complete, click Finish to close the Action processor installation wizard.

  8. Run the ConfigureRabbitMQ script at the end to configure RabbitMQ and follow the steps mentioned in the script.

Installation and Configuration in Controller Cluster

If HyWorks Controllers are installed in cluster mode (2 or more controllers are configured for high availability), then:

  • The Scheduler and Action Processor should be installed on both management nodes, with the same configurations.

Important Configurations

Enable the Controller to manage the scheduler service.

Once installed, the following configurations can be done to enable the Controller to manage the scheduler service:

  1. Login into the management console with a user that has super-admin privileges.

  2. Navigate to Host management > System > Advance config.

  3. Apply the filter Capacity Plan in tags.

  4. Set the Manage Scheduler Service setting as True and click Update to apply the changes.

    1. If this setting is true, then the Scheduler service will run only on the primary node of the controller. On the secondary HyWorks controller, the service will be stopped.

    2. If this setting is false, the HyWorks Controller will not manage it and will start and stop with the system.

Other Advanced Options

The following advanced operations are available:

Navigate to the HyWorks management console > Settings > General > Advanced.

  1. Capacity planning advanced option: If the value is set to true, then the advanced option for capacity planning will be visible on the management console e.g., Run schedule now etc. The default value is set as False.

  2. Show schedule frequency interval: On setting this as true Administrator will have the option to configure a schedule frequency interval on the pool, team, and capacity plan add or edit wizard. The default value is set as False.

  3. Scheduler service URL: Endpoint URL of Scheduler service with port. For reliable communication with the controller and Scheduler. Note that this setting is now locked from further edits. The default value is set as http://localhost:38890.

High-availability and Fail-over

Scheduler and Action Processor High-availability

Important

  1. Scheduler and Action Processor are installed with HyWorks Controller Management Nodes only.

  2. The Scheduler and Action Processor services are managed by HyWorks Controller.

  3. The Scheduler and Action Processor services are allowed to run on Primary HyWorks Controller only.

The high-availability of scheduler and action processor is achieved as described below:

  1. Initially the Scheduler and Action Processor will be installed and configured on both of the management nodes.

  2. Services will be stopped on secondary HyWorks Controller and work on primary HyWorks Controller.

  3. Once the primary HyWorks Controller gets stopped or goes in to unreachable state, the secondary HyWorks Controller takes over and becomes the primary.

    1. It will switch on the local Scheduler and Action Processor.

    2. The new secondary HyWorks Controller will stop the local Scheduler and Action Processor.

  4. And hence, Scheduler and Action Processor running with Primary HyWorks Controller.

RabbitMQ High-availability

As Scheduler and Action Processor rely on RabbitMQ for functioning correctly, it is important to achieve the high-availability of RabbitMQ servers. High-availability of RabbitMQ servers can be achieved in two ways:

  • Without External Load Balancers

  • With External Load Balancer

In this section, both of these mechanisms and functioning of Scheduler and Action Processor will be discussed.

Important

  • HyWorks has the concept of consumers and publishers. Modules that send data to the queues are called publishers, and modules that fetch data from the queue are referred to as consumers. For example:

    • Action Processor service is a consumer which consumes the details published by Scheduler service.

    • Consumers should be provided with both of the message queue server host addresses during installation or configuration.

    • Publisher modules should be configured with a load balancer (if deployed), if load balancer is not there publisher components should be configured with both of the message queue server host addresses during installation or configurations.

  1. Without an External Load Balancer: Considering an example where two HyWorks Management Nodes with two RabbitMQ servers are set up without a load balancer configured for RabbitMQ. High availability can be achieved as explained below:

    1. Assuming both of the HyWorks Controller Management nodes are installed with prerequisites for the Scheduler and Action Processor.

    2. Configure Action Processor to consume from both of the RabbitMQ servers.

      • During the installation of Action Processor, provide the host addresses of both of the RabbitMQ servers.
    3. Configure Scheduler to publish on any of the RabbitMQ servers.

      • During the installation of Scheduler, provide the host addresses of both of the RabbitMQ servers.
    4. Consider HyWorks Controller# 1 is serving as primary management node and having active Scheduler and Action Processor services.

      1. With both message queues up and running:

        1. The Scheduler acting as publisher is configured with both of the RabbitMQ servers and thus can send message on any of the queues.

        2. The action processor listens on both of the message queues and processes from both of the queues.

      2. With one message queue is down:

        1. The Scheduler service will not communicate with the RabbitMQ down and works with the working one.

        2. Action Processor listening from both message queues will pick the data from the working one.

    5. And this is how, Scheduler and Action Processor work with any of the active message queue, with failover conditions handled by the Scheduler for publishing and Action Processor is picking from both queues.

  2. With an External Load Balancer: With an external load balancer configured for RabbitMQ:

    1. Assuming both of the HyWorks Controller Management nodes are installed with prerequisites for the Scheduler and Action Processor.

    2. Configure Action Processor to consume from both of the RabbitMQ servers.

      • During the installation of Action Processor, provide the host addresses of both of the RabbitMQ servers.
    3. Configure Scheduler to publish on any of the RabbitMQ servers.

      • During the installation of Scheduler, provide the host addresses of load balancer configured for RabbitMQ servers.
    4. Consider HyWorks Controller# 1 is serving as primary management node and having active Scheduler and Action Processor services.

      1. With both message queues up and running:

        1. The Scheduler acting as publisher is configured with load balancer virtual IP and thus can send message on any of the queues.

        2. The action processor listens on both of the message queues and processes from both of the queues.

      2. With one message queue is down:

        1. Scheduler will send the messages to the load balancer virtual IP address and the load balancer should only forward the messages to healthy RabbitMQ server.

        2. Action Processor listening from both message queues will pick the data from the working one.

    5. This is how Scheduler works with loadbalancer (taking care of failover conditions) and Action Processor is picking from any one or both running queues.