Puppet Class: tripleo::profile::base::ironic

Defined in:
manifests/profile/base/ironic.pp

Overview

Parameters:

  • bootstrap_node (Any) (defaults to: lookup('ironic_api_short_bootstrap_node_name', undef, undef, undef))
  • step (Any) (defaults to: Integer(lookup('step')))
  • oslomsg_rpc_proto (Any) (defaults to: lookup('oslo_messaging_rpc_scheme', undef, undef, 'rabbit'))
  • oslomsg_rpc_hosts (Any) (defaults to: any2array(lookup('oslo_messaging_rpc_node_names', undef, undef, undef)))
  • oslomsg_rpc_password (Any) (defaults to: lookup('oslo_messaging_rpc_password'))
  • oslomsg_rpc_port (Any) (defaults to: lookup('oslo_messaging_rpc_port', undef, undef, '5672'))
  • oslomsg_rpc_username (Any) (defaults to: lookup('oslo_messaging_rpc_user_name', undef, undef, 'guest'))
  • oslomsg_rpc_use_ssl (Any) (defaults to: lookup('oslo_messaging_rpc_use_ssl', undef, undef, '0'))


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
# File 'manifests/profile/base/ironic.pp', line 53

class tripleo::profile::base::ironic (
  $bootstrap_node       = lookup('ironic_api_short_bootstrap_node_name', undef, undef, undef),
  $step                 = Integer(lookup('step')),
  $oslomsg_rpc_proto    = lookup('oslo_messaging_rpc_scheme', undef, undef, 'rabbit'),
  $oslomsg_rpc_hosts    = any2array(lookup('oslo_messaging_rpc_node_names', undef, undef, undef)),
  $oslomsg_rpc_password = lookup('oslo_messaging_rpc_password'),
  $oslomsg_rpc_port     = lookup('oslo_messaging_rpc_port', undef, undef, '5672'),
  $oslomsg_rpc_username = lookup('oslo_messaging_rpc_user_name', undef, undef, 'guest'),
  $oslomsg_rpc_use_ssl  = lookup('oslo_messaging_rpc_use_ssl', undef, undef, '0'),
) {
  # Database is accessed by both API and conductor, hence it's here.
  if $bootstrap_node and $::hostname == downcase($bootstrap_node) {
    $sync_db = true
  } else {
    $sync_db = false
  }

  if $step >= 4 or ($step >= 3 and $sync_db) {
    $oslomsg_rpc_use_ssl_real = sprintf('%s', bool2num(str2bool($oslomsg_rpc_use_ssl)))
    class { 'ironic':
      sync_db                   => $sync_db,
      db_online_data_migrations => $sync_db,
      default_transport_url     => os_transport_url({
        'transport' => $oslomsg_rpc_proto,
        'hosts'     => $oslomsg_rpc_hosts,
        'port'      => sprintf('%s', $oslomsg_rpc_port),
        'username'  => $oslomsg_rpc_username,
        'password'  => $oslomsg_rpc_password,
        'ssl'       => $oslomsg_rpc_use_ssl_real,
      }),
    }

    include ironic::config
    include ironic::json_rpc
    include ironic::cors
    include ironic::db
    include ironic::logging
  }
}