Bug #4631

tagging problems in 2.6

Added by Mark Phillips over 1 year ago. Updated over 1 year ago.

Status:Closed Start date:08/26/2010
Priority:Normal Due date:
Assignee:Markus Roberts % Done:

0%

Category:agent
Target version:2.6.2
Affected Puppet version:2.6.0 Branch:http://github.com/MarkusQ/puppet/tree/ticket/2.6.x/4631
Keywords:
Votes: 0

Description

Hi,

Has —tags broken in the 2.6.x releases? It doesn’t seem to pay any attention.

So here I make changes to two modules:

root@apps /etc/puppet/envs/dev/modules # git st
 M pkgrepo/manifests/init.pp
 M security/manifests/init.pp

…then try applying just one of them:

[root@webdav ~]# puppet agent -t --tags pkgrepo
info: Caching catalog for webdav
info: Applying configuration version '1282836370'
notice: Finished catalog run in 0.03 seconds
[root@webdav ~]# puppet agent -t --tags=pkgrepo
info: Caching catalog for webdav
info: Applying configuration version '1282836370'
notice: Finished catalog run in 0.03 seconds
[root@webdav ~]# puppet agent -t --tags=pkgrepo::setup
info: Caching catalog for webdav
info: Applying configuration version '1282836370'
notice: Finished catalog run in 0.03 seconds

…and finally I just run the whole catalog:

[root@webdav ~]# puppet agent -t
info: Caching catalog for webdav
info: Applying configuration version '1282836370'
notice: /Stage[main]/Puppet::Setup/Service[puppet]/ensure: ensure changed 'running' to 'stopped'
notice: /Stage[main]/Security::Setup/Ssh_authorized_key[mpaccesstoroot]/ensure: created
info: FileBucket adding /root/.ssh/authorized_keys as {md5}aba4c03d0324fb8c4f3961f62f43651e
notice: /Stage[main]/Pkgrepo::Setup/Yumrepo[epel-testing]/enabled: enabled changed '0' to '1'
notice: Finished catalog run in 0.72 seconds

..which works!

This is 2.6.1rc2 incidentally, although I noted the behaviour was the same with 2.6.0.

Client:

[root@webdav ~]# facter puppetversion
2.6.1

Master:

root@apps /etc/puppet/envs/dev/modules # facter puppetversion
2.6.1

Related issues

related to Puppet - Feature #1903: Metaparam inheritance should not involve a recursive search Closed 01/27/2009
related to Puppet - Bug #4687: Implicit classes not being propogated Closed 09/01/2010
related to Puppet - Bug #3845: Resources do not inherit class-level tags Accepted 05/21/2010

History

Updated by Markus Roberts over 1 year ago

  • Status changed from Unreviewed to Investigating
  • Assignee set to Markus Roberts

Updated by Markus Roberts over 1 year ago

So using a simplified model:

notify {"Foo!": tag => [foo]}
notify {"Bar!": tag => [bar]}

I get the expected results for all the relevant cases:

  • —tags foo
  • —tags bar
  • —tags foo,bar
  • —tags baz
  • (no tags specified)

So it appears that filtering by tags is working as expected, but tagging may not be.

Updated by Markus Roberts over 1 year ago

  • Subject changed from --tags doesn't work in 2.6 to tagging problems in 2.6

Updated by Markus Roberts over 1 year ago

  • Status changed from Investigating to Needs More Information
  • Assignee deleted (Markus Roberts)

I haven’t been able to reproduce this & don’t have any good idea about what could be causing it.

Updated by Mark Phillips over 1 year ago

You haven’t managed to reproduce this? So if you use —tags with a module name your testing fires correctly? I thought in your initial update you said it didn’t? —tags with a module name – not necessarily labelled, as you did with your example – in 0.2? would run just that module. In 2.6 it does not.

If you need anything further from me I’ll be happy to provide any more examples, including longer debug trails, should you require it.

Updated by Nan Liu over 1 year ago

It’s a problem with implicit tags on resources/classes rather than explicit tags. Here’s a simple test case:

class a { 
  notify { "hello a": }
}
class b { 
  notify { "hello b": }
}
include a, b

0.25.5:

$ puppet -v --tags b implicit_tags.pp 
info: Applying configuration version '1281767179'
notice: hello b
notice: //b/Notify[hello b]/message: defined 'message' as 'hello b'

2.6:

$ puppet -v --tags b implicit_tags.pp 
info: Applying configuration version '1281767216'

See following email thread: http://groups.google.com/group/puppet-users/browse_thread/thread/9d7bb94a8f9c240/d18e83876452b072?lnk=gst&q=tags#d18e83876452b072

Updated by Markus Roberts over 1 year ago

  • Status changed from Needs More Information to Accepted
  • Assignee set to Markus Roberts

Thanks Nan.

Updated by Markus Roberts over 1 year ago

This was broken in:

commit 0d4fd60c7c143cc1f4e4b0f99f359c09cbfbf21e

    Fixing #1903 - metaparam inheritance is much faster
    
    This doesn't actually fix the specific request in #1903,
    which said there should be no inheritance at all, but
    I've changed my mind on that.  Static inheritance is good,
    it should just be faster.
    
    This change could result in up to 70% speed improvements
    in compiling.

as part of a performance fix. It appears that restoring the functionality won’t too badly degrade performance (on first blush it looks like an incidental change).

Updated by Markus Roberts over 1 year ago

  • Status changed from Accepted to In Topic Branch Pending Review
  • Branch set to http://github.com/MarkusQ/puppet/tree/ticket/2.6.x/4631

The attached branch just restores the code from 0.25.x (all ~3 lines of it, plus packaging) and defers the sleuthing to 2.7 on #4687

Updated by Markus Roberts over 1 year ago

  • Target version set to 2.6.2

Updated by Jesse Wolfe over 1 year ago

  • Status changed from In Topic Branch Pending Review to Ready For Checkin

Updated by James Turnbull over 1 year ago

  • Status changed from Ready For Checkin to Closed

Pushed in commit:6f229eea198d85fd1b37ccaaa3e8257c592707e7 in branch 2.6.x

Also available in: Atom PDF