Issue #6540 has been updated by Dan Bode.


My understanding of status is that it is related to the status of the overall 
run which is an aggregate of the status of the individual resources.

The status of a run can be in one of 4 states:

- failed
- changed
- pending
- in compliance

If one resource fails, then a run is in failed state, regardless of the status 
of the rest of the resources.
If one resource changed, then a run is in a changed state, regardless of other 
resources that are in compliance or pending.
If one resource is pending (but not resources changed or failed), then the run 
resulted in a pending state.
If all resources are in compliance, then the result is an in compliance state.

Introducing another flag 'kind', seems to add another layer of complexity which 
only gives us visibility in the case where even though we ran in noop, all of 
the resources are in compliance.

It also adds additional complexity of having to understand the difference 
between runs that may be in a pending state b/c of an individual resource or 
b/c of the 'kind'
----------------------------------------
Feature #6540: Puppet::Transaction::Report should have status to indicate 
desired noop change
https://projects.puppetlabs.com/issues/6540

Author: Dan Bode
Status: Accepted
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 2.6.4
Keywords: 
Branch: 


The status is a very useful way to quickly understand what happened in a run. 
There should be a special status to indicate that although nothing changed, 
some things wanted to change, but noop was set.

The below example show a run where --noop=true, the final resulting status is 
'unchanged' I propose that the final result should be noop_changed


<pre>
notice: Compiled catalog for -etc-puppet-foo-dansmodule-tests-init.pp in 
environment foo in 0.04 seconds
notice: Finished catalog run in 0.04 seconds
--- !ruby/object:Puppet::Transaction::Report
  configuration_version: 1298730477
  host: mypuppetmaster
  kind: apply
  logs: []
  metrics: 
    time: !ruby/object:Puppet::Util::Metric
      label: Time
      name: time
      values: 
        - 
          - user
          - User
          - 0.000695
        - 
          - total
          - Total
          - 0.000695
        - 
          - config_retrieval
          - Config retrieval
          - 0
    resources: !ruby/object:Puppet::Util::Metric
      label: Resources
      name: resources
      values: 
        - 
          - total
          - Total
          - 1
    events: !ruby/object:Puppet::Util::Metric
      label: Events
      name: events
      values: 
        - 
          - total
          - Total
          - 0
    changes: !ruby/object:Puppet::Util::Metric
      label: Changes
      name: changes
      values: 
        - 
          - total
          - Total
          - 0
  puppet_version: 2.6.5
  report_format: 2
  resource_statuses: 
    "User[dan]": !ruby/object:Puppet::Resource::Status
      change_count: 0
      changed: false
      evaluation_time: 0.000695
      events: []
      failed: false
      file: /etc/puppet/foo/dansmodule/manifests/init.pp
      line: 4
      out_of_sync: false
      out_of_sync_count: 0
      resource: "User[dan]"
      resource_type: User
      skipped: false
      tags: 
        - user
        - dan
        - class
        - dansmodule
      time: 2011-02-26 08:27:57.894180 -06:00
      title: dan
  status: unchanged
  time: 2011-02-26 08:27:57.882869 -06:00
</pre>


-- 
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