Puppet Class: pulsar

Defined in:
manifests/init.pp

Overview

Class: pulsar

Main class that includes all other classes for the pulsar module.

Parameters:

  • manage_gcc (Boolean) (defaults to: false)

    Whether or not to manage gcc installation with this module.

  • manage_git (Boolean) (defaults to: false)

    Whether or not to manage git installation with this module.

  • manage_python (Boolean) (defaults to: false)

    Whether or not to manage python with this module.

  • manage_python_dev (Enum['present', 'absent']) (defaults to: 'present')

    Installation state for python-dev package to be passed to the python module.

  • manage_python_use_epel (Boolean) (defaults to: true)

    Whether or not the python module should manage the use of epel.

  • manage_python_virtualenv (Enum['present', 'absent']) (defaults to: 'present')

    Installation state for python-virtualenv package to be passed to the python module.

  • pulsar_config_dir (Stdlib::Absolutepath) (defaults to: '/opt/pulsar')

    Directory for where to place configuration files.

  • pulsar_dir (Stdlib::Absolutepath) (defaults to: '/opt/pulsar')

    Directory for where to install pulsar.

  • pulsar_dirmode (String) (defaults to: '0775')

    Mode to use for pulsar directories.

  • pulsar_drmaa_path (Optional[Stdlib::Absolutepath]) (defaults to: undef)

    Path to libdrmaa.so.

  • pulsar_filemode (String) (defaults to: '0664')

    Mode to use for pulsar files.

  • pulsar_file_cache_dir (Optional[Stdlib::Absolutepath]) (defaults to: undef)

    Directory used to store incoming file cache.

  • pulsar_galaxy_path (Optional[Stdlib::Absolutepath]) (defaults to: undef)

    Path to Galaxy.

  • pulsar_galaxy_venv_path (Optional[Stdlib::Absolutepath]) (defaults to: undef)

    Path to the virtualenv for Galaxy

  • pulsar_galaxy_verify (Boolean) (defaults to: false)

    Whether or not to verify if the path to galaxy is properly set before starting pulsar.

  • pulsar_git_repository (Stdlib::Httpurl) (defaults to: 'https://github.com/galaxyproject/pulsar')

    URL of the pulsar git repository.

  • pulsar_git_revision (String) (defaults to: 'master')

    Revision, tag, or commit id of the pulsar git repository to use.

  • pulsar_group (String) (defaults to: 'galaxy')

    Group that should be used for pulsar server and configuration files.

  • pulsar_job_directory_mode (Optional[String]) (defaults to: undef)

    Mode for job related directories.

  • pulsar_job_run_as_user (Boolean) (defaults to: false)

    Whether or not pulsar should run jobs as the real user in galaxy or not.

  • pulsar_logdir (Stdlib::Absolutepath) (defaults to: '/var/log/pulsar')

    Directory for where supervisord should place the pulsar logs should be placed.

  • pulsar_num_backups (Integer) (defaults to: 10)

    Number of backups for supervisord to keep.

  • pulsar_named_managers (Hash) (defaults to: { '__default__' => {'type' =>'queued_python', 'num_concurrent_jobs' => 'i', } })

    Hash of named managers for pulsar.

  • pulsar_owner (String) (defaults to: 'galaxy')

    Owner that should be assigned to pulsar server and configuration files.

  • pulsar_persistence_dir (String) (defaults to: "${pulsar_dir}/files/persisted_data")

    Directory for pulsar to store information about active jobs.

  • pulsar_pip_install (Boolean) (defaults to: true)

    Whether to install by pip or by using the gitrepo instead of pip.

  • pulsar_private_token (Optional[String]) (defaults to: undef)

    Private token that must be sent as part of request to authorize use.

  • pulsar_requirements (Array) (defaults to: [ 'pulsar-app', ])

    What pip packages to install into the pulsar virtual environment.

  • pulsar_staging_dir (Stdlib::Absolutepath) (defaults to: "${pulsar_dir}/files/staging")

    Directory to stage files.

  • pulsar_template_app (String) (defaults to: 'pulsar/app.yml.erb')

    Template to use for app.yml file.

  • pulsar_template_local_env (String) (defaults to: 'pulsar/local_env.sh.erb')

    Template to use for local_env.sh file.

  • pulsar_template_run (String) (defaults to: 'pulsar/run.sh.erb')

    Template to use for run.sh file.

  • pulsar_template_service (String) (defaults to: 'pulsar/supervisor_pulsar.conf.erb')

    Tempalte to use for the supervisord configuration file.

  • pulsar_tool_dependency_dir (Stdlib::Absolutepath) (defaults to: "${pulsar_dir}/dependencies")

    Directory use by tool dependency resolves to find dependency scripts.

  • pulsar_use_uuids (Boolean) (defaults to: false)

    Whether or not pulsar should assign UUID to jobs.

  • server_ini_config (Hash) (defaults to: {})

    Pulsar settings that should appear in the server.ini file.

  • server_ini_hash_params (Hash) (defaults to: {})

    Hash2ini parameters governing server.ini file generation.

  • service_enable (Boolean) (defaults to: true)

    Whether to enable the pulsar service at boot.

  • service_ensure (Enum['running', 'stopped']) (defaults to: 'running')

    Whether the pulsar service should be running.

  • service_manage_config (Boolean) (defaults to: true)

    Whether or not to manage a pulsar service configuration file for supervisord.

  • service_manage_configdir (Stdlib::Absolutepath) (defaults to: '/etc/supervisor/conf.d')

    Directory to place the supervisord pulsar service configuration file.

  • service_name (String) (defaults to: 'pulsar')

    Specifies the name of the service to manage.



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'manifests/init.pp', line 49

class pulsar (
  Boolean                         $manage_gcc                 = false,
  Boolean                         $manage_git                 = false,
  Boolean                         $manage_python              = false,
  Enum['present', 'absent']       $manage_python_dev          = 'present',
  Boolean                         $manage_python_use_epel     = true,
  Enum['present', 'absent']       $manage_python_virtualenv   = 'present',
  Stdlib::Absolutepath            $pulsar_config_dir          = '/opt/pulsar',
  Stdlib::Absolutepath            $pulsar_dir                 = '/opt/pulsar',
  String                          $pulsar_dirmode             = '0775',
  Optional[Stdlib::Absolutepath]  $pulsar_drmaa_path          = undef,
  String                          $pulsar_filemode            = '0664',
  Optional[Stdlib::Absolutepath]  $pulsar_file_cache_dir      = undef,
  Optional[Stdlib::Absolutepath]  $pulsar_galaxy_path         = undef,
  Optional[Stdlib::Absolutepath]  $pulsar_galaxy_venv_path    = undef,
  Boolean                         $pulsar_galaxy_verify       = false,
  Stdlib::Httpurl                 $pulsar_git_repository      = 'https://github.com/galaxyproject/pulsar',
  String                          $pulsar_git_revision        = 'master',
  String                          $pulsar_group               = 'galaxy',
  Optional[String]                $pulsar_job_directory_mode  = undef,
  Boolean                         $pulsar_job_run_as_user     = false,
  Stdlib::Absolutepath            $pulsar_logdir              = '/var/log/pulsar',
  Integer                         $pulsar_num_backups         = 10,
  Hash                            $pulsar_named_managers      = { '__default__' => {'type' =>'queued_python', 'num_concurrent_jobs' => 'i', } },
  String                          $pulsar_owner               = 'galaxy',
  String                          $pulsar_persistence_dir     = "${pulsar_dir}/files/persisted_data",
  Boolean                         $pulsar_pip_install         = true,
  Optional[String]                $pulsar_private_token       = undef,
  Array                           $pulsar_requirements        = [ 'pulsar-app', ],
  Stdlib::Absolutepath            $pulsar_staging_dir         = "${pulsar_dir}/files/staging",
  String                          $pulsar_template_app        = 'pulsar/app.yml.erb',
  String                          $pulsar_template_local_env  = 'pulsar/local_env.sh.erb',
  String                          $pulsar_template_run        = 'pulsar/run.sh.erb',
  String                          $pulsar_template_service    = 'pulsar/supervisor_pulsar.conf.erb',
  Stdlib::Absolutepath            $pulsar_tool_dependency_dir = "${pulsar_dir}/dependencies",
  Boolean                         $pulsar_use_uuids           = false,
  Hash                            $server_ini_config          = {},
  Hash                            $server_ini_hash_params     = {},
  Boolean                         $service_enable             = true,
  Enum['running', 'stopped']      $service_ensure             = 'running',
  Boolean                         $service_manage_config      = true,
  Stdlib::Absolutepath            $service_manage_configdir   = '/etc/supervisor/conf.d',
  String                          $service_name               = 'pulsar',
) {
  case $::operatingsystem {
    'RedHat', 'CentOS': {
      case $::operatingsystemmajrelease {
        '7': {
          contain pulsar::gcc
          contain pulsar::git
          contain pulsar::python
          contain pulsar::install
          contain pulsar::config
          contain pulsar::service

          Class['pulsar::gcc']
          -> Class['pulsar::git']
          -> Class['pulsar::python']
          -> Class['pulsar::install']
          -> Class['pulsar::config']
          ~> Class['pulsar::service']
        }
        default: {
          fail("${::operatingsystem} ${::operatingsystemmajrelease} not supported")
        }
      }
    }
    default: {
      fail("${::operatingsystem} not supported")
    }
  }
}