File: iscsid.pp

package info (click to toggle)
puppet-module-openstacklib 25.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 968 kB
  • sloc: ruby: 4,500; python: 38; sh: 22; makefile: 10
file content (58 lines) | stat: -rw-r--r-- 1,573 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
# == Class: openstacklib::iscsid
#
# Installs and configures the iscsid daemon
#
# == Parameters
#
#  [*enabled*]
#    (optional) Should the service be enabled.
#    Defaults to true.
#
#  [*manage_service*]
#    (optional)  Whether the service should be managed by Puppet.
#    Defaults to true.
#
#  [*package_ensure*]
#    (optional) ensure state for package.
#    Defaults to 'present'
#
class openstacklib::iscsid(
  Boolean $enabled        = true,
  Boolean $manage_service = true,
  $package_ensure         = 'present'
) {

  include openstacklib::params

  package { 'open-iscsi':
    ensure => $package_ensure,
    name   => $::openstacklib::params::open_iscsi_package_name,
    tag    => 'openstack',
  }

  # In CentOS9/RHEL9 initiatorname.iscsi is not created automatically
  # so should be created
  exec { 'create-initiatorname-file':
    command => 'echo "InitiatorName=`/usr/sbin/iscsi-iname`" > /etc/iscsi/initiatorname.iscsi',
    path    => ['/usr/bin','/usr/sbin','/bin','/usr/bin'],
    creates => '/etc/iscsi/initiatorname.iscsi',
    require => Package['open-iscsi'],
  }

  if $manage_service {
    if $enabled {
      $service_ensure = 'running'
    } else {
      $service_ensure = 'stopped'
    }

    # iscsid service is started automatically when iscsiadm command is
    # executed but there is no harm even if the service is already started.
    service { 'iscsid':
      ensure => $service_ensure,
      enable => $enabled,
    }
    Package['open-iscsi'] ~> Service['iscsid']
    Exec['create-initiatorname-file'] ~> Service['iscsid']
  }
}