mcollective-client 2.9.1 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -65,6 +65,7 @@ module MCollective
65
65
  Activemq.any_instance.stubs(:get_option).with("activemq.initial_reconnect_delay", 0.01).returns(0.01)
66
66
  Activemq.any_instance.stubs(:get_option).with("activemq.back_off_multiplier", 2).returns(2)
67
67
  Activemq.any_instance.stubs(:get_option).with("activemq.max_reconnect_delay", 30.0).returns(30.0)
68
+ Activemq.any_instance.stubs(:get_bool_option).with("activemq.agents_multiplex", "false").returns(true)
68
69
  c = Activemq.new
69
70
  c.instance_variable_set("@subscriptions", subscription)
70
71
  c.instance_variable_set("@connection", connection)
@@ -665,8 +666,13 @@ module MCollective
665
666
  end
666
667
 
667
668
  describe "#make_target" do
668
- it "should create correct targets" do
669
+ it "should create correct targets if agents_multiplex is false" do
670
+ # realize the connector let so that we can unstub it
671
+ connector
672
+ Activemq.any_instance.unstub(:get_bool_option)
673
+ Activemq.any_instance.stubs(:get_bool_option).with("activemq.agents_multiplex", "false").returns(false)
669
674
  Client.stubs(:request_sequence).returns(42)
675
+
670
676
  connector.make_target("test", :reply, "mcollective").should == {
671
677
  :name => "/queue/mcollective.reply.rspec_#{$$}.42",
672
678
  :headers => {},
@@ -700,6 +706,46 @@ module MCollective
700
706
  }
701
707
  end
702
708
 
709
+ it "should create correct targets if agents_multiplex is true" do
710
+ # realize the connector let so that we can unstub it
711
+ connector
712
+ Activemq.any_instance.unstub(:get_bool_option)
713
+ Activemq.any_instance.stubs(:get_bool_option).with("activemq.agents_multiplex", "false").returns(true)
714
+ Client.stubs(:request_sequence).returns(42)
715
+
716
+ connector.make_target("test", :reply, "mcollective").should == {
717
+ :name => "/queue/mcollective.reply.rspec_#{$$}.42",
718
+ :headers => {},
719
+ :id => "/queue/mcollective.reply.rspec_#{$$}.42",
720
+ }
721
+
722
+ connector.make_target("test", :broadcast, "mcollective").should == {
723
+ :name => "/topic/mcollective.agents",
724
+ :headers => {},
725
+ :id => "/topic/mcollective.agents",
726
+ }
727
+
728
+ connector.make_target("test", :request, "mcollective").should == {
729
+ :name => "/topic/mcollective.agents",
730
+ :headers => {},
731
+ :id => "/topic/mcollective.agents",
732
+ }
733
+
734
+ connector.make_target("test", :direct_request, "mcollective").should == {
735
+ :name => "/queue/mcollective.nodes",
736
+ :headers => {},
737
+ :id => "/queue/mcollective.nodes",
738
+ }
739
+
740
+ connector.make_target("test", :directed, "mcollective").should == {
741
+ :name => "/queue/mcollective.nodes",
742
+ :headers => {
743
+ "selector" => "mc_identity = 'rspec'",
744
+ },
745
+ :id => "mcollective_directed_to_identity",
746
+ }
747
+ end
748
+
703
749
  it "should raise an error for unknown collectives" do
704
750
  expect {
705
751
  connector.make_target("test", :broadcast, "foo")
@@ -79,6 +79,7 @@ module MCollective
79
79
  logger
80
80
  Config.stubs(:instance).returns(config)
81
81
  Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.use_reply_exchange", false).returns(false)
82
+ Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.agents_multiplex", "false").returns(false)
82
83
  end
83
84
 
84
85
  describe "#initialize" do
@@ -617,7 +618,12 @@ module MCollective
617
618
 
618
619
  describe "#make_target" do
619
620
  context 'rabbitmq.use_reply_exchange' do
620
- context 'default (false)' do
621
+ context 'default (false) default (false)' do
622
+ before :each do
623
+ Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.use_reply_exchange", false).returns(false)
624
+ Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.agents_multiplex", "false").returns(false)
625
+ end
626
+
621
627
  it "should create correct targets" do
622
628
  connector.make_target("test", :reply, "mcollective").should eq({
623
629
  :name => "/temp-queue/mcollective_reply_test",
@@ -652,9 +658,10 @@ module MCollective
652
658
  end
653
659
  end
654
660
 
655
- context 'true' do
661
+ context 'true false' do
656
662
  before :each do
657
663
  Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.use_reply_exchange", false).returns(true)
664
+ Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.agents_multiplex", "false").returns(false)
658
665
  end
659
666
 
660
667
  it "should create correct targets" do
@@ -691,6 +698,86 @@ module MCollective
691
698
  })
692
699
  end
693
700
  end
701
+
702
+ context 'true true' do
703
+ before :each do
704
+ Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.use_reply_exchange", false).returns(true)
705
+ Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.agents_multiplex", "false").returns(true)
706
+ end
707
+
708
+ it "should create correct targets" do
709
+ Client.stubs(:request_sequence).returns(42)
710
+ connector.make_target("test", :reply, "mcollective").should eq({
711
+ :name => "/exchange/mcollective_reply/rspec_#{$$}_42",
712
+ :headers => {},
713
+ :id => "mcollective_test_replies",
714
+ })
715
+ connector.make_target("test", :broadcast, "mcollective").should eq({
716
+ :name => "/exchange/mcollective_broadcast",
717
+ :headers => { "reply-to" => "/exchange/mcollective_reply/rspec_#{$$}_42" },
718
+ :id => "mcollective_broadcast"
719
+ })
720
+ connector.make_target("test", :request, "mcollective").should eq({
721
+ :name => "/exchange/mcollective_broadcast",
722
+ :headers => { "reply-to" => "/exchange/mcollective_reply/rspec_#{$$}_42" },
723
+ :id => "mcollective_broadcast",
724
+ })
725
+ connector.make_target("test", :direct_request, "mcollective", nil, "rspec").should eq({
726
+ :headers => { "reply-to" => "/exchange/mcollective_reply/rspec_#{$$}_42" },
727
+ :name => "/exchange/mcollective_directed/rspec",
728
+ :id => nil
729
+ })
730
+ connector.make_target("test", :directed, "mcollective").should eq({
731
+ :name => "/exchange/mcollective_directed/rspec",
732
+ :headers => {},
733
+ :id => "mcollective_rspec_directed_to_identity",
734
+ })
735
+ connector.make_target("test", :request, "mcollective", "/topic/rspec", "rspec").should eq({
736
+ :headers => { "reply-to" => "/topic/rspec" },
737
+ :name => "/exchange/mcollective_broadcast",
738
+ :id => "mcollective_broadcast",
739
+ })
740
+ end
741
+ end
742
+
743
+ context 'false (default) true' do
744
+ before :each do
745
+ Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.use_reply_exchange", false).returns(false)
746
+ Rabbitmq.any_instance.stubs(:get_bool_option).with("rabbitmq.agents_multiplex", "false").returns(true)
747
+ end
748
+ it "should create correct targets" do
749
+ connector.make_target("test", :reply, "mcollective").should eq({
750
+ :name => "/temp-queue/mcollective_reply_test",
751
+ :headers => {},
752
+ :id => "mcollective_test_replies",
753
+ })
754
+ connector.make_target("test", :broadcast, "mcollective").should eq({
755
+ :name => "/exchange/mcollective_broadcast",
756
+ :headers => { "reply-to" => "/temp-queue/mcollective_reply_test" },
757
+ :id => "mcollective_broadcast"
758
+ })
759
+ connector.make_target("test", :request, "mcollective").should eq({
760
+ :name => "/exchange/mcollective_broadcast",
761
+ :headers => { "reply-to" => "/temp-queue/mcollective_reply_test" },
762
+ :id => "mcollective_broadcast",
763
+ })
764
+ connector.make_target("test", :direct_request, "mcollective", nil, "rspec").should eq({
765
+ :headers => { "reply-to" => "/temp-queue/mcollective_reply_test" },
766
+ :name => "/exchange/mcollective_directed/rspec",
767
+ :id => nil
768
+ })
769
+ connector.make_target("test", :directed, "mcollective").should eq({
770
+ :name => "/exchange/mcollective_directed/rspec",
771
+ :headers => {},
772
+ :id => "mcollective_rspec_directed_to_identity",
773
+ })
774
+ connector.make_target("test", :request, "mcollective", "/topic/rspec", "rspec").should eq({
775
+ :headers => { "reply-to" => "/topic/rspec" },
776
+ :name => "/exchange/mcollective_broadcast",
777
+ :id => "mcollective_broadcast",
778
+ })
779
+ end
780
+ end
694
781
  end
695
782
 
696
783
  it "should raise an error for unknown collectives" do
@@ -33,11 +33,48 @@ module MCollective
33
33
 
34
34
  @stderr = StringIO.new
35
35
  @stdout = StringIO.new
36
+ @stdin = StringIO.new
36
37
 
37
38
  @client = Client.new("foo", {:options => {:filter => Util.empty_filter, :config => "/nonexisting"}})
38
39
  @client.stubs(:ddl).returns(ddl)
39
40
  end
40
41
 
42
+ describe "#detect_and_set_stdin_discovery" do
43
+ before(:each) do
44
+ @client = Client.new("foo", {:options => {:filter => Util.empty_filter, :config => "/nonexisting", :stdin => @stdin}})
45
+ end
46
+
47
+ it "should do nothing when a specific discovery method is set" do
48
+ @client.stubs(:default_discovery_method).returns(false)
49
+ @client.expects(:discovery_method).never
50
+ @client.detect_and_set_stdin_discovery
51
+ end
52
+
53
+ it "should set the stdin method when something is on STDIN" do
54
+ @client.stubs(:default_discovery_method).returns(true)
55
+ @stdin.expects(:tty?).returns(false)
56
+ @stdin.expects(:eof?).returns(false)
57
+ @client.detect_and_set_stdin_discovery
58
+ expect(@client.discovery_method).to eq("stdin")
59
+ expect(@client.discovery_options).to eq(["auto"])
60
+ end
61
+
62
+ it "should not set STDIN discovery when interactive" do
63
+ @client.stubs(:default_discovery_method).returns(true)
64
+ @stdin.expects(:tty?).returns(true)
65
+ @client.detect_and_set_stdin_discovery
66
+ expect(@client.discovery_method).to eq("mc")
67
+ end
68
+
69
+ it "should not set STDIN discovery when nothing on STDIN" do
70
+ @client.stubs(:default_discovery_method).returns(true)
71
+ @stdin.expects(:tty?).returns(false)
72
+ @stdin.expects(:eof?).returns(true)
73
+ @client.detect_and_set_stdin_discovery
74
+ expect(@client.discovery_method).to eq("mc")
75
+ end
76
+ end
77
+
41
78
  describe "#initialize" do
42
79
  it "should fail for missing DDLs" do
43
80
  DDL.stubs(:new).raises("DDL failure")
@@ -737,7 +774,7 @@ module MCollective
737
774
  msg.expects(:create_reqid).returns("823a3419a0975c3facbde121f72ab61f")
738
775
  msg.expects(:requestid=).with("823a3419a0975c3facbde121f72ab61f").times(10)
739
776
 
740
- stats = {:noresponsefrom => [], :responses => 0, :blocktime => 0, :totaltime => 0, :discoverytime => 0, :requestid => "823a3419a0975c3facbde121f72ab61f"}
777
+ stats = {:noresponsefrom => [], :unexpectedresponsefrom => [], :responses => 0, :blocktime => 0, :totaltime => 0, :discoverytime => 0, :requestid => "823a3419a0975c3facbde121f72ab61f"}
741
778
 
742
779
  Message.expects(:new).with('req', nil, {:type => :direct_request, :agent => 'foo', :filter => nil, :options => {}, :collective => 'mcollective'}).returns(msg).times(10)
743
780
  client.expects(:new_request).returns("req")
@@ -765,7 +802,7 @@ module MCollective
765
802
  msg.expects(:create_reqid).returns("823a3419a0975c3facbde121f72ab61f")
766
803
  msg.expects(:requestid=).with("823a3419a0975c3facbde121f72ab61f").times(10)
767
804
 
768
- stats = {:noresponsefrom => [], :responses => 0, :blocktime => 0, :totaltime => 0, :discoverytime => 0, :requestid => "823a3419a0975c3facbde121f72ab61f"}
805
+ stats = {:noresponsefrom => [], :unexpectedresponsefrom => [], :responses => 0, :blocktime => 0, :totaltime => 0, :discoverytime => 0, :requestid => "823a3419a0975c3facbde121f72ab61f"}
769
806
 
770
807
  Progress.expects(:new).never
771
808
 
@@ -33,6 +33,12 @@ module MCollective
33
33
 
34
34
  Helpers.extract_hosts_from_json(senders).should == ["sender1", "sender3"]
35
35
  end
36
+
37
+ it "should support puppet query output" do
38
+ senders = [{"certname" => "sender1"}, {"certname" => "sender3"}, {"certname" => "sender1"}].to_json
39
+
40
+ Helpers.extract_hosts_from_json(senders).should == ["sender1", "sender3"]
41
+ end
36
42
  end
37
43
 
38
44
  describe "#extract_hosts_from_array" do
@@ -11,6 +11,7 @@ module MCollective
11
11
  :blocktime => 0,
12
12
  :failcount => 0,
13
13
  :noresponsefrom => [],
14
+ :unexpectedresponsefrom => [],
14
15
  :responses => 0,
15
16
  :totaltime => 0,
16
17
  :discovered => 0,
@@ -113,7 +114,7 @@ module MCollective
113
114
  describe "#client_stats=" do
114
115
  it "should store stats correctly" do
115
116
  data = {}
116
- keys = [:noresponsefrom, :responses, :starttime, :blocktime, :totaltime, :discoverytime]
117
+ keys = [:noresponsefrom, :unexpectedresponsefrom, :responses, :starttime, :blocktime, :totaltime, :discoverytime]
117
118
  keys.each {|k| data[k] = k}
118
119
 
119
120
  @stats.client_stats = data
@@ -125,7 +126,7 @@ module MCollective
125
126
 
126
127
  it "should not store discovery time if it was already stored" do
127
128
  data = {}
128
- keys = [:noresponsefrom, :responses, :starttime, :blocktime, :totaltime, :discoverytime]
129
+ keys = [:noresponsefrom, :unexpectedresponsefrom, :responses, :starttime, :blocktime, :totaltime, :discoverytime]
129
130
  keys.each {|k| data[k] = k}
130
131
 
131
132
  Time.stubs(:now).returns(Time.at(1300031826))
@@ -231,6 +232,29 @@ module MCollective
231
232
  @stats.noresponsefrom.should == ["three"]
232
233
  end
233
234
 
235
+ it "should calculate unexpected responses correctly" do
236
+ Time.stubs(:now).returns(Time.at(1300031824))
237
+ @stats.time_discovery(:start)
238
+
239
+ Time.stubs(:now).returns(Time.at(1300031825))
240
+ @stats.time_discovery(:end)
241
+
242
+ Time.stubs(:now).returns(Time.at(1300031826))
243
+ @stats.time_block_execution(:start)
244
+
245
+ Time.stubs(:now).returns(Time.at(1300031827))
246
+ @stats.time_block_execution(:end)
247
+
248
+ @stats.discovered_agents(["one", "two"])
249
+ @stats.node_responded("three")
250
+ @stats.node_responded("one")
251
+ @stats.node_responded("two")
252
+
253
+ @stats.finish_request
254
+
255
+ @stats.unexpectedresponsefrom.should == ["three"]
256
+ end
257
+
234
258
  it "should recover from failure correctly" do
235
259
  Time.stubs(:now).returns(Time.at(1300031824))
236
260
  @stats.time_discovery(:start)
@@ -249,6 +273,7 @@ module MCollective
249
273
  @stats.finish_request
250
274
 
251
275
  @stats.noresponsefrom.should == []
276
+ @stats.unexpectedresponsefrom.should == []
252
277
  @stats.totaltime.should == 0
253
278
  end
254
279
  end
@@ -285,6 +310,25 @@ module MCollective
285
310
  end
286
311
  end
287
312
 
313
+ describe "#unexpected_response_report" do
314
+ it "should create an empty report if all responding nodes were discovered" do
315
+ @stats.discovered_agents ["foo"]
316
+ @stats.node_responded "foo"
317
+ @stats.finish_request
318
+
319
+ @stats.unexpected_response_report.should == ""
320
+ end
321
+
322
+ it "should list all nodes that did not respond" do
323
+ @stats.discovered_agents []
324
+ @stats.node_responded "foo"
325
+ @stats.node_responded "bar"
326
+ @stats.finish_request
327
+
328
+ @stats.unexpected_response_report.should match(Regexp.new(/Unexpected response from.+bar\s+foo/m))
329
+ end
330
+ end
331
+
288
332
  describe "#text_for_aggregates" do
289
333
  let(:aggregate){mock()}
290
334
 
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mcollective-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.1
5
- prerelease:
4
+ version: 2.10.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Puppet Labs
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2016-11-02 00:00:00.000000000 Z
11
+ date: 2017-01-31 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: systemu
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: json
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: stomp
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -66,268 +59,269 @@ executables:
66
59
  extensions: []
67
60
  extra_rdoc_files: []
68
61
  files:
69
- - lib/mcollective/rpc.rb
70
- - lib/mcollective/monkey_patches.rb
71
- - lib/mcollective/connector.rb
72
- - lib/mcollective/pluginmanager.rb
73
- - lib/mcollective/client.rb
74
- - lib/mcollective/rpc/helpers.rb
75
- - lib/mcollective/rpc/client.rb
76
- - lib/mcollective/rpc/progress.rb
77
- - lib/mcollective/rpc/reply.rb
78
- - lib/mcollective/rpc/audit.rb
79
- - lib/mcollective/rpc/result.rb
80
- - lib/mcollective/rpc/agent.rb
81
- - lib/mcollective/rpc/request.rb
82
- - lib/mcollective/rpc/stats.rb
83
- - lib/mcollective/rpc/actionrunner.rb
84
- - lib/mcollective/facts/yaml_facts.rb
85
- - lib/mcollective/facts/base.rb
86
- - lib/mcollective/security.rb
87
- - lib/mcollective/log.rb
88
- - lib/mcollective/matcher.rb
89
- - lib/mcollective/unix_daemon.rb
90
- - lib/mcollective/application/rpc.rb
91
- - lib/mcollective/application/plugin.rb
92
- - lib/mcollective/application/ping.rb
93
- - lib/mcollective/application/completion.rb
94
- - lib/mcollective/application/describe_filter.rb
95
- - lib/mcollective/application/facts.rb
96
- - lib/mcollective/application/help.rb
97
- - lib/mcollective/application/inventory.rb
98
- - lib/mcollective/application/find.rb
99
- - lib/mcollective/validator/regex_validator.ddl
100
- - lib/mcollective/validator/typecheck_validator.ddl
101
- - lib/mcollective/validator/shellsafe_validator.ddl
102
- - lib/mcollective/validator/ipv6address_validator.ddl
103
- - lib/mcollective/validator/length_validator.ddl
104
- - lib/mcollective/validator/shellsafe_validator.rb
105
- - lib/mcollective/validator/ipv4address_validator.ddl
106
- - lib/mcollective/validator/ipv4address_validator.rb
107
- - lib/mcollective/validator/array_validator.ddl
108
- - lib/mcollective/validator/length_validator.rb
109
- - lib/mcollective/validator/regex_validator.rb
110
- - lib/mcollective/validator/ipv6address_validator.rb
111
- - lib/mcollective/validator/array_validator.rb
112
- - lib/mcollective/validator/typecheck_validator.rb
113
- - lib/mcollective/windows_daemon.rb
114
- - lib/mcollective/aggregate/sum.ddl
62
+ - bin/mco
63
+ - lib/mcollective.rb
64
+ - lib/mcollective/agent.rb
65
+ - lib/mcollective/agent/discovery.rb
66
+ - lib/mcollective/agent/rpcutil.ddl
67
+ - lib/mcollective/agent/rpcutil.rb
68
+ - lib/mcollective/agents.rb
69
+ - lib/mcollective/aggregate.rb
115
70
  - lib/mcollective/aggregate/average.ddl
116
- - lib/mcollective/aggregate/summary.ddl
71
+ - lib/mcollective/aggregate/average.rb
72
+ - lib/mcollective/aggregate/base.rb
73
+ - lib/mcollective/aggregate/result.rb
74
+ - lib/mcollective/aggregate/result/base.rb
117
75
  - lib/mcollective/aggregate/result/collection_result.rb
118
76
  - lib/mcollective/aggregate/result/numeric_result.rb
119
- - lib/mcollective/aggregate/result/base.rb
77
+ - lib/mcollective/aggregate/sum.ddl
120
78
  - lib/mcollective/aggregate/sum.rb
121
- - lib/mcollective/aggregate/result.rb
122
- - lib/mcollective/aggregate/average.rb
79
+ - lib/mcollective/aggregate/summary.ddl
123
80
  - lib/mcollective/aggregate/summary.rb
124
- - lib/mcollective/aggregate/base.rb
125
- - lib/mcollective/optionparser.rb
126
- - lib/mcollective/ssl.rb
127
- - lib/mcollective/runnerstats.rb
128
- - lib/mcollective/shell.rb
129
- - lib/mcollective/validator.rb
130
- - lib/mcollective/vendor/require_vendored.rb
131
- - lib/mcollective/matcher/parser.rb
132
- - lib/mcollective/matcher/scanner.rb
133
- - lib/mcollective/audit/logfile.rb
134
- - lib/mcollective/config.rb
135
- - lib/mcollective/message.rb
136
81
  - lib/mcollective/application.rb
137
- - lib/mcollective/pluginpackager.rb
138
- - lib/mcollective/facts.rb
139
- - lib/mcollective/aggregate.rb
140
- - lib/mcollective/cache.rb
141
- - lib/mcollective/exceptions.rb
142
- - lib/mcollective/registration/agentlist.rb
143
- - lib/mcollective/registration/base.rb
144
- - lib/mcollective/discovery/mc.rb
145
- - lib/mcollective/discovery/mc.ddl
146
- - lib/mcollective/discovery/flatfile.ddl
147
- - lib/mcollective/discovery/stdin.ddl
148
- - lib/mcollective/discovery/stdin.rb
149
- - lib/mcollective/discovery/flatfile.rb
82
+ - lib/mcollective/application/completion.rb
83
+ - lib/mcollective/application/describe_filter.rb
84
+ - lib/mcollective/application/facts.rb
85
+ - lib/mcollective/application/find.rb
86
+ - lib/mcollective/application/help.rb
87
+ - lib/mcollective/application/inventory.rb
88
+ - lib/mcollective/application/ping.rb
89
+ - lib/mcollective/application/plugin.rb
90
+ - lib/mcollective/application/rpc.rb
150
91
  - lib/mcollective/applications.rb
151
- - lib/mcollective/generators.rb
152
- - lib/mcollective/data/fact_data.ddl
153
- - lib/mcollective/data/agent_data.rb
154
- - lib/mcollective/data/collective_data.rb
92
+ - lib/mcollective/audit/logfile.rb
93
+ - lib/mcollective/cache.rb
94
+ - lib/mcollective/client.rb
95
+ - lib/mcollective/config.rb
96
+ - lib/mcollective/connector.rb
97
+ - lib/mcollective/connector/activemq.ddl
98
+ - lib/mcollective/connector/activemq.rb
99
+ - lib/mcollective/connector/base.rb
100
+ - lib/mcollective/connector/rabbitmq.ddl
101
+ - lib/mcollective/connector/rabbitmq.rb
102
+ - lib/mcollective/data.rb
155
103
  - lib/mcollective/data/agent_data.ddl
156
- - lib/mcollective/data/result.rb
104
+ - lib/mcollective/data/agent_data.rb
105
+ - lib/mcollective/data/base.rb
157
106
  - lib/mcollective/data/collective_data.ddl
107
+ - lib/mcollective/data/collective_data.rb
108
+ - lib/mcollective/data/fact_data.ddl
158
109
  - lib/mcollective/data/fact_data.rb
159
110
  - lib/mcollective/data/fstat_data.ddl
160
111
  - lib/mcollective/data/fstat_data.rb
161
- - lib/mcollective/data/base.rb
112
+ - lib/mcollective/data/result.rb
113
+ - lib/mcollective/ddl.rb
114
+ - lib/mcollective/ddl/agentddl.rb
115
+ - lib/mcollective/ddl/base.rb
162
116
  - lib/mcollective/ddl/dataddl.rb
163
117
  - lib/mcollective/ddl/discoveryddl.rb
164
118
  - lib/mcollective/ddl/validatorddl.rb
165
- - lib/mcollective/ddl/agentddl.rb
166
- - lib/mcollective/ddl/base.rb
167
- - lib/mcollective/data.rb
168
- - lib/mcollective/logger/file_logger.rb
169
- - lib/mcollective/logger/console_logger.rb
170
- - lib/mcollective/logger/syslog_logger.rb
171
- - lib/mcollective/logger/base.rb
172
- - lib/mcollective/registration.rb
173
119
  - lib/mcollective/discovery.rb
174
- - lib/mcollective/util.rb
120
+ - lib/mcollective/discovery/flatfile.ddl
121
+ - lib/mcollective/discovery/flatfile.rb
122
+ - lib/mcollective/discovery/mc.ddl
123
+ - lib/mcollective/discovery/mc.rb
124
+ - lib/mcollective/discovery/stdin.ddl
125
+ - lib/mcollective/discovery/stdin.rb
126
+ - lib/mcollective/exceptions.rb
127
+ - lib/mcollective/facts.rb
128
+ - lib/mcollective/facts/base.rb
129
+ - lib/mcollective/facts/yaml_facts.rb
130
+ - lib/mcollective/generators.rb
131
+ - lib/mcollective/generators/agent_generator.rb
132
+ - lib/mcollective/generators/base.rb
133
+ - lib/mcollective/generators/data_generator.rb
134
+ - lib/mcollective/generators/templates/action_snippet.erb
135
+ - lib/mcollective/generators/templates/data_input_snippet.erb
136
+ - lib/mcollective/generators/templates/ddl.erb
137
+ - lib/mcollective/generators/templates/plugin.erb
138
+ - lib/mcollective/log.rb
175
139
  - lib/mcollective/logger.rb
140
+ - lib/mcollective/logger/base.rb
141
+ - lib/mcollective/logger/console_logger.rb
142
+ - lib/mcollective/logger/file_logger.rb
143
+ - lib/mcollective/logger/syslog_logger.rb
144
+ - lib/mcollective/matcher.rb
145
+ - lib/mcollective/matcher/parser.rb
146
+ - lib/mcollective/matcher/scanner.rb
147
+ - lib/mcollective/message.rb
148
+ - lib/mcollective/monkey_patches.rb
149
+ - lib/mcollective/optionparser.rb
150
+ - lib/mcollective/pluginmanager.rb
151
+ - lib/mcollective/pluginpackager.rb
176
152
  - lib/mcollective/pluginpackager/agent_definition.rb
153
+ - lib/mcollective/pluginpackager/debpackage_packager.rb
154
+ - lib/mcollective/pluginpackager/modulepackage_packager.rb
155
+ - lib/mcollective/pluginpackager/ospackage_packager.rb
156
+ - lib/mcollective/pluginpackager/rpmpackage_packager.rb
157
+ - lib/mcollective/pluginpackager/standard_definition.rb
158
+ - lib/mcollective/pluginpackager/templates/debian/Makefile.erb
159
+ - lib/mcollective/pluginpackager/templates/debian/changelog.erb
177
160
  - lib/mcollective/pluginpackager/templates/debian/compat.erb
178
161
  - lib/mcollective/pluginpackager/templates/debian/control.erb
179
- - lib/mcollective/pluginpackager/templates/debian/rules.erb
180
- - lib/mcollective/pluginpackager/templates/debian/changelog.erb
181
- - lib/mcollective/pluginpackager/templates/debian/Makefile.erb
182
162
  - lib/mcollective/pluginpackager/templates/debian/copyright.erb
163
+ - lib/mcollective/pluginpackager/templates/debian/rules.erb
164
+ - lib/mcollective/pluginpackager/templates/module/Modulefile.erb
183
165
  - lib/mcollective/pluginpackager/templates/module/README.md.erb
184
166
  - lib/mcollective/pluginpackager/templates/module/_manifest.pp.erb
185
- - lib/mcollective/pluginpackager/templates/module/Modulefile.erb
186
167
  - lib/mcollective/pluginpackager/templates/redhat/rpm_spec.erb
187
- - lib/mcollective/pluginpackager/standard_definition.rb
188
- - lib/mcollective/pluginpackager/rpmpackage_packager.rb
189
- - lib/mcollective/pluginpackager/debpackage_packager.rb
190
- - lib/mcollective/pluginpackager/ospackage_packager.rb
191
- - lib/mcollective/pluginpackager/modulepackage_packager.rb
192
- - lib/mcollective/agent.rb
193
- - lib/mcollective/agents.rb
194
- - lib/mcollective/agent/discovery.rb
195
- - lib/mcollective/agent/rpcutil.rb
196
- - lib/mcollective/agent/rpcutil.ddl
197
- - lib/mcollective/ddl.rb
198
- - lib/mcollective/connector/activemq.rb
199
- - lib/mcollective/connector/rabbitmq.rb
200
- - lib/mcollective/connector/rabbitmq.ddl
201
- - lib/mcollective/connector/activemq.ddl
202
- - lib/mcollective/connector/base.rb
203
- - lib/mcollective/generators/agent_generator.rb
204
- - lib/mcollective/generators/templates/action_snippet.erb
205
- - lib/mcollective/generators/templates/ddl.erb
206
- - lib/mcollective/generators/templates/data_input_snippet.erb
207
- - lib/mcollective/generators/templates/plugin.erb
208
- - lib/mcollective/generators/data_generator.rb
209
- - lib/mcollective/generators/base.rb
210
- - lib/mcollective/vendor.rb
211
- - lib/mcollective/security/ssl.rb
168
+ - lib/mcollective/registration.rb
169
+ - lib/mcollective/registration/agentlist.rb
170
+ - lib/mcollective/registration/base.rb
171
+ - lib/mcollective/rpc.rb
172
+ - lib/mcollective/rpc/actionrunner.rb
173
+ - lib/mcollective/rpc/agent.rb
174
+ - lib/mcollective/rpc/audit.rb
175
+ - lib/mcollective/rpc/client.rb
176
+ - lib/mcollective/rpc/helpers.rb
177
+ - lib/mcollective/rpc/progress.rb
178
+ - lib/mcollective/rpc/reply.rb
179
+ - lib/mcollective/rpc/request.rb
180
+ - lib/mcollective/rpc/result.rb
181
+ - lib/mcollective/rpc/stats.rb
182
+ - lib/mcollective/runnerstats.rb
183
+ - lib/mcollective/security.rb
212
184
  - lib/mcollective/security/aes_security.rb
213
- - lib/mcollective/security/psk.rb
214
185
  - lib/mcollective/security/base.rb
215
- - lib/mcollective.rb
216
- - bin/mco
217
- - spec/fixtures/util/3.out
186
+ - lib/mcollective/security/psk.rb
187
+ - lib/mcollective/security/ssl.rb
188
+ - lib/mcollective/shell.rb
189
+ - lib/mcollective/ssl.rb
190
+ - lib/mcollective/unix_daemon.rb
191
+ - lib/mcollective/util.rb
192
+ - lib/mcollective/validator.rb
193
+ - lib/mcollective/validator/array_validator.ddl
194
+ - lib/mcollective/validator/array_validator.rb
195
+ - lib/mcollective/validator/ipv4address_validator.ddl
196
+ - lib/mcollective/validator/ipv4address_validator.rb
197
+ - lib/mcollective/validator/ipv6address_validator.ddl
198
+ - lib/mcollective/validator/ipv6address_validator.rb
199
+ - lib/mcollective/validator/length_validator.ddl
200
+ - lib/mcollective/validator/length_validator.rb
201
+ - lib/mcollective/validator/regex_validator.ddl
202
+ - lib/mcollective/validator/regex_validator.rb
203
+ - lib/mcollective/validator/shellsafe_validator.ddl
204
+ - lib/mcollective/validator/shellsafe_validator.rb
205
+ - lib/mcollective/validator/typecheck_validator.ddl
206
+ - lib/mcollective/validator/typecheck_validator.rb
207
+ - lib/mcollective/vendor.rb
208
+ - lib/mcollective/vendor/require_vendored.rb
209
+ - lib/mcollective/windows_daemon.rb
210
+ - spec/Rakefile
211
+ - spec/fixtures/application/test.rb
212
+ - spec/fixtures/test-cert.pem
213
+ - spec/fixtures/test-private.pem
214
+ - spec/fixtures/test-public.pem
218
215
  - spec/fixtures/util/1.in
219
- - spec/fixtures/util/4.in
220
216
  - spec/fixtures/util/1.out
221
- - spec/fixtures/util/3.in
222
- - spec/fixtures/util/4.out
223
217
  - spec/fixtures/util/2.in
224
218
  - spec/fixtures/util/2.out
225
- - spec/fixtures/application/test.rb
226
- - spec/fixtures/test-cert.pem
227
- - spec/fixtures/test-public.pem
228
- - spec/fixtures/test-private.pem
219
+ - spec/fixtures/util/3.in
220
+ - spec/fixtures/util/3.out
221
+ - spec/fixtures/util/4.in
222
+ - spec/fixtures/util/4.out
229
223
  - spec/monkey_patches/instance_variable_defined.rb
230
224
  - spec/spec.opts
231
- - spec/Rakefile
232
- - spec/unit/mcollective/application_spec.rb
233
- - spec/unit/mcollective/runnerstats_spec.rb
234
- - spec/unit/mcollective/validator_spec.rb
235
- - spec/unit/mcollective/rpc/agent_spec.rb
236
- - spec/unit/mcollective/rpc/helpers_spec.rb
237
- - spec/unit/mcollective/rpc/stats_spec.rb
238
- - spec/unit/mcollective/rpc/actionrunner_spec.rb
239
- - spec/unit/mcollective/rpc/request_spec.rb
240
- - spec/unit/mcollective/rpc/result_spec.rb
241
- - spec/unit/mcollective/rpc/client_spec.rb
242
- - spec/unit/mcollective/rpc/reply_spec.rb
243
- - spec/unit/mcollective/facts/base_spec.rb
244
- - spec/unit/mcollective/facts/yaml_facts_spec.rb
245
- - spec/unit/mcollective/vendor_spec.rb
246
- - spec/unit/mcollective/ssl_spec.rb
247
- - spec/unit/mcollective/application/plugin_spec.rb
248
- - spec/unit/mcollective/validator/ipv6address_validator_spec.rb
249
- - spec/unit/mcollective/validator/ipv4address_validator_spec.rb
250
- - spec/unit/mcollective/validator/regex_validator_spec.rb
251
- - spec/unit/mcollective/validator/array_validator_spec.rb
252
- - spec/unit/mcollective/validator/length_validator_spec.rb
253
- - spec/unit/mcollective/validator/typecheck_validator_spec.rb
254
- - spec/unit/mcollective/validator/shellsafe_validator_spec.rb
255
- - spec/unit/mcollective/aggregate/base_spec.rb
225
+ - spec/spec_helper.rb
226
+ - spec/unit/mcollective/agent/rpcutil_spec.rb
227
+ - spec/unit/mcollective/agents_spec.rb
256
228
  - spec/unit/mcollective/aggregate/average_spec.rb
229
+ - spec/unit/mcollective/aggregate/base_spec.rb
257
230
  - spec/unit/mcollective/aggregate/result/base_spec.rb
258
231
  - spec/unit/mcollective/aggregate/result/collection_result_spec.rb
259
232
  - spec/unit/mcollective/aggregate/result/numeric_result_spec.rb
260
233
  - spec/unit/mcollective/aggregate/sum_spec.rb
261
234
  - spec/unit/mcollective/aggregate/summary_spec.rb
262
- - spec/unit/mcollective/matcher_spec.rb
263
- - spec/unit/mcollective/windows_daemon_spec.rb
264
- - spec/unit/mcollective/config_spec.rb
235
+ - spec/unit/mcollective/aggregate_spec.rb
236
+ - spec/unit/mcollective/application/plugin_spec.rb
237
+ - spec/unit/mcollective/application_spec.rb
265
238
  - spec/unit/mcollective/applications_spec.rb
266
- - spec/unit/mcollective/cache_spec.rb
267
- - spec/unit/mcollective/matcher/scanner_spec.rb
268
- - spec/unit/mcollective/matcher/parser_spec.rb
239
+ - spec/unit/mcollective/array_spec.rb
269
240
  - spec/unit/mcollective/audit/logfile_spec.rb
270
- - spec/unit/mcollective/string_spec.rb
271
- - spec/unit/mcollective/ddl_spec.rb
272
- - spec/unit/mcollective/log_spec.rb
273
- - spec/unit/mcollective/pluginmanager_spec.rb
274
- - spec/unit/mcollective/registration/base_spec.rb
275
- - spec/unit/mcollective/discovery/flatfile_spec.rb
276
- - spec/unit/mcollective/discovery/stdin_spec.rb
277
- - spec/unit/mcollective/discovery/mc_spec.rb
278
- - spec/unit/mcollective/data/collective_data_spec.rb
279
- - spec/unit/mcollective/data/base_spec.rb
241
+ - spec/unit/mcollective/cache_spec.rb
242
+ - spec/unit/mcollective/client_spec.rb
243
+ - spec/unit/mcollective/config_spec.rb
244
+ - spec/unit/mcollective/connector/activemq_spec.rb
245
+ - spec/unit/mcollective/connector/base_spec.rb
246
+ - spec/unit/mcollective/connector/rabbitmq_spec.rb
280
247
  - spec/unit/mcollective/data/agent_data_spec.rb
281
- - spec/unit/mcollective/data/result_spec.rb
282
- - spec/unit/mcollective/data/fstat_data_spec.rb
248
+ - spec/unit/mcollective/data/base_spec.rb
249
+ - spec/unit/mcollective/data/collective_data_spec.rb
283
250
  - spec/unit/mcollective/data/fact_data_spec.rb
251
+ - spec/unit/mcollective/data/fstat_data_spec.rb
252
+ - spec/unit/mcollective/data/result_spec.rb
253
+ - spec/unit/mcollective/data_spec.rb
254
+ - spec/unit/mcollective/ddl/agentddl_spec.rb
284
255
  - spec/unit/mcollective/ddl/base_spec.rb
285
256
  - spec/unit/mcollective/ddl/dataddl_spec.rb
286
257
  - spec/unit/mcollective/ddl/discoveryddl_spec.rb
287
- - spec/unit/mcollective/ddl/agentddl_spec.rb
258
+ - spec/unit/mcollective/ddl_spec.rb
259
+ - spec/unit/mcollective/discovery/flatfile_spec.rb
260
+ - spec/unit/mcollective/discovery/mc_spec.rb
261
+ - spec/unit/mcollective/discovery/stdin_spec.rb
288
262
  - spec/unit/mcollective/discovery_spec.rb
263
+ - spec/unit/mcollective/facts/base_spec.rb
264
+ - spec/unit/mcollective/facts/yaml_facts_spec.rb
265
+ - spec/unit/mcollective/facts_spec.rb
266
+ - spec/unit/mcollective/generators/agent_generator_spec.rb
267
+ - spec/unit/mcollective/generators/base_spec.rb
268
+ - spec/unit/mcollective/generators/data_generator_spec.rb
269
+ - spec/unit/mcollective/generators/snippets/agent_ddl
270
+ - spec/unit/mcollective/generators/snippets/data_ddl
271
+ - spec/unit/mcollective/log_spec.rb
289
272
  - spec/unit/mcollective/logger/base_spec.rb
290
273
  - spec/unit/mcollective/logger/console_logger_spec.rb
291
274
  - spec/unit/mcollective/logger/file_logger_spec.rb
292
275
  - spec/unit/mcollective/logger/syslog_logger_spec.rb
293
- - spec/unit/mcollective/shell_spec.rb
294
- - spec/unit/mcollective/data_spec.rb
295
- - spec/unit/mcollective/packagers/modulepackage_packager_spec.rb
276
+ - spec/unit/mcollective/matcher/parser_spec.rb
277
+ - spec/unit/mcollective/matcher/scanner_spec.rb
278
+ - spec/unit/mcollective/matcher_spec.rb
279
+ - spec/unit/mcollective/message_spec.rb
280
+ - spec/unit/mcollective/monkey_patches_spec.rb
281
+ - spec/unit/mcollective/optionparser_spec.rb
296
282
  - spec/unit/mcollective/packagers/debpackage_packager_spec.rb
283
+ - spec/unit/mcollective/packagers/modulepackage_packager_spec.rb
297
284
  - spec/unit/mcollective/packagers/ospackage_spec.rb
298
285
  - spec/unit/mcollective/packagers/rpmpackage_packager_spec.rb
299
- - spec/unit/mcollective/client_spec.rb
300
- - spec/unit/mcollective/pluginpackager/standard_definition_spec.rb
286
+ - spec/unit/mcollective/pluginmanager_spec.rb
301
287
  - spec/unit/mcollective/pluginpackager/agent_definition_spec.rb
302
- - spec/unit/mcollective/agent/rpcutil_spec.rb
303
- - spec/unit/mcollective/aggregate_spec.rb
304
- - spec/unit/mcollective/array_spec.rb
305
- - spec/unit/mcollective/optionparser_spec.rb
306
- - spec/unit/mcollective/message_spec.rb
288
+ - spec/unit/mcollective/pluginpackager/standard_definition_spec.rb
307
289
  - spec/unit/mcollective/pluginpackager_spec.rb
308
- - spec/unit/mcollective/connector/rabbitmq_spec.rb
309
- - spec/unit/mcollective/connector/base_spec.rb
310
- - spec/unit/mcollective/connector/activemq_spec.rb
311
- - spec/unit/mcollective/generators/snippets/data_ddl
312
- - spec/unit/mcollective/generators/snippets/agent_ddl
313
- - spec/unit/mcollective/generators/base_spec.rb
314
- - spec/unit/mcollective/generators/data_generator_spec.rb
315
- - spec/unit/mcollective/generators/agent_generator_spec.rb
316
- - spec/unit/mcollective/runner_spec.rb
317
- - spec/unit/mcollective/util_spec.rb
318
- - spec/unit/mcollective/agents_spec.rb
319
- - spec/unit/mcollective/monkey_patches_spec.rb
320
- - spec/unit/mcollective/unix_daemon_spec.rb
290
+ - spec/unit/mcollective/registration/base_spec.rb
291
+ - spec/unit/mcollective/rpc/actionrunner_spec.rb
292
+ - spec/unit/mcollective/rpc/agent_spec.rb
293
+ - spec/unit/mcollective/rpc/client_spec.rb
294
+ - spec/unit/mcollective/rpc/helpers_spec.rb
295
+ - spec/unit/mcollective/rpc/reply_spec.rb
296
+ - spec/unit/mcollective/rpc/request_spec.rb
297
+ - spec/unit/mcollective/rpc/result_spec.rb
298
+ - spec/unit/mcollective/rpc/stats_spec.rb
321
299
  - spec/unit/mcollective/rpc_spec.rb
322
- - spec/unit/mcollective/facts_spec.rb
323
- - spec/unit/mcollective/symbol_spec.rb
300
+ - spec/unit/mcollective/runner_spec.rb
301
+ - spec/unit/mcollective/runnerstats_spec.rb
324
302
  - spec/unit/mcollective/security/aes_security_spec.rb
325
303
  - spec/unit/mcollective/security/base_spec.rb
326
304
  - spec/unit/mcollective/security/psk_spec.rb
327
- - spec/spec_helper.rb
305
+ - spec/unit/mcollective/shell_spec.rb
306
+ - spec/unit/mcollective/ssl_spec.rb
307
+ - spec/unit/mcollective/string_spec.rb
308
+ - spec/unit/mcollective/symbol_spec.rb
309
+ - spec/unit/mcollective/unix_daemon_spec.rb
310
+ - spec/unit/mcollective/util_spec.rb
311
+ - spec/unit/mcollective/validator/array_validator_spec.rb
312
+ - spec/unit/mcollective/validator/ipv4address_validator_spec.rb
313
+ - spec/unit/mcollective/validator/ipv6address_validator_spec.rb
314
+ - spec/unit/mcollective/validator/length_validator_spec.rb
315
+ - spec/unit/mcollective/validator/regex_validator_spec.rb
316
+ - spec/unit/mcollective/validator/shellsafe_validator_spec.rb
317
+ - spec/unit/mcollective/validator/typecheck_validator_spec.rb
318
+ - spec/unit/mcollective/validator_spec.rb
319
+ - spec/unit/mcollective/vendor_spec.rb
320
+ - spec/unit/mcollective/windows_daemon_spec.rb
328
321
  - spec/windows_spec.opts
329
322
  homepage: https://docs.puppetlabs.com/mcollective/
330
323
  licenses: []
324
+ metadata: {}
331
325
  post_install_message:
332
326
  rdoc_options:
333
327
  - --line-numbers
@@ -346,22 +340,20 @@ rdoc_options:
346
340
  require_paths:
347
341
  - lib
348
342
  required_ruby_version: !ruby/object:Gem::Requirement
349
- none: false
350
343
  requirements:
351
344
  - - ! '>='
352
345
  - !ruby/object:Gem::Version
353
346
  version: '0'
354
347
  required_rubygems_version: !ruby/object:Gem::Requirement
355
- none: false
356
348
  requirements:
357
349
  - - ! '>='
358
350
  - !ruby/object:Gem::Version
359
351
  version: '0'
360
352
  requirements: []
361
353
  rubyforge_project:
362
- rubygems_version: 1.8.23
354
+ rubygems_version: 2.4.3
363
355
  signing_key:
364
- specification_version: 3
356
+ specification_version: 4
365
357
  summary: Client libraries for the Mcollective Application Server
366
358
  test_files:
367
359
  - spec/fixtures/util/3.out