Class: VMC::Cli::Command::Knifeapps

Inherits:
Apps
  • Object
show all
Includes:
KNIFE::Cli
Defined in:
lib/vmc_knife/commands/knife_cmds.rb

Constant Summary

Constants included from KNIFE::Cli

KNIFE::Cli::VERSION

Instance Method Summary collapse

Methods included from KNIFE::Cli

#load_manifest

Instance Method Details

#applications_version(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



337
338
339
340
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 337

def applications_version(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:version,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true})
end

#as_regexp(arg, strict = false) ⇒ Object



365
366
367
368
369
370
371
372
373
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 365

def as_regexp(arg, strict=false)
  if arg != nil && arg.kind_of?(String) && !arg.strip.empty?
    if strict && Regexp.quote(arg) == arg
      Regexp.new('^'+arg+'$')
    else
      Regexp.new(arg)
    end
  end
end

#configure(recipes_regexp = nil, app_names_regexp = nil, service_names_regexp = nil, manifest_file_path = nil, opts = nil) ⇒ Object

Configure the applications according to their manifest. The parameters are related to selecting a subset of the applications to configure. nil means all apps for all recipes found in the manifest are configured.

Parameters:

  • recipes

    The list of recipes: nil: search the apps in all recipes

  • app_role_names

    The names of the apps in each recipe; nil: configure all apps found.



204
205
206
207
208
209
210
211
212
213
214
215
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 204

def configure(recipes_regexp=nil,app_names_regexp=nil,service_names_regexp=nil,manifest_file_path=nil,opts=nil)
  man = load_manifest(manifest_file_path)
  recipes_regexp = as_regexp(recipes_regexp)
  app_names_regexp = as_regexp(app_names_regexp)
  service_names_regexp = as_regexp(service_names_regexp)
  configurer = VMC::KNIFE::RecipesConfigurationApplier.new(man,client,recipes_regexp,app_names_regexp,service_names_regexp,opts)
  if VMC::Cli::Config.trace
    display "Pending updates"
    display JSON.pretty_generate(configurer.updates_pending)
  end
  configurer.execute
end

#configure_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



187
188
189
190
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 187

def configure_applications(app_names_regexp=nil,manifest_file_path=nil)
  configure(nil,nil,app_names_regexp,manifest_file_path,
                    {:apps_only=>true})
end

#configure_recipes(recipe_names_regexp = nil, manifest_file_path = nil) ⇒ Object



195
196
197
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 195

def configure_recipes(recipe_names_regexp=nil,manifest_file_path=nil)
  configure(recipe_names_regexp,nil,nil,manifest_file_path)
end

#configure_services(services_names_regexp = nil, manifest_file_path = nil) ⇒ Object



191
192
193
194
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 191

def configure_services(services_names_regexp=nil,manifest_file_path=nil)
  configure(nil,nil,services_names_regexp,manifest_file_path,
                    {:data_only=>true})
end

#data_apply_privileges(data_names_regexp = nil, manifest_file_path = nil) ⇒ Object



295
296
297
298
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 295

def data_apply_privileges(data_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:apply_privileges,nil,nil,data_names_regexp,manifest_file_path,
                    {:data_only=>true})
end

#data_credentials(data_names_regexp = nil, manifest_file_path = nil) ⇒ Object



291
292
293
294
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 291

def data_credentials(data_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:credentials,nil,nil,data_names_regexp,manifest_file_path,
                    {:data_only=>true})
end

#data_drop(data_names_regexp = nil, collection_or_table_names = nil, manifest_file_path = nil) ⇒ Object



307
308
309
310
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 307

def data_drop(data_names_regexp=nil,collection_or_table_names=nil,manifest_file_path=nil)
  recipe_configuror(:drop,nil,nil,data_names_regexp,manifest_file_path,
                    {:collection_or_table_names=>collection_or_table_names, :data_only=>true})
end

#data_export(data_names_regexp = nil, file_names = nil, app_name = nil, manifest_file_path = nil) ⇒ Object



303
304
305
306
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 303

def data_export(data_names_regexp=nil,file_names=nil,app_name=nil,manifest_file_path=nil)
  recipe_configuror(:export,nil,nil,data_names_regexp,manifest_file_path,
                    {:file_names=>file_names, :app_name=>app_name, :data_only=>true})
end

#data_import(data_names_regexp = nil, file_names = nil, app_name = nil, manifest_file_path = nil) ⇒ Object



299
300
301
302
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 299

def data_import(data_names_regexp=nil,file_names=nil,app_name=nil,manifest_file_path=nil)
  recipe_configuror(:import,nil,nil,data_names_regexp,manifest_file_path,
                    {:file_names=>file_names, :app_name=>app_name, :data_only=>true})
end

#data_shell(data_names_regexp = nil, file_or_cmd = nil, app_name = nil, manifest_file_path = nil) ⇒ Object



275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 275

def data_shell(data_names_regexp=nil,file_or_cmd=nil,app_name=nil,manifest_file_path=nil)
  file_name = nil
  cmd = nil
  if file_or_cmd
    if File.exist? file_or_cmd
      file_name = file_or_cmd
    else
      cmd = file_or_cmd
      cmd = cmd[1..-1] if cmd.start_with?('"') || cmd.start_with?("'")
    end
  end
  recipe_configuror(:shell,nil,nil,data_names_regexp,manifest_file_path,
                    {:file_name=>file_name, :data_cmd=>cmd,
                     :app_name=>app_name, :data_only=>true,
                     :single_service=>true})
end

#data_shrink(data_names_regexp = nil, collection_or_table_names = nil, manifest_file_path = nil) ⇒ Object



311
312
313
314
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 311

def data_shrink(data_names_regexp=nil,collection_or_table_names=nil,manifest_file_path=nil)
  recipe_configuror(:shrink,nil,nil,data_names_regexp,manifest_file_path,
                    {:collection_or_table_names=>collection_or_table_names, :data_only=>true})
end

#delete_all(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



264
265
266
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 264

def delete_all(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:delete,nil,app_names_regexp,nil,manifest_file_path, {:vmc_login => true})
end

#delete_apps(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



267
268
269
270
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 267

def delete_apps(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:delete,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :vmc_login => true})
end

#delete_data(services_names_regexp = nil, manifest_file_path = nil) ⇒ Object



271
272
273
274
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 271

def delete_data(services_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:delete,nil,nil,services_names_regexp,manifest_file_path,
                    {:data_only=>true, :vmc_login => true})
end

#extract_deployed_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



228
229
230
231
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 228

def extract_deployed_applications(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:extract_deployed,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :force=>@options[:force]})
end

#info_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



244
245
246
247
248
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 244

def info_applications(app_names_regexp=nil,manifest_file_path=nil)
  res=recipe_configuror(:info,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true})
  exit 1 unless res
end

#info_configure(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



259
260
261
262
263
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 259

def info_configure(app_names_regexp=nil,manifest_file_path=nil)
  res=recipe_configuror(:info,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :configure_only=>true})
  exit 1 unless res
end

#logs_all(app_names_regexp = nil, output_file = nil, manifest_file_path = nil) ⇒ Object



315
316
317
318
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 315

def logs_all(app_names_regexp=nil, output_file=nil, manifest_file_path=nil)
  recipe_configuror(:logs,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :output_file=>output_file, :log_apps=>true, :log_vcap=>true})
end

#logs_apps(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



319
320
321
322
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 319

def logs_apps(app_names_regexp=nil, manifest_file_path=nil)
  recipe_configuror(:logs,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :log_apps=>true, :log_vcap=>false})
end

#logs_less(app_names_regexp = nil, log_files_glob = nil, manifest_file_path = nil) ⇒ Object



327
328
329
330
331
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 327

def logs_less(app_names_regexp=nil, log_files_glob=nil, manifest_file_path=nil)
  recipe_configuror(:logs_shell,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :log_apps=>true, :log_vcap=>false, :logs_shell=>"less",
                     :log_files_glob=>log_files_glob})
end

#logs_tail(app_names_regexp = nil, log_files_glob = nil, manifest_file_path = nil) ⇒ Object



332
333
334
335
336
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 332

def logs_tail(app_names_regexp=nil, log_files_glob=nil, manifest_file_path=nil)
  recipe_configuror(:logs_shell,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :log_apps=>true, :log_vcap=>false, :logs_shell=>"tail",
                     :log_files_glob=>log_files_glob})
end

#logs_vcap(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



323
324
325
326
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 323

def logs_vcap(app_names_regexp=nil, manifest_file_path=nil)
  recipe_configuror(:logs,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :log_apps=>false, :log_vcap=>true})
end

#patch_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



224
225
226
227
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 224

def patch_applications(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:patch,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :force=>@options[:force]})
end

#recipe_configuror(method_sym_name, recipes_regexp = nil, app_names_regexp = nil, service_names_regexp = nil, manifest_file_path = nil, opts = nil) ⇒ Object



342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 342

def recipe_configuror(method_sym_name,recipes_regexp=nil,app_names_regexp=nil,service_names_regexp=nil,manifest_file_path=nil,opts=nil)
  man = load_manifest(manifest_file_path)

  if (opts && opts[:vmc_login])
    # login first
    new_knife = VMC::Cli::Command::Knifemisc.new(@options)
    new_knife.(manifest_file_path)
    client(new_knife.client)
  
    raise VMC::Client::AuthError unless client.user || client.logged_in?
  end

  recipes_regexp = as_regexp(recipes_regexp)
  app_names_regexp = as_regexp(app_names_regexp)
  opts ||= {}
  service_names_regexp = as_regexp(service_names_regexp, opts[:single_service])
  configurer = VMC::KNIFE::RecipesConfigurationApplier.new(man, client,
                                                           recipes_regexp, app_names_regexp,
                                                           service_names_regexp, opts)
  method_object = configurer.method(method_sym_name)
  method_object.call
end

#restart_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



240
241
242
243
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 240

def restart_applications(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:restart,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :vmc_login => true})
end

#running_applications?(app_names_regexp = nil, manifest_file_path = nil) ⇒ Boolean

Returns:

  • (Boolean)


254
255
256
257
258
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 254

def running_applications?(app_names_regexp=nil,manifest_file_path=nil)
  res=recipe_configuror(:running_applications?,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :vmc_login => true})
  exit 1 unless res
end

#start_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



232
233
234
235
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 232

def start_applications(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:start,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :vmc_login => true})
end

#stop_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



236
237
238
239
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 236

def stop_applications(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:stop,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :vmc_login => true})
end

#update_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



220
221
222
223
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 220

def update_applications(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:update,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :force=>@options[:force], :vmc_login => true})
end

#upload_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



216
217
218
219
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 216

def upload_applications(app_names_regexp=nil,manifest_file_path=nil)
  recipe_configuror(:upload,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :force=>@options[:force], :vmc_login => true})
end

#wait_till_running_applications(app_names_regexp = nil, manifest_file_path = nil) ⇒ Object



249
250
251
252
253
# File 'lib/vmc_knife/commands/knife_cmds.rb', line 249

def wait_till_running_applications(app_names_regexp=nil,manifest_file_path=nil)
  res=recipe_configuror(:running_applications?,nil,app_names_regexp,nil,manifest_file_path,
                    {:apps_only=>true, :wait=>{:interval=>30,:retries=>6}, :vmc_login => true})
  exit 1 unless res
end