Используя Марионетку, чтобы установить, initdb и запустить базу данных Postgres

Я спустился, большой длинный тракт проигрывания с изменением wget произвел на лету, потому что я не мог изобразить это также. Затем я нашел этот debian bugreport, который привел меня к -e dotbytes=X опция в wget. Я протестировал это, и это работает с моим wget-1.12:

wget blah --progress=dot -e dotbytes=10M

печатает точку для каждого 10M вывода. Можно использовать 1000M или независимо от того, что Вам нравится.

1
задан 31 May 2013 в 09:18
2 ответа

Обычным шаблоном при использовании марионетки является управление установкой, конфигурацией и статусом обслуживания пакета. Ваш последний шаг также может быть достигнут, если вы обеспечите идемпотентность. (Очень) простой скелет для такого рода задач:


class foo (
  $some_param_in_hiera,
  ){

  package {
    'foo_pkg':
      ensure => installed,
  }

  service {
    'foo_svc':
      ensure    => running,
      enable    => true,
      hasstatus => true,
      require   => Package['foo_pkg'];
  }

  file {
    '/etc/foo/some.conf':
      mode    => '0644',
      owner   => root,
      group   => root,
      source  => 'puppet:///modules/foo/some.conf',
      #content => template('foo/some.conf.erb'),
      require => Package['foo_pkg'],
      notify  => Service['foo_svc'];
  }

  exec {
    'some_task':
      command     => 'echo 'foo bar baz'',
      refreshonly => true,
      creates     => '/some/file/to/ensure/idempotency'
  }
}

Также проверьте Puppet Forge на предмет уже существующего кода, который делает то, что вы хотите.

2
ответ дан 3 December 2019 в 17:49

Первые три шага определенно относятся к сфере Марионетки. Установка - это ресурс пакета , initdb может быть выполнен с помощью exec , если пакет не делает этого сам, а запуск службы - это ресурс service .

Но заполнение базы данных, вероятно, не лучший вариант использования Puppet. Вероятно, вы могли бы сделать это с помощью большого количества настраиваемого кода (например, отдельного типа ресурса для таблицы, функции, и т. д.), но это было бы много работы и несколько неизведанная территория. Я предлагаю вам найти другой способ сделать это.

2
ответ дан 3 December 2019 в 17:49

Теги

Похожие вопросы