module Fauxhai class Runner module Default def bin_dir '/usr/local/bin' end def counters { 'network' => { 'interfaces' => { 'lo' => { 'tx' => { 'queuelen' => '1', 'bytes' => 0, 'packets' => 0, 'errors' => 0, 'drop' => 0, 'carrier' => 0, 'collisions' => 0, }, 'rx' => { 'bytes' => 0, 'packets' => 0, 'errors' => 0, 'drop' => 0, 'overrun' => 0, }, }, default_interface.to_s => { 'rx' => { 'bytes' => 0, 'packets' => 0, 'errors' => 0, 'drop' => 0, 'overrun' => 0, 'frame' => 0, 'compressed' => 0, 'multicast' => 0, }, 'tx' => { 'bytes' => 0, 'packets' => 0, 'errors' => 0, 'drop' => 0, 'overrun' => 0, 'collisions' => 0, 'carrier' => 0, 'compressed' => 0, }, }, }, }, } end def current_user 'fauxhai' end def default_gateway '10.0.0.1' end def default_interface case @system.data['platform_family'] when 'mac_os_x' 'en0' when /bsd/ 'em0' when 'arch', 'fedora' 'enp0s3' else 'eth0' end end def domain 'local' end def fqdn 'fauxhai.local' end def gem_bin '/usr/local/bin/gem' end def gems_dir '/usr/local/gems' end def hostname 'Fauxhai' end def ipaddress '10.0.0.2' end def ip6address 'fe80:0:0:0:0:0:a00:2' end def keys { 'ssh' => ssh, } end def languages { 'ruby' => @system.data['languages']['ruby'].merge('bin_dir' => bin_dir, 'gem_bin' => gem_bin, 'gems_dir' => gems_dir, 'ruby_bin' => ruby_bin), 'powershell' => @system.data['languages']['powershell'], } end def macaddress '11:11:11:11:11:11' end def network { 'interfaces' => { 'lo' => { 'mtu' => '65536', 'flags' => %w(LOOPBACK UP LOWER_UP), 'encapsulation' => 'Loopback', 'addresses' => { '127.0.0.1' => { 'family' => 'inet', 'prefixlen' => '8', 'netmask' => '255.0.0.0', 'scope' => 'Node', 'ip_scope' => 'LOOPBACK', }, '::1' => { 'family' => 'inet6', 'prefixlen' => '128', 'scope' => 'Node', 'tags' => [], 'ip_scope' => 'LINK LOCAL LOOPBACK', }, }, 'state' => 'unknown', }, default_interface.to_s => { 'type' => default_interface.chop, 'number' => '0', 'mtu' => '1500', 'flags' => %w(BROADCAST MULTICAST UP LOWER_UP), 'encapsulation' => 'Ethernet', 'addresses' => { macaddress.to_s => { 'family' => 'lladdr', }, ipaddress.to_s => { 'family' => 'inet', 'prefixlen' => '24', 'netmask' => '255.255.255.0', 'broadcast' => '10.0.0.255', 'scope' => 'Global', 'ip_scope' => 'RFC1918 PRIVATE', }, 'fe80::11:1111:1111:1111' => { 'family' => 'inet6', 'prefixlen' => '64', 'scope' => 'Link', 'tags' => [], 'ip_scope' => 'LINK LOCAL UNICAST', }, }, 'state' => 'up', 'arp' => { '10.0.0.1' => 'fe:ff:ff:ff:ff:ff', }, 'routes' => [ { 'destination' => 'default', 'family' => 'inet', 'via' => default_gateway, }, { 'destination' => '10.0.0.0/24', 'family' => 'inet', 'scope' => 'link', 'proto' => 'kernel', 'src' => ipaddress, }, { 'destination' => 'fe80::/64', 'family' => 'inet6', 'metric' => '256', 'proto' => 'kernel', }, ], 'ring_params' => {}, }, }, 'default_interface' => default_interface, 'default_gateway' => default_gateway, } end def ruby_bin '/usr/local/bin/ruby' end def ssh { 'host_dsa_public' => File.read(File.join(Fauxhai.root, 'lib', 'fauxhai', 'keys', 'id_dsa.pub')).strip, 'host_rsa_public' => File.read(File.join(Fauxhai.root, 'lib', 'fauxhai', 'keys', 'id_rsa.pub')).strip, } end def uptime '30 days 15 hours 07 minutes 30 seconds' end def uptime_seconds 2646450 end def cpu { 'real' => 1, 'total' => 1, 'cores' => 1, } end def memory { 'total' => '1048576kB', } end def virtualization { 'systems' => {}, } end def time { 'timezone' => 'GMT', } end # Whitelist attributes are attributes that we *actually* want from the node. Other attributes are # either ignored or overridden, but we ensure these are returned with the command. # # @return [Array] - the key of whitelisted attributes def whitelist_attributes %w( block_device chef_packages command dmi filesystem fips init_package kernel lsb ohai_time os os_version packages platform platform_version platform_build platform_family root_group shard_seed shells ) end end end end