41 lines
11 KiB
Ruby
41 lines
11 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "role::custom_windows" do
|
|
|
|
context "using fact set SLES-12.1-64" do
|
|
node_facts = {"aio_agent_build"=>"1.7.2", "aio_agent_version"=>"1.7.2", "architecture"=>"x86_64", "augeas"=>{"version"=>"1.4.0"}, "augeasversion"=>"1.4.0", "bios_release_date"=>"12/01/2006", "bios_vendor"=>"innotek GmbH", "bios_version"=>"VirtualBox", "blockdevice_sda_model"=>"HARDDISK", "blockdevice_sda_size"=>53687091200, "blockdevice_sda_vendor"=>"VBOX", "blockdevices"=>"sda", "boardmanufacturer"=>"Oracle Corporation", "boardproductname"=>"VirtualBox", "boardserialnumber"=>"0", "chassistype"=>"Other", "disks"=>{"sda"=>{"model"=>"HARDDISK", "size"=>"50.00 GiB", "size_bytes"=>53687091200, "vendor"=>"VBOX"}}, "dmi"=>{"bios"=>{"release_date"=>"12/01/2006", "vendor"=>"innotek GmbH", "version"=>"VirtualBox"}, "board"=>{"manufacturer"=>"Oracle Corporation", "product"=>"VirtualBox", "serial_number"=>"0"}, "chassis"=>{"type"=>"Other"}, "manufacturer"=>"innotek GmbH", "product"=>{"name"=>"VirtualBox", "serial_number"=>"0", "uuid"=>"7733628A-3D10-4F0B-B6E2-DB6D0CBB8F7E"}}, "domain"=>"openstack.site", "facterversion"=>"3.4.2", "filesystems"=>"ext2,ext3,ext4", "fqdn"=>"sles12-sp1.openstack.site", "gid"=>"root", "hardwareisa"=>"x86_64", "hardwaremodel"=>"x86_64", "hostname"=>"sles12-sp1", "id"=>"root", "identity"=>{"gid"=>0, "group"=>"root", "privileged"=>true, "uid"=>0, "user"=>"root"}, "interfaces"=>"eth0,eth1,lo", "ipaddress"=>"10.0.2.15", "ipaddress6"=>"fe80::216:3eff:fe72:f121", "ipaddress6_eth0"=>"fe80::216:3eff:fe72:f121", "ipaddress6_eth1"=>"fe80::a00:27ff:fe60:90e", "ipaddress6_lo"=>"::1", "ipaddress_eth0"=>"10.0.2.15", "ipaddress_eth1"=>"192.168.33.15", "ipaddress_lo"=>"127.0.0.1", "is_pe"=>false, "is_virtual"=>true, "kernel"=>"Linux", "kernelmajversion"=>"3.12", "kernelrelease"=>"3.12.62-60.64.8-default", "kernelversion"=>"3.12.62", "load_averages"=>{"15m"=>0.05, "1m"=>0.0, "5m"=>0.02}, "macaddress"=>"00:16:3e:72:f1:21", "macaddress_eth0"=>"00:16:3e:72:f1:21", "macaddress_eth1"=>"08:00:27:60:09:0e", "manufacturer"=>"innotek GmbH", "memory"=>{"system"=>{"available"=>"1.78 GiB", "available_bytes"=>1907027968, "capacity"=>"68.84%", "total"=>"5.70 GiB", "total_bytes"=>6119927808, "used"=>"3.92 GiB", "used_bytes"=>4212899840}}, "memoryfree"=>"1.78 GiB", "memoryfree_mb"=>1818.68359375, "memorysize"=>"5.70 GiB", "memorysize_mb"=>5836.41796875, "mountpoints"=>{"/"=>{"available"=>"45.34 GiB", "available_bytes"=>48682504192, "capacity"=>"7.64%", "device"=>"/dev/sda1", "filesystem"=>"ext3", "options"=>["rw", "relatime", "data=ordered"], "size"=>"49.09 GiB", "size_bytes"=>52709421056, "used"=>"3.75 GiB", "used_bytes"=>4026916864}}, "mtu_eth0"=>1500, "mtu_eth1"=>1500, "mtu_lo"=>65536, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "netmask6_eth0"=>"ffff:ffff:ffff:ffff::", "netmask6_eth1"=>"ffff:ffff:ffff:ffff::", "netmask6_lo"=>"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "netmask_eth0"=>"255.255.255.0", "netmask_eth1"=>"255.255.255.0", "netmask_lo"=>"255.0.0.0", "network"=>"10.0.2.0", "network6"=>"fe80::", "network6_eth0"=>"fe80::", "network6_eth1"=>"fe80::", "network6_lo"=>"::1", "network_eth0"=>"10.0.2.0", "network_eth1"=>"192.168.33.0", "network_lo"=>"127.0.0.0", "networking"=>{"domain"=>"openstack.site", "fqdn"=>"sles12-sp1.openstack.site", "hostname"=>"sles12-sp1", "interfaces"=>{"eth0"=>{"bindings"=>[{"address"=>"10.0.2.15", "netmask"=>"255.255.255.0", "network"=>"10.0.2.0"}], "bindings6"=>[{"address"=>"fe80::216:3eff:fe72:f121", "netmask"=>"ffff:ffff:ffff:ffff::", "network"=>"fe80::"}], "ip"=>"10.0.2.15", "ip6"=>"fe80::216:3eff:fe72:f121", "mac"=>"00:16:3e:72:f1:21", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::"}, "eth1"=>{"bindings"=>[{"address"=>"192.168.33.15", "netmask"=>"255.255.255.0", "network"=>"192.168.33.0"}], "bindings6"=>[{"address"=>"fe80::a00:27ff:fe60:90e", "netmask"=>"ffff:ffff:ffff:ffff::", "network"=>"fe80::"}], "ip"=>"192.168.33.15", "ip6"=>"fe80::a00:27ff:fe60:90e", "mac"=>"08:00:27:60:09:0e", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"192.168.33.0", "network6"=>"fe80::"}, "lo"=>{"bindings"=>[{"address"=>"127.0.0.1", "netmask"=>"255.0.0.0", "network"=>"127.0.0.0"}], "bindings6"=>[{"address"=>"::1", "netmask"=>"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "network"=>"::1"}], "ip"=>"127.0.0.1", "ip6"=>"::1", "mtu"=>65536, "netmask"=>"255.0.0.0", "netmask6"=>"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "network"=>"127.0.0.0", "network6"=>"::1"}}, "ip"=>"10.0.2.15", "ip6"=>"fe80::216:3eff:fe72:f121", "mac"=>"00:16:3e:72:f1:21", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::", "primary"=>"eth0"}, "operatingsystem"=>"SLES", "operatingsystemmajrelease"=>"12", "operatingsystemrelease"=>"12.1", "os"=>{"architecture"=>"x86_64", "family"=>"Suse", "hardware"=>"x86_64", "name"=>"SLES", "release"=>{"full"=>"12.1", "major"=>"12", "minor"=>"1"}, "selinux"=>{"enabled"=>false}}, "osfamily"=>"Suse", "partitions"=>{"/dev/sda1"=>{"filesystem"=>"ext3", "label"=>"ROOT", "mount"=>"/", "partuuid"=>"3d2745bf-01", "size"=>"50.00 GiB", "size_bytes"=>53686042624, "uuid"=>"dcf2494f-2b02-466b-aa2c-9e7c01bdbdd7"}}, "path"=>"/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/games", "pe_build"=>"2016.4.3", "pe_concat_basedir"=>"/opt/puppetlabs/puppet/cache/pe_concat", "pe_server_version"=>"2016.4.3", "physicalprocessorcount"=>1, "platform_symlink_writable"=>true, "platform_tag"=>"sles-12-x86_64", "processor0"=>"Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "processor1"=>"Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "processor2"=>"Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "processor3"=>"Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "processorcount"=>4, "processors"=>{"count"=>4, "isa"=>"x86_64", "models"=>["Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz"], "physicalcount"=>1}, "productname"=>"VirtualBox", "puppet_files_dir_present"=>false, "puppetversion"=>"4.7.1", "ruby"=>{"platform"=>"x86_64-linux", "sitedir"=>"/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.1.0", "version"=>"2.1.9"}, "rubyplatform"=>"x86_64-linux", "rubysitedir"=>"/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.1.0", "rubyversion"=>"2.1.9", "selinux"=>false, "serialnumber"=>"0", "ssh"=>{"dsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 2 1 4c29775fbdf4c3c3899d036510ced3a377023cd1", "sha256"=>"SSHFP 2 2 6b21d41b5df2640a9b710884c10d8f87dbc2944e639a5e46273bfb4aa76522c5"}, "key"=>"AAAAB3NzaC1kc3MAAACBAK+haL65A0ALR7nw0X5re26C23ncFgxvedmnE2iUbjbeM7F//EBeA4Gn3mjbtPkTVDu61Tfl45tCHKHa36l2w5rC2mt71yMGJQoHeDtA4ddO2uA+B19fmkfhAICtjrvYc8vj5jwwcVmmP0FUasIunM0/9uAhZ+97E7+I91bPhp/RAAAAFQDNpq248quBrulsV6qkoYv00XODZwAAAIBAe5mwq4iS3DH5ABJSJoGGrWZBrY2ZPYcpzqStDN12I+lNL0HqoZF3dRdXUiiAl0qGpO9vtaTtrJzQuahTpB0k/HkMP042Kqa/hhkobuPlvu5Xuuj5cNzLuditXn5ScKs8BXaoh6mvOAAIS1jY9BZ+dGxZfygvjjtcAWHWCVAxoQAAAIACBpgms8yMLnEd5qY7kF5hqO7DNJ6Q0xyFOB5zWKhj1nbCUmxKBiF2XjXZGZc+6LD0Hg1fs1EiW9ed9g7F7/7LLtlgzeJPIg8vuqsRvCj3JkwFDmGHfA2Z0EYU4sn8dmw1RLeoWY0fCaPM+x00hSa36VMMXAHEd2MCUPYTTiMmaQ=="}, "ecdsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 3 1 d1c37b4313689a7afe74eead74ea53699234505b", "sha256"=>"SSHFP 3 2 60246f4a32257320dc990997d7373eede1667aaead6ea95baa32fa07fec824cd"}, "key"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGnNFUni4th60YWWMAHbe9fByciHV0mswnuc2CzGSzziVAUbsSKmJktAHNmcYKssztsMpBPsPMLM9j8ceD59jmI="}, "ed25519"=>{"fingerprints"=>{"sha1"=>"SSHFP 4 1 37cbc33c742e357446b82735b529cd0d6dd5c459", "sha256"=>"SSHFP 4 2 2228771c3a8436da3436b331f293b2394f8e24f12cf6590d75d5077b37e7cacf"}, "key"=>"AAAAC3NzaC1lZDI1NTE5AAAAIB9nMKgF7UeoNyuUwz3ifm0M4QjlEjGNSLxvFm6xXVhx"}, "rsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 1 1 d1ccfdf4e0afc38d26ab2d3b44f37c1ec7eefe51", "sha256"=>"SSHFP 1 2 f492d7edf7cc14c5e8472aa10aa6e7cf049032f9a52584e07c10101af807fe38"}, "key"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQDjeTmNl1i5lo2aP6quMk+/thACsrOK50twMge6KfZ6J1Q6ncsjjpZNA745pgvUJuQx2STl2vCMT3aTbGIrw+FXGNbfRWRa9pUUTJE82mgcPnYsMqWo+JQwuJOjhdaDlV8r7U197ZIsOM+eo2CBYYUP/ZAFbGzFL4Wb29hld1MiHSACcRC7HozgAxPCUyOZ0mcckofFIW/XO289UmEJj27RSnM3YyaOXxg+xv7tjxjLaq7j4HlFR5HZt4OYdzoHMTSwexcNtyM8TyNu9OKSGSYuQNWxghltrElP+Hg1Zgw8Bxhyf+a9KqF9/Q7Z0zWvwoJE3II9kHij2M73eiadZPj/"}}, "sshdsakey"=>"AAAAB3NzaC1kc3MAAACBAK+haL65A0ALR7nw0X5re26C23ncFgxvedmnE2iUbjbeM7F//EBeA4Gn3mjbtPkTVDu61Tfl45tCHKHa36l2w5rC2mt71yMGJQoHeDtA4ddO2uA+B19fmkfhAICtjrvYc8vj5jwwcVmmP0FUasIunM0/9uAhZ+97E7+I91bPhp/RAAAAFQDNpq248quBrulsV6qkoYv00XODZwAAAIBAe5mwq4iS3DH5ABJSJoGGrWZBrY2ZPYcpzqStDN12I+lNL0HqoZF3dRdXUiiAl0qGpO9vtaTtrJzQuahTpB0k/HkMP042Kqa/hhkobuPlvu5Xuuj5cNzLuditXn5ScKs8BXaoh6mvOAAIS1jY9BZ+dGxZfygvjjtcAWHWCVAxoQAAAIACBpgms8yMLnEd5qY7kF5hqO7DNJ6Q0xyFOB5zWKhj1nbCUmxKBiF2XjXZGZc+6LD0Hg1fs1EiW9ed9g7F7/7LLtlgzeJPIg8vuqsRvCj3JkwFDmGHfA2Z0EYU4sn8dmw1RLeoWY0fCaPM+x00hSa36VMMXAHEd2MCUPYTTiMmaQ==", "sshecdsakey"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGnNFUni4th60YWWMAHbe9fByciHV0mswnuc2CzGSzziVAUbsSKmJktAHNmcYKssztsMpBPsPMLM9j8ceD59jmI=", "sshed25519key"=>"AAAAC3NzaC1lZDI1NTE5AAAAIB9nMKgF7UeoNyuUwz3ifm0M4QjlEjGNSLxvFm6xXVhx", "sshfp_dsa"=>"SSHFP 2 1 4c29775fbdf4c3c3899d036510ced3a377023cd1\nSSHFP 2 2 6b21d41b5df2640a9b710884c10d8f87dbc2944e639a5e46273bfb4aa76522c5", "sshfp_ecdsa"=>"SSHFP 3 1 d1c37b4313689a7afe74eead74ea53699234505b\nSSHFP 3 2 60246f4a32257320dc990997d7373eede1667aaead6ea95baa32fa07fec824cd", "sshfp_ed25519"=>"SSHFP 4 1 37cbc33c742e357446b82735b529cd0d6dd5c459\nSSHFP 4 2 2228771c3a8436da3436b331f293b2394f8e24f12cf6590d75d5077b37e7cacf", "sshfp_rsa"=>"SSHFP 1 1 d1ccfdf4e0afc38d26ab2d3b44f37c1ec7eefe51\nSSHFP 1 2 f492d7edf7cc14c5e8472aa10aa6e7cf049032f9a52584e07c10101af807fe38", "sshrsakey"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQDjeTmNl1i5lo2aP6quMk+/thACsrOK50twMge6KfZ6J1Q6ncsjjpZNA745pgvUJuQx2STl2vCMT3aTbGIrw+FXGNbfRWRa9pUUTJE82mgcPnYsMqWo+JQwuJOjhdaDlV8r7U197ZIsOM+eo2CBYYUP/ZAFbGzFL4Wb29hld1MiHSACcRC7HozgAxPCUyOZ0mcckofFIW/XO289UmEJj27RSnM3YyaOXxg+xv7tjxjLaq7j4HlFR5HZt4OYdzoHMTSwexcNtyM8TyNu9OKSGSYuQNWxghltrElP+Hg1Zgw8Bxhyf+a9KqF9/Q7Z0zWvwoJE3II9kHij2M73eiadZPj/", "staging_http_get"=>"curl", "system_uptime"=>{"days"=>1, "hours"=>41, "seconds"=>148058, "uptime"=>"1 day"}, "timezone"=>"UTC", "uptime"=>"1 day", "uptime_days"=>1, "uptime_hours"=>41, "uptime_seconds"=>148058, "uuid"=>"7733628A-3D10-4F0B-B6E2-DB6D0CBB8F7E", "virtual"=>"virtualbox", "clientcert"=>"sles12-sp1.openstack.site", "clientversion"=>"4.7.1", "clientnoop"=>false}
|
|
let(:facts) { node_facts }
|
|
|
|
|
|
before :each do
|
|
# Curtrently there is some code within Puppet that will try to execute
|
|
# commands when compiling a catalog even though it shouldn't. One example is
|
|
# the groups attribute of the user resource on AIX. If we are running on
|
|
# Windows but pretending to be UNIX this will definitely fail so we need to
|
|
# mock it (or vice versa)
|
|
# Details:
|
|
# https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/execution.rb#L191
|
|
expected_null_file = Puppet::Util::Platform.windows? ? 'NUL' : '/dev/null'
|
|
unless File.exist? expected_null_file
|
|
allow(Puppet::Util::Execution).to receive(:execute).and_raise(Puppet::ExecutionFailure.new("Onceover caused this"))
|
|
end
|
|
end
|
|
|
|
let(:pre_condition) {
|
|
pp = <<-'END'
|
|
$onceover_class = 'role::custom_windows'
|
|
$onceover_node = 'SLES-12.1-64'
|
|
|
|
# Begin user-specified pre_condition
|
|
|
|
# End user-specified pre_condition
|
|
|
|
|
|
END
|
|
}
|
|
|
|
it { should compile }
|
|
end
|
|
end
|
|
|