msutter DSC модуль (PowerShell Определенная Конфигурация состояния), кажется, имеет узкое место. Каждый класс, который использует ресурс DSC, генерирует промежуточный код Powershell/DSC, который создает файл, названный current.mof в том же каталоге. Когда я выполняю Марионеточный агент - тестовые дела идут странные. Кажется, что один марионеточный класс получает информацию, связанную с другим марионеточным классом, как будто это генерирует свой MOF и затем выполняет MOF другого класса случайно. Я предполагаю, что могу найти способ объединить в цепочку все, что они снабжают вместе со стрелками зависимости так, чтобы они были выполнены последовательно, но затем это означает, что у меня не может быть действительно отдельных классов профиля для каждого архива ZIP, который я распаковываю. Я предпочел бы, чтобы один сервер получил классы A, B, и C, другой получает B, C, и т.д. Если бы я вставил объединение в цепочку, то затем я должен копировать много кода.
Я корректен об этом? Я очень плохо знаком с PowerShell. Вот пример единого класса, который вытягивает zip-файл от веб-сервиса и затем разархивировал его в целевое местоположение:
# This profile class installs the BookingsUI package from a URI specified in the global ::package_source variable
class phoenix_profiles::archive_test {
$archive_file = "BookingsUI.zip"
$drive = pick($::destination_drive, 'd:')
# $staged_archive_path = "${drive}/eftours/packages/${archive_file}"
$staged_archive_path = "${drive}/temp/puppet_archive_test/source/${archive_file}"
dsc_xremotefile { "download ${archive_file}":
dsc_uri => "${::package_source}/${archive_file}",
dsc_destinationpath => $staged_archive_path
} ->
dsc_archive { "unpack ${archive_file}":
dsc_ensure => 'Present',
dsc_validate => "true",
dsc_checksum => "ModifiedDate",
dsc_force => "true",
dsc_path => $staged_archive_path,
dsc_destination => "${drive}/temp/puppet_archive_test/BookingsUI"
}
}
Примечание: Это перекрестно разослано от: http://ask.puppetlabs.com/question/16423/is-the-file-currentmof-a-bottleneck-when-using-the-dsc-module/
Звучит как ошибка. Вы можете сообщить о проблеме здесь https://github.com/msutter/puppet-dsc
Обновление: Я отправил сообщение о проблеме на https://github.com/msutter/ puppet-dsc / issues / 1