Назад | Перейти на главную страницу

Является ли текущий файл узким местом при использовании модуля DSC?

Модуль 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