Puppet Class: octavia::db::mysql

Defined in:
manifests/db/mysql.pp

Overview

The octavia::db::mysql class implements mysql backend for octavia

This class can be used to create tables, users and grant privilege for a mysql octavia database.

Parameters

password

(Required) Password to connect to the database.

dbname

(Optional) Name of the database. Defaults to ‘octavia’.

persistence_dbname

(Optional) Name of the database dedicated to task_flow persistence. Defaults to ‘undef’.

user

(Optional) User to connect to the database. Defaults to ‘octavia’.

host

(Optional) The default source host user is allowed to connect from. Defaults to ‘127.0.0.1’

allowed_hosts

(Optional) Other hosts the user is allowed to connect from. Defaults to ‘undef’.

charset

(Optional) The database charset. Defaults to ‘utf8’

collate

(Optional) The database collate. Only used with mysql modules >= 2.2. Defaults to ‘utf8_general_ci’

Parameters:

  • password (Any)
  • dbname (Any) (defaults to: 'octavia')
  • persistence_dbname (Any) (defaults to: undef)
  • user (Any) (defaults to: 'octavia')
  • host (Any) (defaults to: '127.0.0.1')
  • charset (Any) (defaults to: 'utf8')
  • collate (Any) (defaults to: 'utf8_general_ci')
  • allowed_hosts (Any) (defaults to: undef)


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
80
81
82
# File 'manifests/db/mysql.pp', line 40

class octavia::db::mysql(
  $password,
  $dbname             = 'octavia',
  $persistence_dbname = undef,
  $user               = 'octavia',
  $host               = '127.0.0.1',
  $charset            = 'utf8',
  $collate            = 'utf8_general_ci',
  $allowed_hosts      = undef
) {

  include octavia::deps

  validate_legacy(String, 'validate_string', $password)

  ::openstacklib::db::mysql { 'octavia':
    user          => $user,
    password      => $password,
    dbname        => $dbname,
    host          => $host,
    charset       => $charset,
    collate       => $collate,
    allowed_hosts => $allowed_hosts,
  }

  if $persistence_dbname {
    ::openstacklib::db::mysql { 'octavia_persistence':
      user          => $user,
      password      => $password,
      dbname        => $persistence_dbname,
      host          => $host,
      charset       => $charset,
      collate       => $collate,
      allowed_hosts => $allowed_hosts,
      create_user   => false,
    }
  }

  Anchor['octavia::db::begin']
  ~> Class['octavia::db::mysql']
  ~> Anchor['octavia::db::end']

}