Puppet Class: tripleo::profile::base::iscsid
- Defined in:
- manifests/profile/base/iscsid.pp
Overview
Copyright 2016 Red Hat, Inc.
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Class: tripleo::profile::base::iscsid
Iscsid profile for tripleo
Parameters
- chap_algs
-
(Optional) Comma separated list of algorithms to use in CHAP protocol Defaults to ‘SHA3-256,SHA256,SHA1,MD5’
- step
-
(Optional) The current step in deployment. See tripleo-heat-templates for more details. Defaults to Integer(lookup(‘step’))
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 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 |
# File 'manifests/profile/base/iscsid.pp', line 30
class tripleo::profile::base::iscsid (
$chap_algs = 'SHA3-256,SHA256,SHA1,MD5',
$step = Integer(lookup('step')),
) {
if $step >= 2 {
# When utilising images for deployment, we need to reset the iSCSI initiator name to make it unique
# https://bugzilla.redhat.com/show_bug.cgi?id=1244328
ensure_resource('package', 'iscsi-initiator-utils', { ensure => 'present' })
# THT supplies a volume mount to the host's /etc/iscsi directory (at
# /tmp/iscsi.host). If the sentinel file (.initiator_reset) exists on the
# host, then copy the IQN from the host. This ensures the IQN is reset
# once, and only once.
exec { 'sync-iqn-from-host':
command => '/bin/cp /tmp/iscsi.host/.initiator_reset /tmp/iscsi.host/initiatorname.iscsi /etc/iscsi/',
onlyif => '/usr/bin/test -f /tmp/iscsi.host/.initiator_reset',
before => Exec['reset-iscsi-initiator-name'],
tag => 'iscsid_config'
}
exec { 'reset-iscsi-initiator-name':
command => '/bin/echo InitiatorName=$(/usr/sbin/iscsi-iname) > /etc/iscsi/initiatorname.iscsi',
onlyif => '/usr/bin/test ! -f /etc/iscsi/.initiator_reset',
before => File['/etc/iscsi/.initiator_reset'],
require => Package['iscsi-initiator-utils'],
tag => 'iscsid_config'
}
file { '/etc/iscsi/.initiator_reset':
ensure => present,
before => Exec['sync-iqn-to-host'],
}
exec { 'sync-iqn-to-host':
command => '/bin/cp /etc/iscsi/initiatorname.iscsi /etc/iscsi/.initiator_reset /tmp/iscsi.host/',
onlyif => [
'/usr/bin/test -d /tmp/iscsi.host',
'/usr/bin/test ! -f /tmp/iscsi.host/iscsi/.initiator_reset',
],
tag => 'iscsid_config',
}
$chap_algs_real = join(any2array($chap_algs), ',')
augeas {'chap_algs in /etc/iscsi/iscsid.conf':
context => '/files/etc/iscsi/iscsid.conf',
changes => ["set node.session.auth.chap_algs ${chap_algs_real}"],
}
}
}
|