dtk-client 0.5.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +5 -0
  3. data/Gemfile_dev +12 -0
  4. data/README.md +78 -0
  5. data/bin/dtk +54 -0
  6. data/bin/dtk-shell +15 -0
  7. data/dtk-client.gemspec +49 -0
  8. data/lib/auxiliary.rb +13 -0
  9. data/lib/bundler_monkey_patch.rb +9 -0
  10. data/lib/client.rb +48 -0
  11. data/lib/command_helper.rb +16 -0
  12. data/lib/command_helpers/git_repo.rb +391 -0
  13. data/lib/command_helpers/jenkins_client/config_xml.rb +271 -0
  14. data/lib/command_helpers/jenkins_client.rb +91 -0
  15. data/lib/command_helpers/service_importer.rb +99 -0
  16. data/lib/command_helpers/service_link.rb +18 -0
  17. data/lib/command_helpers/ssh_processing.rb +43 -0
  18. data/lib/commands/common/thor/assembly_workspace.rb +1089 -0
  19. data/lib/commands/common/thor/clone.rb +39 -0
  20. data/lib/commands/common/thor/common.rb +34 -0
  21. data/lib/commands/common/thor/edit.rb +168 -0
  22. data/lib/commands/common/thor/list_diffs.rb +84 -0
  23. data/lib/commands/common/thor/pull_clone_changes.rb +11 -0
  24. data/lib/commands/common/thor/pull_from_remote.rb +99 -0
  25. data/lib/commands/common/thor/purge_clone.rb +26 -0
  26. data/lib/commands/common/thor/push_clone_changes.rb +45 -0
  27. data/lib/commands/common/thor/push_to_remote.rb +45 -0
  28. data/lib/commands/common/thor/reparse.rb +36 -0
  29. data/lib/commands/common/thor/set_required_params.rb +29 -0
  30. data/lib/commands/common/thor/task_status.rb +81 -0
  31. data/lib/commands/thor/account.rb +213 -0
  32. data/lib/commands/thor/assembly.rb +329 -0
  33. data/lib/commands/thor/attribute.rb +62 -0
  34. data/lib/commands/thor/component.rb +52 -0
  35. data/lib/commands/thor/component_module.rb +829 -0
  36. data/lib/commands/thor/component_template.rb +153 -0
  37. data/lib/commands/thor/dependency.rb +18 -0
  38. data/lib/commands/thor/developer.rb +105 -0
  39. data/lib/commands/thor/dtk.rb +117 -0
  40. data/lib/commands/thor/library.rb +107 -0
  41. data/lib/commands/thor/node.rb +411 -0
  42. data/lib/commands/thor/node_group.rb +211 -0
  43. data/lib/commands/thor/node_template.rb +88 -0
  44. data/lib/commands/thor/project.rb +17 -0
  45. data/lib/commands/thor/provider.rb +155 -0
  46. data/lib/commands/thor/repo.rb +35 -0
  47. data/lib/commands/thor/service.rb +656 -0
  48. data/lib/commands/thor/service_module.rb +806 -0
  49. data/lib/commands/thor/state_change.rb +10 -0
  50. data/lib/commands/thor/target.rb +94 -0
  51. data/lib/commands/thor/task.rb +100 -0
  52. data/lib/commands/thor/utils.rb +4 -0
  53. data/lib/commands/thor/workspace.rb +437 -0
  54. data/lib/commands.rb +40 -0
  55. data/lib/config/cacert.pem +3785 -0
  56. data/lib/config/client.conf.header +18 -0
  57. data/lib/config/configuration.rb +82 -0
  58. data/lib/config/default.conf +14 -0
  59. data/lib/config/disk_cacher.rb +60 -0
  60. data/lib/configurator.rb +92 -0
  61. data/lib/context_router.rb +23 -0
  62. data/lib/core.rb +460 -0
  63. data/lib/domain/git_adapter.rb +221 -0
  64. data/lib/domain/response.rb +234 -0
  65. data/lib/dtk-client/version.rb +3 -0
  66. data/lib/dtk_constants.rb +23 -0
  67. data/lib/dtk_logger.rb +96 -0
  68. data/lib/error.rb +74 -0
  69. data/lib/git-logs/git.log +0 -0
  70. data/lib/parser/adapters/option_parser.rb +53 -0
  71. data/lib/parser/adapters/thor/common_option_defs.rb +12 -0
  72. data/lib/parser/adapters/thor.rb +509 -0
  73. data/lib/require_first.rb +87 -0
  74. data/lib/search_hash.rb +27 -0
  75. data/lib/shell/context.rb +975 -0
  76. data/lib/shell/context_aux.rb +29 -0
  77. data/lib/shell/domain.rb +447 -0
  78. data/lib/shell/header_shell.rb +27 -0
  79. data/lib/shell/help_monkey_patch.rb +221 -0
  80. data/lib/shell/interactive_wizard.rb +233 -0
  81. data/lib/shell/parse_monkey_patch.rb +22 -0
  82. data/lib/shell/status_monitor.rb +105 -0
  83. data/lib/shell.rb +219 -0
  84. data/lib/util/console.rb +143 -0
  85. data/lib/util/dtk_puppet.rb +46 -0
  86. data/lib/util/os_util.rb +265 -0
  87. data/lib/view_processor/augmented_simple_list.rb +27 -0
  88. data/lib/view_processor/hash_pretty_print.rb +106 -0
  89. data/lib/view_processor/simple_list.rb +139 -0
  90. data/lib/view_processor/table_print.rb +277 -0
  91. data/lib/view_processor.rb +112 -0
  92. data/puppet/manifests/init.pp +72 -0
  93. data/puppet/manifests/params.pp +16 -0
  94. data/puppet/r8meta.puppet.yml +18 -0
  95. data/puppet/templates/bash_profile.erb +2 -0
  96. data/puppet/templates/client.conf.erb +1 -0
  97. data/puppet/templates/dtkclient.erb +2 -0
  98. data/spec/assembly_spec.rb +50 -0
  99. data/spec/assembly_template_spec.rb +51 -0
  100. data/spec/component_template_spec.rb +40 -0
  101. data/spec/dependency_spec.rb +6 -0
  102. data/spec/dtk_shell_spec.rb +13 -0
  103. data/spec/dtk_spec.rb +33 -0
  104. data/spec/lib/spec_helper.rb +10 -0
  105. data/spec/lib/spec_thor.rb +105 -0
  106. data/spec/module_spec.rb +35 -0
  107. data/spec/node_spec.rb +43 -0
  108. data/spec/node_template_spec.rb +25 -0
  109. data/spec/project_spec.rb +6 -0
  110. data/spec/repo_spec.rb +7 -0
  111. data/spec/response_spec.rb +52 -0
  112. data/spec/service_spec.rb +41 -0
  113. data/spec/state_change_spec.rb +7 -0
  114. data/spec/table_print_spec.rb +48 -0
  115. data/spec/target_spec.rb +57 -0
  116. data/spec/task_spec.rb +28 -0
  117. data/views/assembly/augmented_simple_list.rb +12 -0
  118. data/views/assembly_template/augmented_simple_list.rb +12 -0
  119. data/views/list_task/augmented_simple_list.rb +12 -0
  120. metadata +351 -0
@@ -0,0 +1,41 @@
1
+ require 'lib/spec_thor'
2
+ require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
+ require File.expand_path('../lib/commands/thor/service_module', File.dirname(__FILE__))
4
+
5
+ include SpecThor
6
+
7
+ describe DTK::Client::ServiceModule do
8
+ $about = ['assemblies']
9
+ $service_id = nil
10
+
11
+
12
+ #list all assemblies and take one assembly_id
13
+ context '#list' do
14
+ $service_list = run_from_dtk_shell('service-module list')
15
+
16
+ it "should have service listing" do
17
+ $service_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
18
+ end
19
+
20
+ unless $service_list.nil?
21
+ unless $service_list['data'].nil?
22
+ $service_id = $service_list['data'].first['id'] unless $service_list['data'].empty?
23
+ end
24
+ end
25
+ end
26
+
27
+
28
+ context "#list/command" do
29
+ unless $service_id.nil?
30
+ $about.each do |type|
31
+ output = run_from_dtk_shell("service-module #{$service_id} list #{type}")
32
+
33
+ it "should list all #{type} for service with id #{$service_id}" do
34
+ output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ end
41
+
@@ -0,0 +1,7 @@
1
+ require 'lib/spec_thor'
2
+ require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
+ require File.expand_path('../lib/commands/thor/state_change', File.dirname(__FILE__))
4
+
5
+
6
+
7
+
@@ -0,0 +1,48 @@
1
+ require 'lib/spec_thor'
2
+ require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
+ require File.expand_path('../lib/view_processor', File.dirname(__FILE__))
4
+ require File.expand_path('../lib/view_processor/table_print', File.dirname(__FILE__))
5
+ require File.expand_path('../lib/commands/thor/assembly', File.dirname(__FILE__))
6
+
7
+ include SpecThor
8
+
9
+ describe DTK::Client::DtkResponse do
10
+ @command_class = DTK::Client::Assembly
11
+ data = [{"id"=>2147507731, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147507717, "components"=>["hdp-hadoop::smoketest_hdfs", "hdp-hadoop::datanode", "hdp-hadoop::tasktracker", "hdp", "hdp-hadoop::namenode-conn", "stdlib"]}, {"node_name"=>"HADOOP-NN-JT", "node_id"=>2147507725, "components"=>["hdp-hadoop::namenode", "hdp", "stdlib", "hdp-hadoop::jobtracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-C5-HADOOP"}, {"id"=>2147506303, "nodes"=>[{"node_name"=>"HADOOP-NN-JT", "node_id"=>2147506290, "components"=>["hdp", "stdlib", "hdp-hadoop::jobtracker", "hdp-hadoop::namenode"]}, {"node_name"=>"HADOOP-slave01", "node_id"=>2147506296, "components"=>["hdp-hadoop::namenode-conn", "hdp-hadoop::datanode", "hdp", "stdlib", "hdp-hadoop::tasktracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HADOOP"}, {"id"=>2147506141, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147506134, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "stdlib", "hdp-hadoop::tasktracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HADOOP_slave"}, {"id"=>2147505988, "nodes"=>[{"node_name"=>"HBASE-slave01", "node_id"=>2147505961, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "hdp-hbase::zk-conn", "stdlib", "hdp-hbase::regionserver", "hdp-hadoop::tasktracker", "hdp-hbase::master-conn"]}, {"node_name"=>"HBASE-NN-JT-HM", "node_id"=>2147505978, "components"=>["hdp-hbase::master", "hdp", "hdp-hbase::zk-conn", "stdlib", "hdp-hadoop::jobtracker", "hdp-hadoop::namenode"]}, {"node_name"=>"HBASE-ZK", "node_id"=>2147505973, "components"=>["hdp", "stdlib", "hdp-zookeeper"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HBASE"}, {"id"=>2147506008, "nodes"=>[{"node_name"=>"HBASE-slave01", "node_id"=>2147505996, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "hdp-hbase::zk-conn", "stdlib", "hdp-hbase::regionserver", "hdp-hadoop::tasktracker", "hdp-hbase::master-conn"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HBASE_slave"}, {"id"=>2147505734, "nodes"=>[{"node_name"=>"HDFS-slave01", "node_id"=>2147505728, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "stdlib"]}, {"node_name"=>"HDFS-NN", "node_id"=>2147505723, "components"=>["hdp", "stdlib", "hdp-hadoop::namenode"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HDFS"}, {"id"=>2147505743, "nodes"=>[{"node_name"=>"HDFS-slave01", "node_id"=>2147505737, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HDFS_slave"}, {"id"=>2147505230, "nodes"=>[{"node_name"=>"HADOOP-NN-JT", "node_id"=>2147505224, "components"=>["hdp", "stdlib", "hdp-hadoop::jobtracker", "hdp-hadoop::namenode"]}, {"node_name"=>"HADOOP-slave01", "node_id"=>2147505217, "components"=>["hdp-hadoop::datanode", "hdp", "hdp-hadoop::namenode-conn", "stdlib", "hdp-hadoop::tasktracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HADOOP"}, {"id"=>2147505240, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147505233, "components"=>["hdp-hadoop::datanode", "hdp", "hdp-hadoop::namenode-conn", "stdlib", "hdp-hadoop::tasktracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HADOOP_slave"}, {"id"=>2147505617, "nodes"=>[{"node_name"=>"HBASE-ZK", "node_id"=>2147505612, "components"=>["hdp", "stdlib", "hdp-zookeeper"]}, {"node_name"=>"HBASE-slave01", "node_id"=>2147505590, "components"=>["hdp-hadoop::namenode-conn", "hdp-hbase::zk-conn", "hdp-hadoop::datanode", "hdp", "stdlib", "hdp-hbase::regionserver", "hdp-hadoop::tasktracker", "hdp-hbase::master-conn"]}, {"node_name"=>"HBASE-NN-JT-HM", "node_id"=>2147505602, "components"=>["hdp-hbase::master", "hdp-hbase::zk-conn", "hdp", "stdlib", "hdp-hadoop::jobtracker", "hdp-hadoop::namenode"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HBASE"}, {"id"=>2147505637, "nodes"=>[{"node_name"=>"HBASE-slave01", "node_id"=>2147505625, "components"=>["hdp-hadoop::namenode-conn", "hdp-hbase::zk-conn", "hdp-hadoop::datanode", "hdp", "stdlib", "hdp-hbase::regionserver", "hdp-hadoop::tasktracker", "hdp-hbase::master-conn"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HBASE_slave"}, {"id"=>2147505200, "nodes"=>[{"node_name"=>"HDFS-slave01", "node_id"=>2147505194, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "stdlib"]}, {"node_name"=>"HDFS-NN", "node_id"=>2147505189, "components"=>["hdp", "stdlib", "hdp-hadoop::namenode"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HDFS"}, {"id"=>2147505356, "nodes"=>[{"node_name"=>"HDFS-slave01", "node_id"=>2147505350, "components"=>["hdp-hadoop::namenode-conn", "hdp-hadoop::datanode", "hdp", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HDFS_slave"}, {"id"=>2147508641, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147508634, "components"=>["hdp-hadoop::tasktracker", "hdp-hadoop::datanode", "hdp-hadoop::namenode-conn", "hdp", "stdlib"]}, {"node_name"=>"HADOOP-NN-JT", "node_id"=>2147508627, "components"=>["hdp-hadoop::smoketest_hdfs", "hdp-hadoop::namenode", "hdp", "stdlib", "hdp-hadoop::jobtracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::centos_hadoop_smoke"}, {"id"=>2147508533, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147508519, "components"=>["hdp-hadoop::tasktracker", "hdp-hadoop::datanode", "hdp-hadoop::namenode-conn", "hdp", "stdlib"]}, {"node_name"=>"HADOOP-NN-JT", "node_id"=>2147508526, "components"=>["hdp-hadoop::jobtracker", "hdp-hadoop::smoketest_hdfs", "hdp-hadoop::namenode", "hdp", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::hadoop_smoke"}, {"id"=>2147508831, "nodes"=>[{"node_name"=>"HBASE-slave01", "node_id"=>2147508819, "components"=>["hdp-hbase::master-conn", "hdp-hadoop::datanode", "hdp-hbase::zk-conn", "hdp-hadoop::tasktracker", "hdp", "hdp-hadoop::namenode-conn", "stdlib", "hdp-hbase::regionserver"]}, {"node_name"=>"HBASE-NN-JT-HM", "node_id"=>2147508808, "components"=>["hdp-hadoop::namenode", "hdp-hadoop::smoketest_hdfs", "hdp-hbase::master", "hdp-hbase::zk-conn", "hdp", "stdlib", "hdp-hadoop::jobtracker"]}, {"node_name"=>"HBASE-ZK", "node_id"=>2147508803, "components"=>["hdp-zookeeper", "hdp", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::hbase_centos_smoke"}, {"id"=>2147493292, "nodes"=>[{"node_name"=>"master", "node_id"=>2147493278, "components"=>["hdp-hadoop::namenode", "hdp-hbase::master", "hdp", "stdlib", "hdp-hadoop::jobtracker", "hdp-hbase::zk-conn"]}, {"node_name"=>"slave", "node_id"=>2147493259, "components"=>["stdlib", "hdp-hadoop::namenode-conn", "hdp-hbase::regionserver", "hdp-hbase::master-conn", "hdp-hadoop::tasktracker", "hdp-hadoop::datanode", "hdp-zookeeper", "hdp"]}, {"node_name"=>"client", "node_id"=>2147493271, "components"=>["hdp-hadoop::namenode-conn", "hdp-hadoop::client", "hdp-hadoop::smoketest_hdfs", "hdp", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::smoke"}]
12
+ @render_view = "table_print"
13
+ @render_data_type = "ASSEMBLY_TEMPLATE"
14
+
15
+ context "#render" do
16
+ @command_class = DTK::Client::Assembly
17
+ data = [{"id"=>2147507731, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147507717, "components"=>["hdp-hadoop::smoketest_hdfs", "hdp-hadoop::datanode", "hdp-hadoop::tasktracker", "hdp", "hdp-hadoop::namenode-conn", "stdlib"]}, {"node_name"=>"HADOOP-NN-JT", "node_id"=>2147507725, "components"=>["hdp-hadoop::namenode", "hdp", "stdlib", "hdp-hadoop::jobtracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-C5-HADOOP"}, {"id"=>2147506303, "nodes"=>[{"node_name"=>"HADOOP-NN-JT", "node_id"=>2147506290, "components"=>["hdp", "stdlib", "hdp-hadoop::jobtracker", "hdp-hadoop::namenode"]}, {"node_name"=>"HADOOP-slave01", "node_id"=>2147506296, "components"=>["hdp-hadoop::namenode-conn", "hdp-hadoop::datanode", "hdp", "stdlib", "hdp-hadoop::tasktracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HADOOP"}, {"id"=>2147506141, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147506134, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "stdlib", "hdp-hadoop::tasktracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HADOOP_slave"}, {"id"=>2147505988, "nodes"=>[{"node_name"=>"HBASE-slave01", "node_id"=>2147505961, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "hdp-hbase::zk-conn", "stdlib", "hdp-hbase::regionserver", "hdp-hadoop::tasktracker", "hdp-hbase::master-conn"]}, {"node_name"=>"HBASE-NN-JT-HM", "node_id"=>2147505978, "components"=>["hdp-hbase::master", "hdp", "hdp-hbase::zk-conn", "stdlib", "hdp-hadoop::jobtracker", "hdp-hadoop::namenode"]}, {"node_name"=>"HBASE-ZK", "node_id"=>2147505973, "components"=>["hdp", "stdlib", "hdp-zookeeper"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HBASE"}, {"id"=>2147506008, "nodes"=>[{"node_name"=>"HBASE-slave01", "node_id"=>2147505996, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "hdp-hbase::zk-conn", "stdlib", "hdp-hbase::regionserver", "hdp-hadoop::tasktracker", "hdp-hbase::master-conn"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HBASE_slave"}, {"id"=>2147505734, "nodes"=>[{"node_name"=>"HDFS-slave01", "node_id"=>2147505728, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "stdlib"]}, {"node_name"=>"HDFS-NN", "node_id"=>2147505723, "components"=>["hdp", "stdlib", "hdp-hadoop::namenode"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HDFS"}, {"id"=>2147505743, "nodes"=>[{"node_name"=>"HDFS-slave01", "node_id"=>2147505737, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-CS-HDFS_slave"}, {"id"=>2147505230, "nodes"=>[{"node_name"=>"HADOOP-NN-JT", "node_id"=>2147505224, "components"=>["hdp", "stdlib", "hdp-hadoop::jobtracker", "hdp-hadoop::namenode"]}, {"node_name"=>"HADOOP-slave01", "node_id"=>2147505217, "components"=>["hdp-hadoop::datanode", "hdp", "hdp-hadoop::namenode-conn", "stdlib", "hdp-hadoop::tasktracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HADOOP"}, {"id"=>2147505240, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147505233, "components"=>["hdp-hadoop::datanode", "hdp", "hdp-hadoop::namenode-conn", "stdlib", "hdp-hadoop::tasktracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HADOOP_slave"}, {"id"=>2147505617, "nodes"=>[{"node_name"=>"HBASE-ZK", "node_id"=>2147505612, "components"=>["hdp", "stdlib", "hdp-zookeeper"]}, {"node_name"=>"HBASE-slave01", "node_id"=>2147505590, "components"=>["hdp-hadoop::namenode-conn", "hdp-hbase::zk-conn", "hdp-hadoop::datanode", "hdp", "stdlib", "hdp-hbase::regionserver", "hdp-hadoop::tasktracker", "hdp-hbase::master-conn"]}, {"node_name"=>"HBASE-NN-JT-HM", "node_id"=>2147505602, "components"=>["hdp-hbase::master", "hdp-hbase::zk-conn", "hdp", "stdlib", "hdp-hadoop::jobtracker", "hdp-hadoop::namenode"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HBASE"}, {"id"=>2147505637, "nodes"=>[{"node_name"=>"HBASE-slave01", "node_id"=>2147505625, "components"=>["hdp-hadoop::namenode-conn", "hdp-hbase::zk-conn", "hdp-hadoop::datanode", "hdp", "stdlib", "hdp-hbase::regionserver", "hdp-hadoop::tasktracker", "hdp-hbase::master-conn"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HBASE_slave"}, {"id"=>2147505200, "nodes"=>[{"node_name"=>"HDFS-slave01", "node_id"=>2147505194, "components"=>["hdp-hadoop::namenode-conn", "hdp", "hdp-hadoop::datanode", "stdlib"]}, {"node_name"=>"HDFS-NN", "node_id"=>2147505189, "components"=>["hdp", "stdlib", "hdp-hadoop::namenode"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HDFS"}, {"id"=>2147505356, "nodes"=>[{"node_name"=>"HDFS-slave01", "node_id"=>2147505350, "components"=>["hdp-hadoop::namenode-conn", "hdp-hadoop::datanode", "hdp", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::R8-RH-HDFS_slave"}, {"id"=>2147508641, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147508634, "components"=>["hdp-hadoop::tasktracker", "hdp-hadoop::datanode", "hdp-hadoop::namenode-conn", "hdp", "stdlib"]}, {"node_name"=>"HADOOP-NN-JT", "node_id"=>2147508627, "components"=>["hdp-hadoop::smoketest_hdfs", "hdp-hadoop::namenode", "hdp", "stdlib", "hdp-hadoop::jobtracker"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::centos_hadoop_smoke"}, {"id"=>2147508533, "nodes"=>[{"node_name"=>"HADOOP-slave01", "node_id"=>2147508519, "components"=>["hdp-hadoop::tasktracker", "hdp-hadoop::datanode", "hdp-hadoop::namenode-conn", "hdp", "stdlib"]}, {"node_name"=>"HADOOP-NN-JT", "node_id"=>2147508526, "components"=>["hdp-hadoop::jobtracker", "hdp-hadoop::smoketest_hdfs", "hdp-hadoop::namenode", "hdp", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::hadoop_smoke"}, {"id"=>2147508831, "nodes"=>[{"node_name"=>"HBASE-slave01", "node_id"=>2147508819, "components"=>["hdp-hbase::master-conn", "hdp-hadoop::datanode", "hdp-hbase::zk-conn", "hdp-hadoop::tasktracker", "hdp", "hdp-hadoop::namenode-conn", "stdlib", "hdp-hbase::regionserver"]}, {"node_name"=>"HBASE-NN-JT-HM", "node_id"=>2147508808, "components"=>["hdp-hadoop::namenode", "hdp-hadoop::smoketest_hdfs", "hdp-hbase::master", "hdp-hbase::zk-conn", "hdp", "stdlib", "hdp-hadoop::jobtracker"]}, {"node_name"=>"HBASE-ZK", "node_id"=>2147508803, "components"=>["hdp-zookeeper", "hdp", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::hbase_centos_smoke"}, {"id"=>2147493292, "nodes"=>[{"node_name"=>"master", "node_id"=>2147493278, "components"=>["hdp-hadoop::namenode", "hdp-hbase::master", "hdp", "stdlib", "hdp-hadoop::jobtracker", "hdp-hbase::zk-conn"]}, {"node_name"=>"slave", "node_id"=>2147493259, "components"=>["stdlib", "hdp-hadoop::namenode-conn", "hdp-hbase::regionserver", "hdp-hbase::master-conn", "hdp-hadoop::tasktracker", "hdp-hadoop::datanode", "hdp-zookeeper", "hdp"]}, {"node_name"=>"client", "node_id"=>2147493271, "components"=>["hdp-hadoop::namenode-conn", "hdp-hadoop::client", "hdp-hadoop::smoketest_hdfs", "hdp", "stdlib"]}], "execution_status"=>nil, "module_branch_id"=>2147485695, "display_name"=>"abh::smoke"}]
18
+ @render_view = "table_print"
19
+ @render_data_type = "ASSEMBLY_TEMPLATE"
20
+ @assembly_name = "assembly_name"
21
+ @nodes = "nodes"
22
+ @id = "id"
23
+ @components = "components"
24
+ @sample = custom_assembly_template_metadata = {
25
+ "order" => [
26
+ @assembly_name,
27
+ @nodes,
28
+ @id,
29
+ @components
30
+ ],
31
+ "mapping" => {
32
+ "components" => "nodes.first['components'].join(', ')",
33
+ "nodes" => "nodes.size",
34
+ "assembly_name" => "display_name",
35
+ "id" => "dtk_id"
36
+ }
37
+ }
38
+
39
+ response = DTK::Client::DtkResponse.new(@sample, @render_data_type, nil, true)
40
+
41
+ it "should contain columns #{@assembly_name}, #{@nodes}, #{@id}, #{@components} " do
42
+ response.inspect.should include("assembly_name")
43
+ response.inspect.should include("#{@nodes}")
44
+ response.inspect.should include("#{@id}")
45
+ response.inspect.should include("#{@components}")
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,57 @@
1
+ require 'lib/spec_thor'
2
+ require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
+ require File.expand_path('../lib/commands/thor/target', File.dirname(__FILE__))
4
+
5
+ include SpecThor
6
+
7
+ describe DTK::Client::Target do
8
+ $about = ['nodes', 'assemblies']
9
+ $target_id = nil
10
+ $provider_id = nil
11
+
12
+ #list all providers and take one provider_id
13
+ context '#list-providers' do
14
+ $provider_list = run_from_dtk_shell('provider list')
15
+
16
+ it "should have provider listing" do
17
+ $provider_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
18
+ end
19
+
20
+ unless $provider_list.nil?
21
+ unless $provider_list['data'].nil?
22
+ $provider_id = $provider_list['data'].first['id'] unless $provider_list['data'].empty?
23
+ end
24
+ end
25
+ end
26
+
27
+ #list all targets for particular provider and take one target_id
28
+ context '#list-targets' do
29
+ unless $provider_id.nil?
30
+ $target_list = run_from_dtk_shell("provider #{$provider_id} list-targets")
31
+
32
+ it "should have target listing" do
33
+ $target_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
34
+ end
35
+
36
+ unless $target_list.nil?
37
+ unless $target_list['data'].nil?
38
+ $target_id = $target_list['data'].first['id'] unless $target_list['data'].empty?
39
+ end
40
+ end
41
+ end
42
+ end
43
+
44
+ #list nodes and assemblies for particular target_id
45
+ context "#list/command" do
46
+ unless $target_id.nil?
47
+ $about.each do |type|
48
+ output = run_from_dtk_shell("provider #{$provider_id} target #{$target_id} list-#{type}")
49
+
50
+ it "should list all #{type} for target with id #{$target_id}" do
51
+ output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ end
data/spec/task_spec.rb ADDED
@@ -0,0 +1,28 @@
1
+ require 'lib/spec_thor'
2
+ require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
+ require File.expand_path('../lib/commands/thor/task', File.dirname(__FILE__))
4
+
5
+ include SpecThor
6
+
7
+ #Currently disabled because this context does not exist anymore
8
+ =begin
9
+ describe DTK::Client::Task do
10
+ $task_id = nil
11
+
12
+ #list all assemblies and take one assembly_id
13
+ context '#list' do
14
+ $task_list = run_from_dtk_shell('task list')
15
+
16
+ it "should have assembly listing" do
17
+ $task_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
18
+ end
19
+
20
+ unless $task_list.nil?
21
+ unless $task_list['data'].nil?
22
+ $task_id = $task_list['data'].first['id'] unless $task_list['data'].empty?
23
+ end
24
+ end
25
+ end
26
+
27
+ end
28
+ =end
@@ -0,0 +1,12 @@
1
+ module DTK::Client::ViewMeta::Assembly
2
+ AugmentedSimpleList = {
3
+ :attribute_def => {
4
+ :keys => [:attribute_name,:value,:override],
5
+ :fn => lambda() do |attribute_name,value,override|
6
+ augment = (override ? " [override]" : "")
7
+ "#{attribute_name} = #{value}#{augment}"
8
+ end
9
+ }
10
+ }
11
+ end
12
+
@@ -0,0 +1,12 @@
1
+ module DTK::Client::ViewMeta::AssemblyTemplate
2
+ AugmentedSimpleList = {
3
+ :attribute_def => {
4
+ :keys => [:attribute_name,:value,:override],
5
+ :fn => lambda() do |attribute_name,value,override|
6
+ augment = (override ? " [override]" : "")
7
+ "#{attribute_name} = #{value}#{augment}"
8
+ end
9
+ }
10
+ }
11
+ end
12
+
@@ -0,0 +1,12 @@
1
+ module DTK::Client::ViewMeta::ListTask
2
+ AugmentedSimpleList = {
3
+ :attribute_def => {
4
+ :keys => [:attribute_name,:value,:override],
5
+ :fn => lambda() do |attribute_name,value,override|
6
+ augment = (override ? " [override]" : "")
7
+ "#{attribute_name} = #{value}#{augment}"
8
+ end
9
+ }
10
+ }
11
+ end
12
+
metadata ADDED
@@ -0,0 +1,351 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dtk-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.6.1
5
+ platform: ruby
6
+ authors:
7
+ - Rich PELAVIN
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-02-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.2.4
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.2.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: json_pure
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.7.4
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.7.4
41
+ - !ruby/object:Gem::Dependency
42
+ name: diff-lcs
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.1.3
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.1.3
55
+ - !ruby/object:Gem::Dependency
56
+ name: mime-types
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.25'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.25'
69
+ - !ruby/object:Gem::Dependency
70
+ name: hirb
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 0.7.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 0.7.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: thor
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 0.15.4
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 0.15.4
97
+ - !ruby/object:Gem::Dependency
98
+ name: erubis
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 2.7.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: 2.7.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: dtk-common-core
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 0.5.4
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 0.5.4
125
+ - !ruby/object:Gem::Dependency
126
+ name: git
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: 1.2.6
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ version: 1.2.6
139
+ - !ruby/object:Gem::Dependency
140
+ name: colorize
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ~>
144
+ - !ruby/object:Gem::Version
145
+ version: 0.5.8
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: 0.5.8
153
+ - !ruby/object:Gem::Dependency
154
+ name: highline
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 1.6.16
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 1.6.16
167
+ - !ruby/object:Gem::Dependency
168
+ name: awesome_print
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - '='
172
+ - !ruby/object:Gem::Version
173
+ version: 1.1.0
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '='
179
+ - !ruby/object:Gem::Version
180
+ version: 1.1.0
181
+ description: Dtk client is CLI tool used for communication with Reactor8.
182
+ email:
183
+ - rich@reactor8.com
184
+ executables:
185
+ - dtk
186
+ - dtk-shell
187
+ extensions: []
188
+ extra_rdoc_files: []
189
+ files:
190
+ - README.md
191
+ - Gemfile
192
+ - Gemfile_dev
193
+ - dtk-client.gemspec
194
+ - bin/dtk
195
+ - bin/dtk-shell
196
+ - lib/auxiliary.rb
197
+ - lib/bundler_monkey_patch.rb
198
+ - lib/client.rb
199
+ - lib/command_helper.rb
200
+ - lib/command_helpers/git_repo.rb
201
+ - lib/command_helpers/jenkins_client/config_xml.rb
202
+ - lib/command_helpers/jenkins_client.rb
203
+ - lib/command_helpers/service_importer.rb
204
+ - lib/command_helpers/service_link.rb
205
+ - lib/command_helpers/ssh_processing.rb
206
+ - lib/commands/common/thor/assembly_workspace.rb
207
+ - lib/commands/common/thor/clone.rb
208
+ - lib/commands/common/thor/common.rb
209
+ - lib/commands/common/thor/edit.rb
210
+ - lib/commands/common/thor/list_diffs.rb
211
+ - lib/commands/common/thor/pull_clone_changes.rb
212
+ - lib/commands/common/thor/pull_from_remote.rb
213
+ - lib/commands/common/thor/purge_clone.rb
214
+ - lib/commands/common/thor/push_clone_changes.rb
215
+ - lib/commands/common/thor/push_to_remote.rb
216
+ - lib/commands/common/thor/reparse.rb
217
+ - lib/commands/common/thor/set_required_params.rb
218
+ - lib/commands/common/thor/task_status.rb
219
+ - lib/commands/thor/account.rb
220
+ - lib/commands/thor/assembly.rb
221
+ - lib/commands/thor/attribute.rb
222
+ - lib/commands/thor/component.rb
223
+ - lib/commands/thor/component_module.rb
224
+ - lib/commands/thor/component_template.rb
225
+ - lib/commands/thor/dependency.rb
226
+ - lib/commands/thor/developer.rb
227
+ - lib/commands/thor/dtk.rb
228
+ - lib/commands/thor/library.rb
229
+ - lib/commands/thor/node.rb
230
+ - lib/commands/thor/node_group.rb
231
+ - lib/commands/thor/node_template.rb
232
+ - lib/commands/thor/project.rb
233
+ - lib/commands/thor/provider.rb
234
+ - lib/commands/thor/repo.rb
235
+ - lib/commands/thor/service.rb
236
+ - lib/commands/thor/service_module.rb
237
+ - lib/commands/thor/state_change.rb
238
+ - lib/commands/thor/target.rb
239
+ - lib/commands/thor/task.rb
240
+ - lib/commands/thor/utils.rb
241
+ - lib/commands/thor/workspace.rb
242
+ - lib/commands.rb
243
+ - lib/config/cacert.pem
244
+ - lib/config/client.conf.header
245
+ - lib/config/configuration.rb
246
+ - lib/config/default.conf
247
+ - lib/config/disk_cacher.rb
248
+ - lib/configurator.rb
249
+ - lib/context_router.rb
250
+ - lib/core.rb
251
+ - lib/domain/git_adapter.rb
252
+ - lib/domain/response.rb
253
+ - lib/dtk-client/version.rb
254
+ - lib/dtk_constants.rb
255
+ - lib/dtk_logger.rb
256
+ - lib/error.rb
257
+ - lib/git-logs/git.log
258
+ - lib/parser/adapters/option_parser.rb
259
+ - lib/parser/adapters/thor/common_option_defs.rb
260
+ - lib/parser/adapters/thor.rb
261
+ - lib/require_first.rb
262
+ - lib/search_hash.rb
263
+ - lib/shell/context.rb
264
+ - lib/shell/context_aux.rb
265
+ - lib/shell/domain.rb
266
+ - lib/shell/header_shell.rb
267
+ - lib/shell/help_monkey_patch.rb
268
+ - lib/shell/interactive_wizard.rb
269
+ - lib/shell/parse_monkey_patch.rb
270
+ - lib/shell/status_monitor.rb
271
+ - lib/shell.rb
272
+ - lib/util/console.rb
273
+ - lib/util/dtk_puppet.rb
274
+ - lib/util/os_util.rb
275
+ - lib/view_processor/augmented_simple_list.rb
276
+ - lib/view_processor/hash_pretty_print.rb
277
+ - lib/view_processor/simple_list.rb
278
+ - lib/view_processor/table_print.rb
279
+ - lib/view_processor.rb
280
+ - puppet/manifests/init.pp
281
+ - puppet/manifests/params.pp
282
+ - puppet/r8meta.puppet.yml
283
+ - puppet/templates/bash_profile.erb
284
+ - puppet/templates/client.conf.erb
285
+ - puppet/templates/dtkclient.erb
286
+ - spec/assembly_spec.rb
287
+ - spec/assembly_template_spec.rb
288
+ - spec/component_template_spec.rb
289
+ - spec/dependency_spec.rb
290
+ - spec/dtk_shell_spec.rb
291
+ - spec/dtk_spec.rb
292
+ - spec/lib/spec_helper.rb
293
+ - spec/lib/spec_thor.rb
294
+ - spec/module_spec.rb
295
+ - spec/node_spec.rb
296
+ - spec/node_template_spec.rb
297
+ - spec/project_spec.rb
298
+ - spec/repo_spec.rb
299
+ - spec/response_spec.rb
300
+ - spec/service_spec.rb
301
+ - spec/state_change_spec.rb
302
+ - spec/table_print_spec.rb
303
+ - spec/target_spec.rb
304
+ - spec/task_spec.rb
305
+ - views/assembly/augmented_simple_list.rb
306
+ - views/assembly_template/augmented_simple_list.rb
307
+ - views/list_task/augmented_simple_list.rb
308
+ homepage: https://github.com/rich-reactor8/dtk-client
309
+ licenses:
310
+ - GPL-3.0
311
+ metadata: {}
312
+ post_install_message:
313
+ rdoc_options: []
314
+ require_paths:
315
+ - lib
316
+ required_ruby_version: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ! '>='
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ required_rubygems_version: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - ! '>='
324
+ - !ruby/object:Gem::Version
325
+ version: '0'
326
+ requirements: []
327
+ rubyforge_project:
328
+ rubygems_version: 2.1.9
329
+ signing_key:
330
+ specification_version: 4
331
+ summary: DTK CLI client for DTK server interaction.
332
+ test_files:
333
+ - spec/assembly_spec.rb
334
+ - spec/assembly_template_spec.rb
335
+ - spec/component_template_spec.rb
336
+ - spec/dependency_spec.rb
337
+ - spec/dtk_shell_spec.rb
338
+ - spec/dtk_spec.rb
339
+ - spec/lib/spec_helper.rb
340
+ - spec/lib/spec_thor.rb
341
+ - spec/module_spec.rb
342
+ - spec/node_spec.rb
343
+ - spec/node_template_spec.rb
344
+ - spec/project_spec.rb
345
+ - spec/repo_spec.rb
346
+ - spec/response_spec.rb
347
+ - spec/service_spec.rb
348
+ - spec/state_change_spec.rb
349
+ - spec/table_print_spec.rb
350
+ - spec/target_spec.rb
351
+ - spec/task_spec.rb