Jira (PUP-10415) puppet-apply: Could not set 'file' on ensure: Is a directory @ io_fread

3 views
Skip to first unread message

Daniel Kimsey (Jira)

unread,
Apr 7, 2020, 12:19:04 PM4/7/20
to puppe...@googlegroups.com
Daniel Kimsey created an issue
 
Puppet / Bug PUP-10415
puppet-apply: Could not set 'file' on ensure: Is a directory @ io_fread
Issue Type: Bug Bug
Affects Versions: PUP 6.14.0
Assignee: Unassigned
Created: 2020/04/07 9:18 AM
Priority: Normal Normal
Reporter: Daniel Kimsey

Puppet Version: 6.14.0
Puppet Server Version: n/a
OS Name/Version: CentOS 5/6/7

Describe your issue in as much detail as possible…
Describe steps to reproduce…

`puppet module install ...`
`puppet-apply --test examples/site.pp`

Desired Behavior:

Deploying a module's source directory using the `file` resource no longer works with `puppet apply`.

Actual Behavior:

6.13.0 results:

Notice: /Stage[main]/Zabbixagent/File[/usr/local/libexec/zabbix/discover_ssl_interface.sh]/ensure: defined content as '{md5}d80441a366c9f5785292dafe8d45375e'
Notice: /Stage[main]/Zabbixagent/File[/usr/local/libexec/zabbix/ssl_cert_info.sh]/ensure: defined content as '{md5}d41e50e79ed0fe1c96dac40931e641a2'

6.14.0 results:

Error: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Wrapped exception:
Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: /Stage[main]/Zabbixagent/File[/usr/local/libexec/zabbix/discover_ssl_interface.sh]/ensure: change from 'absent' to 'file' failed: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Wrapped exception:
Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: /Stage[main]/Zabbixagent/File[/usr/local/libexec/zabbix/ssl_cert_info.sh]/ensure: change from 'absent' to 'file' failed: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts

Interestingly, upgrading to 6.14.0 after successful run with 6.13.0, runs successfully until the target path directory is removed. Issue is reproducible by removing the target directory.

Examples:

Run puppet agent with --test --trace --debug
Note, this appears to require a module to use the puppet:// urls. It doesn't appear to be an issue with file:// urls.

    file { '/usr/local/libexec/zabbix/':
      recurse => true,
      mode    => '0755',
      owner   => 'root',
      group   => 'root',
      purge   => true,
      force   => true,
      source  => 'puppet:///modules/zabbixagent/localscripts',
    }
 

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Daniel Kimsey (Jira)

unread,
Apr 7, 2020, 12:21:02 PM4/7/20
to puppe...@googlegroups.com
Daniel Kimsey updated an issue
Change By: Daniel Kimsey
*Puppet Version:* 6.14.0
*Puppet Server Version:* n/a
*OS Name/Version:* CentOS 5/6/7

Describe your issue in as much detail as possible…
Describe steps to reproduce…

`puppet Given a simple module install with a directory to deploy via the file resource . Puppet is no longer able to copy out files if the target directory does not exist . .`
`puppet-apply --test examples/site.pp`

*Desired Behavior:*


Deploying a module's source directory using the `file` resource no longer works with `puppet apply`.

*Actual Behavior:*

6.13.0 results:
{code}

Notice: /Stage[main]/Zabbixagent/File[/usr/local/libexec/zabbix/discover_ssl_interface.sh]/ensure: defined content as '{md5}d80441a366c9f5785292dafe8d45375e'
Notice: /Stage[main]/Zabbixagent/File[/usr/local/libexec/zabbix/ssl_cert_info.sh]/ensure: defined content as '{md5}d41e50e79ed0fe1c96dac40931e641a2'
{code}

6.14.0 results:
{code}

Error: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Wrapped exception:
Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: /Stage[main]/Zabbixagent/File[/usr/local/libexec/zabbix/discover_ssl_interface.sh]/ensure: change from 'absent' to 'file' failed: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Wrapped exception:
Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
Error: /Stage[main]/Zabbixagent/File[/usr/local/libexec/zabbix/ssl_cert_info.sh]/ensure: change from 'absent' to 'file' failed: Could not set 'file' on ensure: Is a directory @ io_fread - /etc/puppetlabs/code/environments/production/modules/zabbixagent/files/localscripts
{code}

Interestingly, upgrading to 6.14.0 _after_ successful run with 6.13.0, runs successfully until the target path directory is removed. Issue is reproducible by removing the target directory.


Examples:

Run puppet agent with --test --trace --debug
Note, this appears to require a module to use the puppet:// urls. It doesn't appear to be an issue with file:// urls.

`puppet module install ...`
`puppet-apply --test examples/site.pp`

{code:java}

    file { '/usr/local/libexec/zabbix/':
      recurse => true,
      mode    => '0755',
      owner   => 'root',
      group   => 'root',
      purge   => true,
      force   => true,
      source  => 'puppet:///modules/zabbixagent/localscripts',
    }
{code}

Reply all
Reply to author
Forward
0 new messages