Windows Agent Installer Plugin



Description

The Cloudify Windows Agent Installer plugin is used to install agents on Windows host nodes. The installation process is done using WinRM over HTTP from the management machine on the agent machine. The Agent is installed as a Windows Service under the name ‘CloudifyAgent’.

Plugin Requirements:

  • Python Versions:
    • 2.7.x

Pre-requisites for Windows

This plugin can only install agents on an image that meets the following set of requirements:

  • WinRM enabled

To enable WinRM on the machine execute these commands:

winrm quickconfig
winrm s winrm/config/service @{AllowUnencrypted="true";MaxConcurrentOperationsPerUser="4294967295"}
winrm s winrm/config/service/auth @{Basic="true"}
winrm s winrm/config/winrs @{MaxShellsPerUser="2147483647"}

the above winrm commands will fail in Windows Server 2012 (with PowerShell2), you need to put the @{…} in single quotes. (e.g. winrm set winrm/config/service/auth ‘@{Basic=”true”}’)

Note

These settings provide unencrypted WinRM access to the machine. We’re working on adding Kerberos support. From MSDN: AllowUnencrypted - Allows the client computer to request unencrypted traffic.

  • Python

    Python 2.7.6 32Bit Must be installed on the machine under ‘C:\Python27’ - (Get Python)

  • A Windows image with a preconfigured, known user and password (to allow WinRM access).

Description

The agent installation process includes installing Celery on the agent machine, installing plugins required on this host and starting a celery worker.

Configuration

The agent configuration is located under the cloudify_agent property of a host node.

nodes_templates:
  example_windows_host:
    type: cloudify.openstack.nodes.WindowsServer
    properties:
      cloudify_agent:
        user:                     # no default value (globally configurable in bootstrap configuration)
        password:                 # no default value
        port: 5985                # default value (from bootstrap configuration)
        min_workers: 2            # default value (from bootstrap configuration)
        max_workers: 5            # default value (from bootstrap configuration)
        service:
          start_timeout: 30
          stop_timeout: 30
          status_transition_sleep_interval: 5
          successful_consecutive_status_queries_count: 3
          failure_reset_timeout: 60
          failure_restart_delay: 5000
  • user username for establishing a WinRM connection
  • password password for establishing a WinRM connection
  • port WinRM port (default: 5985)
  • min_workers Minimum number of agent workers (default: 2. See Auto Scaling)
  • max_workers Maximum number of agent workers (default: 5. See Auto Scaling)
  • service.start_timeout Time to wait for the service to reach ‘Running’ status (default: 30 unit: seconds)
  • service.stop_timeout Time to wait for the service to reach ‘Stopped’ status (default: 30 unit: seconds)
  • service.status_transition_sleep_interval Sleep interval between status checks (default: 5 unit: seconds)
  • service.successful_consecutive_status_queries_count Number of status checks after which the status is considered stable (default: 3)
  • service.failure_reset_timeout The period of time with no failures after which the failure count should be reset to 0 (default: 60 unit: seconds)
  • service.failure_restart_delay Time to wait before starting the service again after a failure (default: 5000 unit: milliseconds)

Bundled Plugins & Libraries

The following plugins and libraries are bundled within every Cloudify windows agent:

Libraries

  • cloudify-plugins-common (required by every plugin)
  • cloudify-rest-client
  • cloudify-script-plugin

Plugins

  • cloudify-windows-plugin-installer-plugin