Ошибка: виртуальное Двойное объявление определяет пользователя и группу равное имя

Я должен создать пользователя с именем user1 и группа user1. Я определил виртуальный ресурс для создания его. В class1 я создаю пользователя:

 include '::class1::virtual_accounts'
  realize(class::User['user1'])

Внутри class2, создайте группу:

 include '::class1::virtual_accounts'
  realize(class::Group['user1'])

Внутри virtual_accounts:

class class1::virtual_accounts {
  @class::group { 'user1': }
  @class::user { 'user1': }

То, когда выполняются, появляется ошибка:

Error: Duplicate declaration: Group[user1] is already declared in file /root/puppet/class/manifests/group.pp:23; cannot redeclare at /root/puppet/class/manifests/user.pp:95 on node arqopasr21.lacaixa.es

Внутри user.pp и group.pp, для которого у меня есть определение, создают пользователя и группы. Возможно, что ошибка была сгенерирована, потому что виртуальный ресурс имеет то же имя (user1) спасибо

1
задан 10 November 2014 в 17:59
1 ответ

Да, объявления ресурсов должны быть уникальными. Если вы используете виртуальные ресурсы, объявите их только один раз:

@user { 'name': ... }

Не должно быть другого виртуального или невиртуального объявления ресурса User ['name'] . Вы можете реализовать или собирать ресурс так часто, как хотите.

User<| |>
User<| title == 'name' |>
realize(User['name'])

В качестве общего замечания, избегайте именования модуля class , поскольку class - зарезервированное слово.

0
ответ дан 4 December 2019 в 08:23

Теги

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