Puppet Class: ironic::drivers::ansible

Defined in:
manifests/drivers/ansible.pp

Overview

Configure the ansible deploy interface

Parameters

package_ensure

(optional) The state of the required packages Defaults to ‘present’

ansible_extra_args

(optional) Extra arguments to pass on every invocation of ansible. Defaults to $facts

playbooks_path

(optional) Path to directory with playbooks, roles and local inventory. Defaults to $facts

config_file_path

(optional) Path to ansible configuration file. Defaults to $facts

image_store_insecure

(optional) Skip verifying SSL connections to the image store when downloading the image. Defaults to $facts

default_username

(optional) Default name of the user to use for Ansible when connecting to the ramdisk over SSH. Defaults to $facts

default_key_file

(optional) Absolute path to the private SSH key file to use by Ansible by default when connecting to the ramdisk over SSH. Defaults to $facts

default_deploy_playbook

(optional) Path to the default playbook used for deployment. Defaults to $facts

default_shutdown_playbook

(optional) Path to the default playbook used for graceful shutdown. Defaults to $facts

default_clean_playbook

(optional) Path to the default playbook used for cleaning. Defaults to $facts

default_clean_steps_config

(optional) Path to the default auxiliary cleaning steps file used during cleaning. Defaults to $facts

default_python_interpreter

(optional) Absolute path to the python interpreter on the managed machines. Defaults to $facts

Parameters:

  • package_ensure (Any) (defaults to: 'present')
  • ansible_extra_args (Any) (defaults to: $facts['os_service_default'])
  • playbooks_path (Any) (defaults to: $facts['os_service_default'])
  • config_file_path (Any) (defaults to: $facts['os_service_default'])
  • image_store_insecure (Any) (defaults to: $facts['os_service_default'])
  • default_username (Any) (defaults to: $facts['os_service_default'])
  • default_key_file (Any) (defaults to: $facts['os_service_default'])
  • default_deploy_playbook (Any) (defaults to: $facts['os_service_default'])
  • default_shutdown_playbook (Any) (defaults to: $facts['os_service_default'])
  • default_clean_playbook (Any) (defaults to: $facts['os_service_default'])
  • default_clean_steps_config (Any) (defaults to: $facts['os_service_default'])
  • default_python_interpreter (Any) (defaults to: $facts['os_service_default'])


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
# File 'manifests/drivers/ansible.pp', line 69

class ironic::drivers::ansible (
  $package_ensure             = 'present',
  $ansible_extra_args         = $facts['os_service_default'],
  $playbooks_path             = $facts['os_service_default'],
  $config_file_path           = $facts['os_service_default'],
  $image_store_insecure       = $facts['os_service_default'],
  $default_username           = $facts['os_service_default'],
  $default_key_file           = $facts['os_service_default'],
  $default_deploy_playbook    = $facts['os_service_default'],
  $default_shutdown_playbook  = $facts['os_service_default'],
  $default_clean_playbook     = $facts['os_service_default'],
  $default_clean_steps_config = $facts['os_service_default'],
  $default_python_interpreter = $facts['os_service_default'],
) {

  include ironic::deps
  include ironic::params

  # Configure ironic.conf
  ironic_config {
    'ansible/ansible_extra_args':         value => $ansible_extra_args;
    'ansible/playbooks_path':             value => $playbooks_path;
    'ansible/config_file_path':           value => $config_file_path;
    'ansible/image_store_insecure':       value => $image_store_insecure;
    'ansible/default_username':           value => $default_username;
    'ansible/default_key_file':           value => $default_key_file;
    'ansible/default_deploy_playbook':    value => $default_deploy_playbook;
    'ansible/default_shutdown_playbook':  value => $default_shutdown_playbook;
    'ansible/default_clean_playbook':     value => $default_clean_playbook;
    'ansible/default_clean_steps_config': value => $default_clean_steps_config;
    'ansible/default_python_interpreter': value => $default_python_interpreter;
  }

  ensure_packages('ansible',
    {
      ensure => $package_ensure,
      tag    => ['openstack', 'ironic-package'],
    }
  )

  ensure_packages('systemd-python',
    {
      ensure => $package_ensure,
      name   => $::ironic::params::systemd_python_package,
      tag    => ['openstack', 'ironic-package'],
    }
  )

}