dtk-client 0.11.6 → 0.11.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: '09840901f95d94e261d6eb27edb5ca81fa652426'
4
- data.tar.gz: a45f1a592a98e7eda1c43394d87f5b150b3c660e
3
+ metadata.gz: 41bddc4ef8eb1c096ffee27ace98b4c5e1d17f4e
4
+ data.tar.gz: ac98dfb1857f1b916ed182072bff7278d7669901
5
5
  SHA512:
6
- metadata.gz: bfdaf7faafa9ea7bf10f58c82234387b2dcf941f1a0da8595cae33b533914b8d35f1064ef1fe3706bce7c45c9466444ff528cae7cbf552f630826cae837a5c0e
7
- data.tar.gz: a1ecb45fe85ae011ffa98c7fd4b3450503a02a4845bb6a1690ebf78d1af4d6e85c2f244efbd2b68c59b49bf896cba31e9e766b48e63d67ed78ed9568bf4612f7
6
+ metadata.gz: 3b379952dd59a5bb7d87ed06e5be921b23d7e0ae2e706eb5c559d4ea440ab425739524d025a49f55b83279886d2ac695829afe57aae2db169cb34cf7074d6caa
7
+ data.tar.gz: a0ce708ca651d169175fabf00be1d4de5a1d31b81aeed5b45f4309797fff3852b47f09420eebe94f9b1749ae40a62d188b07446d0162ffe6c149dbace15cb03b
data/.gitignore CHANGED
@@ -8,4 +8,5 @@ Gemfile.lock
8
8
  .vscode
9
9
  doc
10
10
  .yardoc
11
- .solargraph.yml
11
+ .solargraph.yml
12
+ dtk-dsl
@@ -46,9 +46,10 @@ module DTK::Client
46
46
  remote_module_info = nil
47
47
 
48
48
  unless version
49
- remote_module_info = get_remote_module_info(module_ref)
50
- version = remote_module_info.required(:version)
51
- module_ref.version = version
49
+ if remote_module_info = get_remote_module_info(module_ref)
50
+ version = remote_module_info.required(:version)
51
+ module_ref.version = version
52
+ end
52
53
  end
53
54
 
54
55
  if Operation::Module.module_version_exists?(module_ref, :type => :common_module)
@@ -86,6 +87,14 @@ module DTK::Client
86
87
  :module_ref => module_ref,
87
88
  :target_directory => Operation::ClientModuleDir.create_module_dir_from_path(directory_path || OsUtil.current_dir)
88
89
  }
90
+
91
+ unless version
92
+ if server_version = get_last_version_from_server(module_ref)
93
+ version = server_version
94
+ module_ref.version = version
95
+ end
96
+ end
97
+
89
98
  repo_dir_info = Operation::Module.clone_module(arg).data
90
99
  repo_dir = repo_dir_info[:target_repo_dir]
91
100
 
@@ -121,8 +130,28 @@ module DTK::Client
121
130
  :rsa_pub_key => SSHUtil.rsa_pub_key_content,
122
131
  :version? => nil
123
132
  )
133
+ begin
134
+ Operation::Module.rest_get("#{Operation::Module::BaseRoute}/remote_module_info", query_string_hash)
135
+ rescue Error::ServerNotOkResponse => e
136
+ # do not raise if version not specified and module does not exist on repoman but exist on server; clone module from server instead
137
+ return
138
+ end
139
+ end
124
140
 
125
- Operation::Module.rest_get("#{Operation::Module::BaseRoute}/remote_module_info", query_string_hash)
141
+ def get_last_version_from_server(module_ref)
142
+ query_string_hash = QueryStringHash.new(
143
+ :module_name => module_ref.module_name,
144
+ :namespace => module_ref.namespace
145
+ )
146
+ response = Operation::Module.rest_get("#{Operation::Module::BaseRoute}/versions", query_string_hash)
147
+ versions = response.required(:versions)
148
+
149
+ if versions.size > 1
150
+ versions.delete('master')
151
+ versions.sort.last.strip
152
+ else
153
+ versions.first.strip
154
+ end
126
155
  end
127
156
  end
128
157
  end
@@ -23,14 +23,18 @@ module DTK::Client
23
23
  c.arg Token::Arg.action_params, :optional => true
24
24
  command_body c, :exec, 'Execute action asynchronously' do |sc|
25
25
  sc.flag Token.directory_path, :desc => 'Absolute or relative path to service instance directory containing updates to pull; not need if in the service instance directory'
26
+ sc.flag Token.attempts, :desc => "Number of attempts"
27
+ sc.flag Token.sleep, :desc => "Number of sleep in seconds"
28
+
26
29
  sc.switch Token.breakpoint
27
30
  sc.action do |_global_options, options, args|
28
31
 
29
- service_instance = service_instance_in_options_or_context(options)
30
-
31
- action = args[0]
32
- action_params = args[1]
32
+ service_instance = service_instance_in_options_or_context(options)
33
+ action = args[0]
34
+ action_params = args[1]
33
35
  directory_path = options[:d] || @base_dsl_file_obj.parent_dir
36
+ attempts = options['attempts']
37
+ sleep = options['sleep']
34
38
 
35
39
  args = {
36
40
  :service_instance => service_instance,
@@ -38,7 +42,9 @@ module DTK::Client
38
42
  :action_params => action_params,
39
43
  :breakpoint => options['breakpoint'],
40
44
  :directory_path => directory_path,
41
- :command => 'exec'
45
+ :command => 'exec',
46
+ :attempts => attempts,
47
+ :sleep => sleep
42
48
  }
43
49
 
44
50
  response = Operation::Service.exec(args)
@@ -23,6 +23,8 @@ module DTK::Client
23
23
  c.arg Token::Arg.action_params, :optional => true
24
24
  command_body c, 'exec-sync', 'Execute action synchronously' do |sc|
25
25
  sc.flag Token.directory_path, :desc => 'Absolute or relative path to service instance directory containing updates to pull; not need if in the service instance directory'
26
+ sc.flag Token.attempts, :desc => "Number of attempts"
27
+ sc.flag Token.sleep, :desc => "Number of sleep in seconds"
26
28
  sc.switch Token.breakpoint
27
29
  sc.action do |_global_options, options, args|
28
30
  service_instance = service_instance_in_options_or_context(options)
@@ -30,6 +32,8 @@ module DTK::Client
30
32
  action = args[0]
31
33
  action_params = args[1]
32
34
  directory_path = options[:d] || @base_dsl_file_obj.parent_dir
35
+ attempts = options['attempts']
36
+ sleep = options['sleep']
33
37
 
34
38
  args = {
35
39
  :service_instance => service_instance,
@@ -37,7 +41,9 @@ module DTK::Client
37
41
  :action_params => action_params,
38
42
  :breakpoint => options['breakpoint'],
39
43
  :directory_path => directory_path,
40
- :command => 'exec-sync'
44
+ :command => 'exec-sync',
45
+ :attempts => attempts,
46
+ :sleep => sleep
41
47
  }
42
48
  response = Operation::Service.exec(args)
43
49
 
@@ -50,6 +50,8 @@ module DTK::Client
50
50
  :uninstall_name => Flag.new(:name, 'NAME', 'Module name to uninstall'),
51
51
  :link_name => Flag.new([:l, :link_name], 'link-name', 'Specify link name'),
52
52
  :format => Flag.new(:format, 'FORMAT', 'Choose in which format to display data (ex. TABLE, YAML)'),
53
+ :sleep => Flag.new(:sleep, '', ''),
54
+ :attempts => Flag.new(:attempts, '', ''),
53
55
 
54
56
  # switches
55
57
  # Switch constructor args order: key, desc, opts={}
data/lib/cli/version.rb CHANGED
@@ -18,7 +18,7 @@
18
18
  module DTK
19
19
  module Client
20
20
  module CLI
21
- VERSION="0.11.6"
21
+ VERSION="0.11.7"
22
22
  end
23
23
  end
24
24
  end
@@ -25,7 +25,8 @@ module DTK::Client
25
25
  action_params = args[:action_params]
26
26
  directory_path = args[:directory_path]
27
27
  breakpoint = args[:breakpoint]
28
-
28
+ attempts = args[:attempts] || ""
29
+ sleep = args[:sleep] || ""
29
30
  # parse params and return format { 'p_name1' => 'p_value1' , 'p_name2' => 'p_value2' }
30
31
  task_params = parse_params?(action_params)||{}
31
32
 
@@ -52,6 +53,7 @@ module DTK::Client
52
53
  :task_params? => task_params
53
54
  )
54
55
  post_body.merge!(:breakpoint => breakpoint) if breakpoint
56
+ post_body.merge!(:attempts => attempts, :sleep => sleep) if attempts || sleep
55
57
  encoded_action = URI.encode_www_form_component("#{action}")
56
58
  response = rest_post("#{BaseRoute}/#{service_instance}/#{encoded_action}", post_body)
57
59
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtk-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.6
4
+ version: 0.11.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reactor8
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-05 00:00:00.000000000 Z
11
+ date: 2018-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dtk-common-core
@@ -390,7 +390,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
390
390
  version: '0'
391
391
  requirements: []
392
392
  rubyforge_project:
393
- rubygems_version: 2.6.11
393
+ rubygems_version: 2.4.1
394
394
  signing_key:
395
395
  specification_version: 4
396
396
  summary: DTK CLI client for DTK server interaction.