mcollective-client 2.9.1 → 2.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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