Sha256: c6fb678f823d313d9071e95976427c2a6200a0c3821651ae0cfb8a990436e2c0

Contents?: true

Size: 1.61 KB

Versions: 8

Compression:

Stored size: 1.61 KB

Contents

module Kontena::Cli::Nodes
  class ListCommand < Clamp::Command
    include Kontena::Cli::Common

    option ["--all"], :flag, "List nodes for all grids", default: false

    def execute
      require_api_url
      require_current_grid
      token = require_token

      if all?
        grids = client(token).get("grids")
        puts "%-30s %-30s %-40s %-15s %-30s %-10s" % [ 'Grid', 'Name', 'OS', 'Driver', 'Labels', 'Status']

        grids['grids'].each do |grid|
          nodes = client(token).get("grids/#{grid['name']}/nodes")
          nodes['nodes'].each do |node|
            if node['connected']
              status = 'online'
            else
              status = 'offline'
            end
            puts "%-30.30s %-30.30s %-40.40s %-15s %-30.30s %-10s" % [
              grid['name'],
              node['name'],
              "#{node['os']} (#{node['kernel_version']})",
              node['driver'],
              (node['labels'] || ['-']).join(","),
              status
            ]
          end
        end
      else
        nodes = client(token).get("grids/#{current_grid}/nodes")
        puts "%-30s %-40s %-15s %-30s %-10s" % ['Name', 'OS', 'Driver', 'Labels', 'Status']
        nodes['nodes'].each do |node|
          if node['connected']
            status = 'online'
          else
            status = 'offline'
          end
          puts "%-30.30s %-40.40s %-15s %-30.30s %-10s" % [
            node['name'],
            "#{node['os']} (#{node['kernel_version']})",
            node['driver'],
            (node['labels'] || ['-']).join(","),
            status
          ]
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
kontena-cli-0.11.7 lib/kontena/cli/nodes/list_command.rb
kontena-cli-0.11.6 lib/kontena/cli/nodes/list_command.rb
kontena-cli-0.11.5 lib/kontena/cli/nodes/list_command.rb
kontena-cli-0.11.4 lib/kontena/cli/nodes/list_command.rb
kontena-cli-0.11.3 lib/kontena/cli/nodes/list_command.rb
kontena-cli-0.11.2 lib/kontena/cli/nodes/list_command.rb
kontena-cli-0.11.1 lib/kontena/cli/nodes/list_command.rb
kontena-cli-0.11.0 lib/kontena/cli/nodes/list_command.rb