FAQ
I am running Puppet 2.7.x (x varies from 14 to 20 on different machines).
I am trying to use Puppet to deploy a new Zabbix agent configuration file.
On all machines where the file wasn't a symlink, the deployment worked.
However, every machine where it is a link, Puppet refuses to replace teh
link with a regular file or do anything with it.

I've read the type reference, and I see nothing specific about forcing
symlink replacement. I've looked at the source, and it seems like
remove_existing should be unlinking teh symlink ahead of my new file. But,
it isn't happening. Any suggestions on hwo to do this?

File {
backup => main,
owner => "root",
group => $operatingsystem ? {
freebsd => "wheel",
default => "root",
},
mode => 644,
ensure => present,
}

class zabbix {
file {
'/usr/local/etc/zabbix':
ensure => 'directory';
'/usr/local/etc/zabbix/zabbix_agentd.conf':
content => template("zabbix/zabbix_agentd.conf.erb"),
}
...

root@victor:~# ls -ld /usr/local/etc/zabbix/zabbix_agentd.conf
lrwxr-xr-x 1 root wheel 64 Dec 9 2011
/usr/local/etc/zabbix/zabbix_agentd.conf ->
/usr/local/flightaware/monitor-scripts/zabbix/zabbix_agentd.conf

root@victor:~# puppet agent --test --debug --color=no | grep
zabbix_agentd.conf 2>&1
debug: /Stage[main]/Zabbix/Service[zabbix_agentd]/subscribe: subscribes to
File[/usr/local/etc/zabbix/zabbix_agentd.conf]
debug: /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]:
Autorequiring File[/usr/local/etc/zabbix]
debug:
/Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]/mode:
Not managing symlink mode

Thanks!

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/mw3dMbd96TkJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Search Discussions

  • Gary Larizza at Jan 21, 2013 at 6:34 pm
    You should be able to add "force => true" and get this to work for you

    On Monday, January 21, 2013 at 9:19 AM, Sean Kelly wrote:

    I am running Puppet 2.7.x (x varies from 14 to 20 on different machines). I am trying to use Puppet to deploy a new Zabbix agent configuration file. On all machines where the file wasn't a symlink, the deployment worked. However, every machine where it is a link, Puppet refuses to replace teh link with a regular file or do anything with it.

    I've read the type reference, and I see nothing specific about forcing symlink replacement. I've looked at the source, and it seems like remove_existing should be unlinking teh symlink ahead of my new file. But, it isn't happening. Any suggestions on hwo to do this?

    File {
    backup => main,
    owner => "root",
    group => $operatingsystem ? {
    freebsd => "wheel",
    default => "root",
    },
    mode => 644,
    ensure => present,
    }


    class zabbix {
    file {
    '/usr/local/etc/zabbix':
    ensure => 'directory';
    '/usr/local/etc/zabbix/zabbix_agentd.conf':
    content => template("zabbix/zabbix_agentd.conf.erb"),
    }

    ...

    root@victor:~# ls -ld /usr/local/etc/zabbix/zabbix_agentd.conf
    lrwxr-xr-x 1 root wheel 64 Dec 9 2011 /usr/local/etc/zabbix/zabbix_agentd.conf -> /usr/local/flightaware/monitor-scripts/zabbix/zabbix_agentd.conf


    root@victor:~# puppet agent --test --debug --color=no | grep zabbix_agentd.conf 2>&1
    debug: /Stage[main]/Zabbix/Service[zabbix_agentd]/subscribe: subscribes to File[/usr/local/etc/zabbix/zabbix_agentd.conf]
    debug: /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]: Autorequiring File[/usr/local/etc/zabbix]
    debug: /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]/mode: Not managing symlink mode


    Thanks!

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/mw3dMbd96TkJ.
    To post to this group, send email to puppet-users@googlegroups.com (mailto:puppet-users@googlegroups.com).
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com (mailto:puppet-users+unsubscribe@googlegroups.com).
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Sean Kelly at Jan 21, 2013 at 7:31 pm
    I've tried that as well. It doesn't work.

    On Monday, January 21, 2013 12:34:00 PM UTC-6, Gary Larizza wrote:

    You should be able to add "force => true" and get this to work for you

    On Monday, January 21, 2013 at 9:19 AM, Sean Kelly wrote:

    I am running Puppet 2.7.x (x varies from 14 to 20 on different machines).
    I am trying to use Puppet to deploy a new Zabbix agent configuration file.
    On all machines where the file wasn't a symlink, the deployment worked.
    However, every machine where it is a link, Puppet refuses to replace teh
    link with a regular file or do anything with it.

    I've read the type reference, and I see nothing specific about forcing
    symlink replacement. I've looked at the source, and it seems like
    remove_existing should be unlinking teh symlink ahead of my new file. But,
    it isn't happening. Any suggestions on hwo to do this?

    File {
    backup => main,
    owner => "root",
    group => $operatingsystem ? {
    freebsd => "wheel",
    default => "root",
    },
    mode => 644,
    ensure => present,
    }

    class zabbix {
    file {
    '/usr/local/etc/zabbix':
    ensure => 'directory';
    '/usr/local/etc/zabbix/zabbix_agentd.conf':
    content => template("zabbix/zabbix_agentd.conf.erb"),
    }
    ...

    root@victor:~# ls -ld /usr/local/etc/zabbix/zabbix_agentd.conf
    lrwxr-xr-x 1 root wheel 64 Dec 9 2011
    /usr/local/etc/zabbix/zabbix_agentd.conf ->
    /usr/local/flightaware/monitor-scripts/zabbix/zabbix_agentd.conf

    root@victor:~# puppet agent --test --debug --color=no | grep
    zabbix_agentd.conf 2>&1
    debug: /Stage[main]/Zabbix/Service[zabbix_agentd]/subscribe: subscribes to
    File[/usr/local/etc/zabbix/zabbix_agentd.conf]
    debug: /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]:
    Autorequiring File[/usr/local/etc/zabbix]
    debug:
    /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]/mode:
    Not managing symlink mode

    Thanks!

    --
    You received this message because you are subscribed to the Google Groups
    "Puppet Users" group.
    To view this discussion on the web visit
    https://groups.google.com/d/msg/puppet-users/-/mw3dMbd96TkJ.
    To post to this group, send email to puppet...@googlegroups.com<javascript:>
    .
    To unsubscribe from this group, send email to
    puppet-users...@googlegroups.com <javascript:>.
    For more options, visit this group at
    http://groups.google.com/group/puppet-users?hl=en.

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/uzMEDywYxD8J.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Gary Larizza at Jan 21, 2013 at 10:11 pm
    Have you tried explicitly setting the ensure value - a la "ensure => file" - on the files that might exist as symlinks? I tested this out locally and was able to get Puppet to overwrite a symlink with a file declaration.

    On Monday, January 21, 2013 at 11:31 AM, Sean Kelly wrote:

    I've tried that as well. It doesn't work.

    On Monday, January 21, 2013 12:34:00 PM UTC-6, Gary Larizza wrote:
    You should be able to add "force => true" and get this to work for you

    On Monday, January 21, 2013 at 9:19 AM, Sean Kelly wrote:

    I am running Puppet 2.7.x (x varies from 14 to 20 on different machines). I am trying to use Puppet to deploy a new Zabbix agent configuration file. On all machines where the file wasn't a symlink, the deployment worked. However, every machine where it is a link, Puppet refuses to replace teh link with a regular file or do anything with it.

    I've read the type reference, and I see nothing specific about forcing symlink replacement. I've looked at the source, and it seems like remove_existing should be unlinking teh symlink ahead of my new file. But, it isn't happening. Any suggestions on hwo to do this?

    File {
    backup => main,
    owner => "root",
    group => $operatingsystem ? {
    freebsd => "wheel",
    default => "root",
    },
    mode => 644,
    ensure => present,
    }


    class zabbix {
    file {
    '/usr/local/etc/zabbix':
    ensure => 'directory';
    '/usr/local/etc/zabbix/zabbix_agentd.conf':
    content => template("zabbix/zabbix_agentd.conf.erb"),
    }

    ...

    root@victor:~# ls -ld /usr/local/etc/zabbix/zabbix_agentd.conf
    lrwxr-xr-x 1 root wheel 64 Dec 9 2011 /usr/local/etc/zabbix/zabbix_agentd.conf -> /usr/local/flightaware/monitor-scripts/zabbix/zabbix_agentd.conf


    root@victor:~# puppet agent --test --debug --color=no | grep zabbix_agentd.conf 2>&1
    debug: /Stage[main]/Zabbix/Service[zabbix_agentd]/subscribe: subscribes to File[/usr/local/etc/zabbix/zabbix_agentd.conf]
    debug: /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]: Autorequiring File[/usr/local/etc/zabbix]
    debug: /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]/mode: Not managing symlink mode


    Thanks!

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/mw3dMbd96TkJ.
    To post to this group, send email to puppet...@googlegroups.com (javascript:).
    To unsubscribe from this group, send email to puppet-users...@googlegroups.com (javascript:).
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/uzMEDywYxD8J.
    To post to this group, send email to puppet-users@googlegroups.com (mailto:puppet-users@googlegroups.com).
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com (mailto:puppet-users+unsubscribe@googlegroups.com).
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Sean Kelly at Jan 21, 2013 at 10:55 pm
    That worked, thanks! I didn't realize "file" was even a valid setting for
    ensure.

    notice:
    /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]/ensure:
    defined content as '{md5}6b3491d534f04c4eea426b9cf83e637d'
    info: /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]:
    Scheduling refresh of Service[zabbix_agentd]
    notice: /Stage[main]/Zabbix/Service[zabbix_agentd]: Triggered 'refresh'
    from 1 events
    notice: Finished catalog run in 5.32 seconds

    Again, thanks!
    On Monday, January 21, 2013 4:11:18 PM UTC-6, Gary Larizza wrote:

    Have you tried explicitly setting the ensure value - a la "ensure => file"
    - on the files that might exist as symlinks? I tested this out locally and
    was able to get Puppet to overwrite a symlink with a file declaration.

    On Monday, January 21, 2013 at 11:31 AM, Sean Kelly wrote:

    I've tried that as well. It doesn't work.


    On Monday, January 21, 2013 12:34:00 PM UTC-6, Gary Larizza wrote:

    You should be able to add "force => true" and get this to work for you

    On Monday, January 21, 2013 at 9:19 AM, Sean Kelly wrote:

    I am running Puppet 2.7.x (x varies from 14 to 20 on different machines).
    I am trying to use Puppet to deploy a new Zabbix agent configuration file.
    On all machines where the file wasn't a symlink, the deployment worked.
    However, every machine where it is a link, Puppet refuses to replace teh
    link with a regular file or do anything with it.

    I've read the type reference, and I see nothing specific about forcing
    symlink replacement. I've looked at the source, and it seems like
    remove_existing should be unlinking teh symlink ahead of my new file. But,
    it isn't happening. Any suggestions on hwo to do this?

    File {
    backup => main,
    owner => "root",
    group => $operatingsystem ? {
    freebsd => "wheel",
    default => "root",
    },
    mode => 644,
    ensure => present,
    }

    class zabbix {
    file {
    '/usr/local/etc/zabbix':
    ensure => 'directory';
    '/usr/local/etc/zabbix/zabbix_agentd.conf':
    content => template("zabbix/zabbix_agentd.conf.erb"),
    }
    ...

    root@victor:~# ls -ld /usr/local/etc/zabbix/zabbix_agentd.conf
    lrwxr-xr-x 1 root wheel 64 Dec 9 2011
    /usr/local/etc/zabbix/zabbix_agentd.conf ->
    /usr/local/flightaware/monitor-scripts/zabbix/zabbix_agentd.conf

    root@victor:~# puppet agent --test --debug --color=no | grep
    zabbix_agentd.conf 2>&1
    debug: /Stage[main]/Zabbix/Service[zabbix_agentd]/subscribe: subscribes to
    File[/usr/local/etc/zabbix/zabbix_agentd.conf]
    debug: /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]:
    Autorequiring File[/usr/local/etc/zabbix]
    debug:
    /Stage[main]/Zabbix/File[/usr/local/etc/zabbix/zabbix_agentd.conf]/mode:
    Not managing symlink mode

    Thanks!

    --
    You received this message because you are subscribed to the Google Groups
    "Puppet Users" group.
    To view this discussion on the web visit
    https://groups.google.com/d/msg/puppet-users/-/mw3dMbd96TkJ.
    To post to this group, send email to puppet...@googlegroups.com.
    To unsubscribe from this group, send email to
    puppet-users...@googlegroups.com.
    For more options, visit this group at
    http://groups.google.com/group/puppet-users?hl=en.


    --
    You received this message because you are subscribed to the Google Groups
    "Puppet Users" group.
    To view this discussion on the web visit
    https://groups.google.com/d/msg/puppet-users/-/uzMEDywYxD8J.
    To post to this group, send email to puppet...@googlegroups.com<javascript:>
    .
    To unsubscribe from this group, send email to
    puppet-users...@googlegroups.com <javascript:>.
    For more options, visit this group at
    http://groups.google.com/group/puppet-users?hl=en.

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/CI6dzpN2iKEJ.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedJan 21, '13 at 5:55p
activeJan 21, '13 at 10:55p
posts5
users2
websitepuppetlabs.com

2 users in discussion

Sean Kelly: 3 posts Gary Larizza: 2 posts

People

Translate

site design / logo © 2022 Grokbase