Sha256: 295018507136fbfcb99534359b143267463f688b5ad725967b7b7a438f06ac09
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
require 'arnold/node' require 'arnold/node_manager' module Arnold module Controller class Cli def initialize(args) @manager = Arnold::NodeManager.new case args[0] when "help" usage when "list" listnodes exit 0 when "new" args.shift @data = {} args.each do |arg| name, value = arg.split("=") @data[name] = value end begin node = Arnold::Node.new(nil, @data['name'], @data['macaddr'], Arnold::Node.munge(@data, :params), @data['classes'].split(',')) @manager.write(node) $CONFIG[:provisioner].provision(node) rescue RuntimeError => e puts "Whoops: #{e}" end else puts "WAT" usage end end def listnodes nodes = @manager.loadall puts puts "________GUID______________________Name____________________MAC Address___" nodes.each do |node| printf "%18s │ %30s │ %18s\n", node.guid, node.name, node.macaddr end puts end def usage puts puts "Usage:" puts " * arnold help" puts " * arnold list" puts " * arnold new [name=<name>] [macaddr=<macaddr>] [template=<template>] [group=<group>] [classes=<class1,class2,...>] [param1=value1]..." puts exit 1 end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
arnold-0.0.1 | lib/arnold/controller/cli.rb |