components/ruby/puppet-modules/openstack-ironic/files/solaris_ipmitool.pp
author Drew Fisher <drew.fisher@oracle.com>
Tue, 16 Feb 2016 13:47:43 -0800
changeset 5464 6e2e17e6aa45
child 7584 65eec8af934c
permissions -rw-r--r--
PSARC/2016/001 OpenStack Puppet Modules 22491714 Request to integrate OpenStack Puppet modules
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5464
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     1
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     2
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     3
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     4
# Licensed under the Apache License, Version 2.0 (the "License"); you may
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     5
# not use this file except in compliance with the License. You may obtain
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     6
# a copy of the License at
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     7
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     8
#      http://www.apache.org/licenses/LICENSE-2.0
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     9
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    10
# Unless required by applicable law or agreed to in writing, software
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    11
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    12
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    13
# License for the specific language governing permissions and limitations
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    14
# under the License.
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    15
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    16
# Configure the solaris_ipmitool driver in Ironic
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    17
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    18
# === Parameters
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    19
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    20
# [*server*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    21
#   Host name for AI Server
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    22
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    23
# [*username*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    24
#   Username to ssh to AI Server.
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    25
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    26
# [*password*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    27
#   (optional) If ssh_key_file or ssh_key_contents are set, this
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    28
#   config setting is used to provide the passphrase if required. If
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    29
#   an encrypted key is used, set this to the passphrase.
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    30
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    31
# [*port*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    32
#   (optional) SSH port to use
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    33
#   Defaults to '22'
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    34
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    35
# [*timeout*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    36
#   (optional) SSH socket timeout value in seconds.
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    37
#   Defaults to '10'
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    38
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    39
# [*deploy_interval*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    40
#   (optional) Interval in seconds to check AI deployment status.
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    41
#   Defaults to '10'
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    42
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    43
# [*derivied_manifest*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    44
#   (optional) Derived Manifest used for deployment.
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    45
#   Defaults to 'file:///usr/lib/ironic/ironic-manifest.ksh'
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    46
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    47
# [*ssh_key_file*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    48
#   (optional) SSH keyfile to use
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    49
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    50
# [*ssh_key_contents*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    51
#   (optional) SSH key to use
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    52
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    53
# [*imagecache_dirname*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    54
#   (optional) Default path to image cache
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    55
#   Defaults to '/var/lib/ironic/images'
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    56
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    57
# [*imagecache_lock_timeout*]
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    58
#   (optional) Timeout to wait when attempting to lock refcount file.
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    59
#   Defaults to '60' seconds
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    60
#
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    61
class ironic::drivers::solaris_ipmitool (
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    62
  $server,
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    63
  $username,
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    64
  $password             = undef,
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    65
  $port                 = '22',
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    66
  $timeout              = '10',
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    67
  $deploy_interval      = '10',
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    68
  $dervied_manifest     = 'file:///usr/lib/ironic/ironic-manifest.ksh',
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    69
  $ssh_key_file         = undef,
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    70
  $ssh_key_contents     = undef,
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    71
  $imagecache_dirname   = '/var/lib/ironic/images',
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    72
  $imagecache_lock_timeout     = '60',
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    73
) {
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    74
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    75
  # Configure ironic.conf
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    76
  ironic_config {
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    77
    'ai/server': value                            => $server;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    78
    'ai/username': value                          => $username;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    79
    'ai/password': value                          => $password;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    80
    'ai/port': value                              => $port;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    81
    'ai/timeout': value                           => $timeout;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    82
    'ai/deploy_interval': value                   => $deploy_intervael;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    83
    'ai/derived_manifest': value                  => $derived_manifest;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    84
    'ai/ssh_key_file': value                      => $ssh_key_file;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    85
    'ai/ssh_key_contents': value                  => $ssh_key_contents;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    86
    'solaris_ipmi/imagecache_dirname': value      => $imagecache_dirname;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    87
    'solaris_ipmi/imagecache_lock_timeout': value => $imagecache_lock_timeout;
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    88
  }
6e2e17e6aa45 PSARC/2016/001 OpenStack Puppet Modules
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    89
}