Issue #10544 has been updated by John Smith.

I can reproduce this on Debian, on a machine that mounts two CIFS shares. 
Manifest:

    mount { "/mnt/share1":
        atboot  => true,
        fstype  => "cifs",
        device  => "//fileserver.example.com/foo",
        options => "auto,_netdev,cred=/path/to/cred.txt,domain=EXAMPLE",
        ensure  => "mounted",
    }

    mount { "/mnt/share2":
        atboot  => true,
        fstype  => "cifs",
        device  => "//fileserver.example.com/bar",
        options => "auto,_netdev,cred=/path/to/cred.txt,domain=EXAMPLE",
        ensure  => "mounted",
    }

Output when running puppet when the shares are not mounted:

notice: /Stage[main]//Node[host.example.com]/Mount[/mnt/share1]/ensure: ensure 
changed 'unmounted' to 'mounted'
info: /Stage[main]//Node[host.example.com]/Mount[/mnt/share1]: Scheduling 
refresh of Mount[/mnt/share1]
info: Mount[/mnt/share1](provider=parsed): Remounting
notice: /Stage[main]//Node[host.example.com]/Mount[/mnt/share1]: Triggered 
'refresh' from 1 events
info: /Stage[main]//Node[host.example.com]/Mount[/mnt/share1]: Scheduling 
refresh of Mount[/mnt/share1]
notice: /Stage[main]//Node[host.example.com]/Mount[/mnt/share2]/ensure: ensure 
changed 'unmounted' to 'mounted'
info: /Stage[main]//Node[host.example.com]/Mount[/mnt/share2]: Scheduling 
refresh of Mount[/mnt/share2]
info: Mount[/mnt/share1](provider=parsed): Remounting
notice: /Stage[main]//Node[host.example.com]/Mount[/mnt/share2]: Triggered 
'refresh' from 1 events
info: /Stage[main]//Node[host.example.com]/Mount[/mnt/share2]: Scheduling 
refresh of Mount[/mnt/share2]

Contents of /etc/mtab:

//fileserver.example.com/foo /mnt/share1 cifs rw,mand 0 0
//fileserver.example.com/foo /mnt/share1 cifs rw,mand 0 0
//fileserver.example.com/bar /mnt/share2 cifs rw,mand 0 0
//fileserver.example.com/bar /mnt/share2 cifs rw,mand 0 0


Output of "mount":

//fileserver.example.com/foo on /mnt/share1 type cifs (rw,mand)
//fileserver.example.com/foo on /mnt/share1 type cifs (rw,mand)
//fileserver.example.com/bar on /mnt/share2 type cifs (rw,mand)
//fileserver.example.com/bar on /mnt/share2 type cifs (rw,mand)

Curiously, it's listed only once in /proc/mounts:

//fileserver.example.com/foo /mnt/share1 cifs 
rw,mand,relatime,unc=\\fileserver.example.com\foo,username=test,domain=EXAMPLE,uid=0,noforceuid,gid=0,noforcegid,addr=10.100.1.3,file_mode=0755,dir_mode=0755,prepath=\foo,serverino,rsize=16384,wsize=57344
 0 0
//fileserver.example.com/bar /mnt/share2 cifs 
rw,mand,relatime,unc=\\fileserver.example.com\bar,username=test,domain=EXAMPLE,uid=0,noforceuid,gid=0,noforcegid,addr=10.100.1.3,file_mode=0755,dir_mode=0755,prepath=\bar,serverino,rsize=16384,wsize=57344
 0 0

Puppet agent version 2.6.2-5+squeeze6, running on debian squeeze (kernel 
2.6.32-5-686) in a VMWare VM. Let me know if you need more info.
----------------------------------------
Bug #10544: CIFS appears to mount twice
https://projects.puppetlabs.com/issues/10544#change-67152

Author: Nathan Rich
Status: Closed
Priority: Low
Assignee: Daniel Pittman
Category: mount
Target version: 
Affected Puppet version: 2.7.5
Keywords: mount,cifs
Branch: 


    package{'samba-client': }
    file{'smb credentials':
    path => '/etc/auto.smb.credentials',
    source => '/puppet/files/etc/auto.smb.credentials',
    }
    mount{'home directory mount':
    name => '/home/mydomainint',
    atboot => 'true',
    device => '//storage01.mydomainint.com/home',
    ensure => 'mounted',
    fstype => 'cifs',
    options => 
'user=samba,domain=mydomainint,credentials=/etc/auto.smb.credentials',
    require => [File['smb credentials'],Package['samba-client'],File['home 
mount point']],
    }
    client:
    # mount
    /dev/mapper/vg_ws01-lv_root on / type ext4 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw)
    /dev/sda1 on /boot type ext4 (rw)
    /dev/mapper/vg_ws01-lv_home on /home type ext4 (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
    192.168.2.111:/nfs/puppet on /puppet type nfs (rw,addr=192.168.2.111)
    # puppet apply /puppet/manifests/site.pp
    notice: /Stage[main]/Basics/Mount[home directory mount]/ensure: ensure 
changed 'unmounted' to 'mounted'
    notice: /Stage[main]/Basics/Mount[home directory mount]: Triggered 
'refresh' from 1 events
    notice: /Stage[post]/Last_stage/Exec[update puppet last run]/returns: 
executed successfully
    notice: Finished catalog run in 3.24 seconds
    # mount
    /dev/mapper/vg_ws01-lv_root on / type ext4 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw)
    /dev/sda1 on /boot type ext4 (rw)
    /dev/mapper/vg_ws01-lv_home on /home type ext4 (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
    192.168.2.111:/nfs/puppet on /puppet type nfs (rw,addr=192.168.2.111)
    //storage01.mydomainint.com/home/ on /home/mydomainint type cifs (rw,mand)
    //storage01.mydomainint.com/home/ on /home/mydomainint type cifs (rw,mand)
    # puppet --version
    2.7.5

In reality the second mount seems to not be real, in that umount run twice will 
work once and say not mounted the second time. No idea why this happens, but it 
doesn't happen on a manual mount.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to