Erro: declaração duplicada virtual define nome igual ao usuário e grupo

1

Eu preciso criar um usuário com o nome user1 & group user1. Eu defini um recurso virtual para criá-lo. Dentro de uma classe1 eu crio o usuário:

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

Dentro de class2, crie o grupo:

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

Por dentro de virtual_accounts:

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

Quando executar aparece o erro:

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

Por dentro de user.pp & group.pp Eu tenho a definição para criar usuário & grupos. É possível que o erro tenha sido gerado porque o recurso virtual tem o mesmo nome (user1), obrigado

    
por Runouri 10.11.2014 / 16:59

1 resposta

0

Sim, as declarações de recursos devem ser exclusivas. Se você usa recursos virtuais, declare-os apenas uma vez:

@user { 'name': ... }

Não deve haver outra declaração virtual ou não virtual do recurso User['name'] . Você pode perceber ou coletar o recurso sempre que desejar.

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

Como observação geral, evite nomear um módulo classe porque class é uma palavra reservada.

    
por 17.11.2014 / 18:21

Tags