From 6b91b43821b532ef0e24c4645d18e91d5d249ea0 Mon Sep 17 00:00:00 2001 From: Bastian Blank Date: Tue, 11 Apr 2017 18:50:00 +0200 Subject: [PATCH] Add octocatalog-diff job --- .gitlab-ci.yml | 34 +++ .octocatalog-diff.cfg.rb | 12 + Gemfile | 9 + spec/octocatalog/facts/czerny.debian.org.json | 257 ++++++++++++++++++ spec/octocatalog/facts/villa.debian.org.json | 218 +++++++++++++++ spec/octocatalog/hiera.yaml | 9 + spec/octocatalog/run-octocatalog | 17 ++ 7 files changed, 556 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 .octocatalog-diff.cfg.rb create mode 100644 Gemfile create mode 100644 spec/octocatalog/facts/czerny.debian.org.json create mode 100644 spec/octocatalog/facts/villa.debian.org.json create mode 100644 spec/octocatalog/hiera.yaml create mode 100755 spec/octocatalog/run-octocatalog diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..568ea635f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,34 @@ +.test-octocatalog: &test-octocatalog + image: ruby:2.3 + + script: + - unset BUNDLER_VERSION BUNDLE_APP_CONFIG BUNDLE_BIN BUNDLE_PATH GEM_HOME + + - git config --global user.name "Your Name" + - git config --global user.email "you@example.com" + + - apt-get update + - apt-get install -y cmake libldap-dev libsasl2-dev + - bundle install --binstubs bin --with octocatalog + + - git branch -f base $REF_BASE + - git branch -f test $CI_BUILD_REF + + - echo -n "$R10K" > r10k.yaml + - bundle exec r10k deploy environment --verbose debug base test + - spec/octocatalog/run-octocatalog base test + +test-octocatalog/master: + <<: *test-octocatalog + + except: + - master + + variables: + REF_BASE: origin/master + R10K: | + cachedir: 'cache' + sources: + plain: + remote: '$CI_PROJECT_DIR' + basedir: 'environments' diff --git a/.octocatalog-diff.cfg.rb b/.octocatalog-diff.cfg.rb new file mode 100644 index 000000000..6fcf5f005 --- /dev/null +++ b/.octocatalog-diff.cfg.rb @@ -0,0 +1,12 @@ +module OctocatalogDiff + class Config + def self.config + settings = {} + settings[:hiera_config] = 'spec/octocatalog/hiera.yaml' + settings[:hiera_path] = 'hieradata' + settings[:storeconfigs] = false + settings[:validate_references] = %w(before notify require subscribe) + settings + end + end +end diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..4e096ff6a --- /dev/null +++ b/Gemfile @@ -0,0 +1,9 @@ +source ENV['GEM_SOURCE'] || 'https://rubygems.org' + +gem 'puppet', '>= 4.8' +gem 'r10k' +gem 'ruby-ldap' + +group :octocatalog, optional: true do + gem 'octocatalog-diff' +end diff --git a/spec/octocatalog/facts/czerny.debian.org.json b/spec/octocatalog/facts/czerny.debian.org.json new file mode 100644 index 000000000..cb84d9b7c --- /dev/null +++ b/spec/octocatalog/facts/czerny.debian.org.json @@ -0,0 +1,257 @@ +{ + "hostname": "czerny", + "lsbminordistrelease": "7", + "kernel": "Linux", + "hoster": "man-da", + "bios_vendor": "HP", + "bios_version": "P67", + "bios_release_date": "05/05/2011", + "manufacturer": "HP", + "productname": "ProLiant DL380 G7", + "serialnumber": "CZ214405M3", + "uuid": "39333835-3731-5A43-3231-343430354D33", + "type": "Rack Mount Chassis", + "ipaddress": "192.168.75.109", + "facterversion": "2.2.0", + "rubysitedir": "/usr/local/lib/site_ruby/2.1.0", + "operatingsystemmajrelease": "8", + "uptime_seconds": 3317584, + "osfamily": "Debian", + "uptime_days": 38, + "virtual": "physical", + "is_virtual": "false", + "architecture": "amd64", + "debarchitecture": "amd64", + "hardwaremodel": "x86_64", + "operatingsystem": "Debian", + "os": { + "name": "Debian", + "family": "Debian", + "release": { + "major": "8", + "minor": "7", + "full": "8.7" + }, + "lsb": { + "distcodename": "jessie", + "distid": "Debian", + "distdescription": "Debian GNU/Linux 8.7 (jessie)", + "distrelease": "8.7", + "majdistrelease": "8", + "minordistrelease": "7" + } + }, + "id": "root", + "ipaddress6": "2001:41b8:202:deb:6564:a62:52c3:4b6d", + "processors": { + "models": [ + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz" + ], + "count": 16, + "physicalcount": 2 + }, + "processor0": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor1": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor2": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor3": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor4": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor5": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor6": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor7": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor8": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor9": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor10": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor11": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor12": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor13": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor14": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processor15": "Intel(R) Xeon(R) CPU E5620 @ 2.40GHz", + "processorcount": "16", + "physicalprocessorcount": "2", + "interfaces": "bond0,bond2,br0,eth0,eth1,eth2,eth3,lo,tap0,tap2,tap3,tap4,tap5,tap6,tap7,tap8,tap9,tap10,tap11,tap12,tap13,tap14,tap15", + "macaddress_bond0": "16:7c:38:54:5a:62", + "mtu_bond0": "1500", + "ipaddress_bond2": "192.168.75.109", + "macaddress_bond2": "44:1e:a1:3b:bf:04", + "netmask_bond2": "255.255.255.0", + "mtu_bond2": "1500", + "ipaddress_br0": "82.195.75.109", + "ipaddress6_br0": "2001:41b8:202:deb:6564:a62:52c3:4b6d", + "macaddress_br0": "44:1e:a1:3b:bf:00", + "netmask_br0": "255.255.255.192", + "mtu_br0": "1500", + "macaddress_eth0": "44:1e:a1:3b:bf:00", + "mtu_eth0": "1500", + "macaddress_eth1": "44:1e:a1:3b:bf:02", + "mtu_eth1": "1500", + "macaddress_eth2": "44:1E:A1:3B:BF:04", + "mtu_eth2": "1500", + "macaddress_eth3": "44:1E:A1:3B:BF:06", + "mtu_eth3": "1500", + "ipaddress_lo": "127.0.0.1", + "netmask_lo": "255.0.0.0", + "mtu_lo": "65536", + "macaddress_tap0": "fe:d2:c2:3b:3a:78", + "mtu_tap0": "1500", + "macaddress_tap2": "fe:af:f2:28:07:b6", + "mtu_tap2": "1500", + "macaddress_tap3": "fe:55:d4:0b:24:49", + "mtu_tap3": "1500", + "macaddress_tap4": "fe:82:48:9b:5c:22", + "mtu_tap4": "1500", + "macaddress_tap5": "fe:91:63:c0:a0:4e", + "mtu_tap5": "1500", + "macaddress_tap6": "fe:34:75:2a:58:48", + "mtu_tap6": "1500", + "macaddress_tap7": "fe:a6:a9:74:a8:9e", + "mtu_tap7": "1500", + "macaddress_tap8": "fe:ec:98:c2:ed:f9", + "mtu_tap8": "1500", + "macaddress_tap9": "fe:ce:b7:96:70:4a", + "mtu_tap9": "1500", + "macaddress_tap10": "fe:3d:97:6a:3e:c8", + "mtu_tap10": "1500", + "macaddress_tap11": "fe:48:65:c0:f5:40", + "mtu_tap11": "1500", + "macaddress_tap12": "fe:a5:d4:7c:78:ea", + "mtu_tap12": "1500", + "macaddress_tap13": "fe:b4:c4:a2:80:a1", + "mtu_tap13": "1500", + "macaddress_tap14": "fe:87:c3:07:48:14", + "mtu_tap14": "1500", + "macaddress_tap15": "fe:8c:db:73:1e:f6", + "mtu_tap15": "1500", + "lsbdistcodename": "jessie", + "path": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "hardwareisa": "unknown", + "kernelrelease": "3.16.0-4-amd64", + "filesystems": "ext2,ext3,ext4,xfs", + "kernelversion": "3.16.0", + "selinux": "false", + "lsbmajdistrelease": "8", + "memorysize": "94.60 GB", + "memoryfree": "43.54 GB", + "swapsize": "3.72 GB", + "swapfree": "1.91 GB", + "swapsize_mb": "3812.00", + "swapfree_mb": "1959.95", + "memorysize_mb": "96870.70", + "memoryfree_mb": "44582.64", + "puppetversion": "3.7.2", + "uptime_hours": 921, + "sshdsakey": "AAAAB3NzaC1kc3MAAACBAOq8wwM/x6pBTJq1CKlpIh7n+ibjOnZZJ3mgffVEhYgHI3AKGXugVm1btdVAeDGxJSHJgqSMDruK5Mfoo0JoIT1ffmgs7zzpUQP4d+HYnHzKIasU0VHxKzw8OQCU1LKBP0LTp0ekpmtch4xdRbNBTUdgKYqFbvkkkqbA+wZbH5k5AAAAFQCkmbraImv1ZMZvWfWMVK28OG3IqQAAAIBYjixICIVK5PMwEc5wGQax1oP9mBkNo/T2rQBjbuJ3c+ps/IF96Pi2l6yemprsydcm8OlFPEL/BGGSauihsvk4hF0St7ObaCH+4QzCvKVweeRAqSp9RqqjZ+oC/q3GK9nxLMDCd4P6aO/DbtNrrGYMKkt9IKS/fd8zVoQkrqbk5QAAAIBjSl569h008tPkITW3nykJoDCztvBYvNgKhEWYJTGhHVNrQlKldzLqkDNRdPpoJ/a17pqRr1e+vJakjt7vcYKFH071q1ENSm03R7gGW9wpI/S70fBpiBDH6G0hedFw+VpqSF27zGxAoTOaypTYrVEkklFFR9noDWIztT0RqlmN7Q==", + "sshfp_dsa": "SSHFP 2 1 da48c8b334b977e0e69f67fb4c81b07096b3d1e1\nSSHFP 2 2 30a7d1c9488420628dea664b24daed514b93a1c46a360b95b9e350976d925633", + "sshrsakey": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDnlwSIDXoqBbsmAruOLcHQg2v0aOnQCqLp845Ii/6kmRroU5ZKwVRw378lZNU2oM/nM7TFwhk9pgEYhMURc9A4dhRLwp3p2ZvBfQrm8a/4D0taAkx4p5JEleksw58RRw44P042K5iRMBBGacubYLgvCsEKJsK1GB82i5wUBGniGGtMVyQbRiu8TRyOkdMKSaSOiXjTff7pc2OdNJH5sST0ALCrvny6p+b78PkHxa5o8giqu+gtyfeAiHwQJ3oe8Fuo2GdV8ksC4h+QLX3qgDERHq09o61wTIEsFI1TWomS8KaWtLzxyGWkcbfkLCk+ZiUiw3xehhvmqWrvf/NACyIB", + "sshfp_rsa": "SSHFP 1 1 4d646ab674ddeb5a15ad78d8117e0b7ce8cbe174\nSSHFP 1 2 efc6f36cb0bcab5efef2252a0bcf3f5ab980924b64119a8749810616725a327d", + "sshed25519key": "AAAAC3NzaC1lZDI1NTE5AAAAIAJIdIMOGvtxWeQfI0vyd/2ztni+S8DjsXdRapNcbqOD", + "sshfp_ed25519": "SSHFP 4 1 e34c8b249c55072d182fb83a03a518240c24527a\nSSHFP 4 2 f3bee02eb0f32936d20d899994277da35b421f30c530bd4611523615281906f8", + "blockdevice_sda_size": 6001095958528, + "blockdevice_sda_vendor": "HP", + "blockdevice_sda_model": "LOGICAL VOLUME", + "blockdevices": "sda", + "uptime": "38 days", + "domain": "debian.org", + "gid": "root", + "network_bond2": "192.168.75.0", + "network_br0": "82.195.75.64", + "network_lo": "127.0.0.0", + "augeasversion": "1.2.0", + "rubyversion": "2.1.5", + "lsbdistdescription": "Debian GNU/Linux 8.7 (jessie)", + "timezone": "UTC", + "ps": "ps -ef", + "lsbdistid": "Debian", + "fqdn": "czerny.debian.org", + "uniqueid": "c3526d4b", + "macaddress": "16:7c:38:54:5a:62", + "lsbdistrelease": "8.7", + "kernelmajversion": "3.16", + "partitions": { + "sda1": { + "uuid": "f9265c8c-a6d1-48bb-912e-f699be8c1698", + "size": "39062501", + "mount": "/", + "filesystem": "ext3" + }, + "sda2": { + "size": "11681827960", + "filesystem": "LVM2_member" + } + }, + "operatingsystemrelease": "8.7", + "system_uptime": { + "seconds": 3317584, + "hours": 921, + "days": 38, + "uptime": "38 days" + }, + "netmask": "255.255.255.0", + "mounts": "/,/dev/hugepages,/dev/mqueue,/sys/fs/cgroup/blkio,/sys/fs/cgroup/cpu,cpuacct,/sys/fs/cgroup/cpuset,/sys/fs/cgroup/devices,/sys/fs/cgroup/freezer,/sys/fs/cgroup/net_cls,net_prio,/sys/fs/cgroup/perf_event,/sys/fs/cgroup/systemd,/sys/fs/pstore,/sys/kernel/debug,/sys/kernel/security", + "has_srv_build_trees": false, + "has_srv_buildd": false, + "has_etc_ssh_ssh_host_ed25519_key": true, + "has_srv_mirrors_debian": false, + "has_srv_mirrors_debian_debug": false, + "has_srv_mirrors_debian_ports": false, + "has_srv_mirrors_debian_security": false, + "has_dev_hwrng": false, + "onion_tor_service_hostname": "{}", + "onion_balance_service_hostname": "{}", + "cluster": "ganeti3.debian.org", + "cluster_nodes": "clementi.debian.org czerny.debian.org", + "systemproductname": "ProLiant DL380 G7", + "hw_can_temp_sensors": true, + "brokenhosts": false, + "puppet_vardir": "/var/lib/puppet", + "v4ips": "82.195.75.109,192.168.75.109", + "v6ips": "2001:41b8:202:deb:6564:a62:52c3:4b6d", + "apache2": false, + "apache2deb9": false, + "clamd": false, + "exim4": true, + "postfix": false, + "postgres": false, + "postgrey": false, + "greylistd": false, + "policydweight": false, + "spamd": false, + "php5": false, + "php5suhosin": false, + "syslogversion": "3.5", + "unbound": true, + "munin_async": true, + "samhain": true, + "systemd": true, + "tor_ge_0_2_9": false, + "kvmdomain": false, + "concat_basedir": "/var/lib/puppet/concat", + "mta": "exim4", + "staticsync_user_exists": false, + "weblogsync_user_exists": false, + "buildd_user_exists": false, + "portforwarder_user_exists": false, + "smartarraycontroller": true, + "threewarecontroller": false, + "megaraid": false, + "mptraid": false, + "aacraid": false, + "swraid": false, + "root_home": "/root", + "staging_http_get": "curl", + "is_pe": false +} diff --git a/spec/octocatalog/facts/villa.debian.org.json b/spec/octocatalog/facts/villa.debian.org.json new file mode 100644 index 000000000..ccafb4d3b --- /dev/null +++ b/spec/octocatalog/facts/villa.debian.org.json @@ -0,0 +1,218 @@ +{ + "ipaddress": "212.211.132.32", + "uptime_hours": 980, + "hostname": "villa", + "uptime_seconds": 3528362, + "lsbdistdescription": "Debian GNU/Linux 8.7 (jessie)", + "kernel": "Linux", + "hoster": "scanplus", + "blockdevice_sda_size": 440346238976, + "blockdevice_sda_vendor": "HP", + "blockdevice_sda_model": "LOGICAL VOLUME", + "blockdevices": "sda", + "partitions": { + "sda1": { + "uuid": "ccd11f2f-1ec7-41d2-82bc-af67c7f9442c", + "size": "39061504", + "mount": "/", + "filesystem": "ext4" + }, + "sda2": { + "size": "2", + "filesystem": "dos" + }, + "sda5": { + "size": "820983808", + "filesystem": "LVM2_member" + } + }, + "os": { + "name": "Debian", + "family": "Debian", + "release": { + "major": "8", + "minor": "7", + "full": "8.7" + }, + "lsb": { + "distcodename": "jessie", + "distid": "Debian", + "distdescription": "Debian GNU/Linux 8.7 (jessie)", + "distrelease": "8.7", + "majdistrelease": "8", + "minordistrelease": "7" + } + }, + "virtual": "physical", + "is_virtual": "false", + "memorysize": "7.80 GB", + "memoryfree": "7.10 GB", + "swapsize": "3.72 GB", + "swapfree": "3.60 GB", + "swapsize_mb": "3812.00", + "swapfree_mb": "3681.32", + "memorysize_mb": "7990.73", + "memoryfree_mb": "7273.55", + "osfamily": "Debian", + "path": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "operatingsystemrelease": "8.7", + "fqdn": "villa.debian.org", + "processors": { + "models": [ + "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz" + ], + "count": 16, + "physicalcount": 2 + }, + "architecture": "amd64", + "debarchitecture": "amd64", + "hardwaremodel": "x86_64", + "operatingsystem": "Debian", + "processor0": "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "processor1": "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "processor2": "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "processor3": "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "processor4": "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "processor5": "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "processor6": "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "processor7": "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "processor8": "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "processor9": "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "processor10": "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "processor11": "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "processor12": "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "processor13": "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "processor14": "Intel(R) Xeon(R) CPU E5520 @ 2.27GHz", + "processor15": "Intel(R) Xeon(R) CPU L5520 @ 2.27GHz", + "processorcount": "16", + "facterversion": "2.2.0", + "ipaddress6": "2001:a78:5:0:216:35ff:fe7f:be4f", + "lsbdistid": "Debian", + "system_uptime": { + "seconds": 3528362, + "hours": 980, + "days": 40, + "uptime": "40 days" + }, + "kernelrelease": "3.16.0-4-amd64", + "kernelversion": "3.16.0", + "id": "root", + "operatingsystemmajrelease": "8", + "interfaces": "eth0,eth1,lo", + "ipaddress_eth0": "212.211.132.32", + "ipaddress6_eth0": "2001:a78:5:0:216:35ff:fe7f:be4f", + "macaddress_eth0": "f4:ce:46:b9:e5:60", + "netmask_eth0": "255.255.255.192", + "mtu_eth0": "1500", + "macaddress_eth1": "f4:ce:46:b9:e5:62", + "mtu_eth1": "1500", + "ipaddress_lo": "127.0.0.1", + "netmask_lo": "255.0.0.0", + "mtu_lo": "65536", + "lsbdistrelease": "8.7", + "gid": "root", + "domain": "debian.org", + "uptime_days": 40, + "rubyversion": "2.1.5", + "bios_vendor": "HP", + "bios_version": "P64", + "bios_release_date": "10/01/2009", + "manufacturer": "HP", + "productname": "ProLiant DL360 G6", + "serialnumber": "CZJ005078X", + "uuid": "35393135-3836-5A43-4A30-303530373858", + "type": "Rack Mount Chassis", + "network_eth0": "212.211.132.0", + "network_lo": "127.0.0.0", + "filesystems": "ext2,ext3,ext4", + "kernelmajversion": "3.16", + "ps": "ps -ef", + "lsbminordistrelease": "7", + "rubysitedir": "/usr/local/lib/site_ruby/2.1.0", + "augeasversion": "1.2.0", + "physicalprocessorcount": "2", + "macaddress": "f4:ce:46:b9:e5:60", + "hardwareisa": "unknown", + "puppetversion": "3.7.2", + "timezone": "UTC", + "uniqueid": "d3d42084", + "lsbmajdistrelease": "8", + "lsbdistcodename": "jessie", + "selinux": "false", + "uptime": "40 days", + "sshdsakey": "AAAAB3NzaC1kc3MAAACBAK/EneAEPRyW62MTFpr72n+zSzpL05qMp4jblfFQ8GxIirJCjX7Nthmsi0jmnicVMWEUEJrNy+Gspl87Cl8YXFQqA3R4ysSkjc1ZXN11l93UIWtBWRhbwTEUo4BFPqnZKrSd5od3jd68A/aP0lHa21P7rOLwMwQRiwphnWVjDyaHAAAAFQC46xX/1O2zzaUc9QTqAomsGCMAdwAAAIEApMsvZuv9z70BmX4rbO2ioOBCzQgkUZ3STjtE2t9Ex+spf6+8seSAtQA94gz0LA/GI09yy39fAOCNsh1gZTFngCaTZkH0NX9KQOwL7i/Z4X6Ss34w3y86yaFW9GAhGUhYnAB6/E4nShvH+/4TIFb+7FgEPl8neRCvLDgU9TLVvkAAAACBAIkM0bCEEfEvuFZq96lurC+IQ6+av0GmRJEhRjnfmYH34vs6XotXHWxzAmWUkPMTxyVMn7qIdlvi3u/RmKLy5ostmrX7PCVe9MDqrO+hdcwtsv1JPUJiM2JPttdMy4hHyiPMjG3pE1cA2OiDZkH3Fgbj9kGHinK/dV78RfDb73Qf", + "sshfp_dsa": "SSHFP 2 1 d75d1d9b24f3a07088706ef6533b6a8229192b86\nSSHFP 2 2 d8d8f31180dfde45cb39b0fabb65b3d20af819a7eb47fe59f9f0f278dc34860b", + "sshrsakey": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDPtZ76Wr0RTiDlY6xblfv+BSEgLa3n85GcNptKnypp5RbqHzUH94IAWsgx3AiP3SmevKRUWnQ2HcoQ51be1O4OA2BSGxT0d7Zsxq/WI4GvD+yJ8Kb2kRkjPFCUrp2zp3OBDBeEsfgDH6E8kOCQNiM2jSh276/bRAgz+wE6rGVtTLFYEdsqrTtb7moS7zbDjFCeBxfFmYyLH5EvBiY75D1sOuXBm9kalLpei5fe5MHCYekQtqPJPk8AJqv+uv0yBJTY5ifoAquKk5qNRVmVyVZyO414x/q02yATzUagL7clF+LqAfNV5TZCxdR0IcRt45d3f/Ac4L0qjJWRuI1XTR/h", + "sshfp_rsa": "SSHFP 1 1 e0866e35ab20a0dab08158fe223f92197f2d8bd9\nSSHFP 1 2 b5f3bb9e462f2357cf5dee4c9af10062f551c87c48399a5bcb740f3f0d6f5c52", + "sshecdsakey": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLTQXoO1vgPhblirINlhOyv/jlJJz8uDrFClbU4bp9F9+FQKc05OQ20XORWT/mfZHLg1lsOvXMdXcNWTQ8Ro5ZA=", + "sshfp_ecdsa": "SSHFP 3 1 791593233e69cb1785477fb4d1dc807d184791e7\nSSHFP 3 2 c5a3539240840fa6a6a48d4871654f0509078a8373f2fa9d7b3c639e33886bcb", + "sshed25519key": "AAAAC3NzaC1lZDI1NTE5AAAAICU+HgxYzAWGFK9D997SifOK/CxaZ+s4G+pPETE5nrOn", + "sshfp_ed25519": "SSHFP 4 1 595e05fdc12bb78e7d3c5c2c8dcf241aca06efcc\nSSHFP 4 2 5b5cbc300552fc49ab13c5daf074878884d5c69af6b594a480401553f94597fc", + "netmask": "255.255.255.192", + "has_srv_build_trees": false, + "has_srv_buildd": false, + "has_etc_ssh_ssh_host_ed25519_key": true, + "has_srv_mirrors_debian": false, + "has_srv_mirrors_debian_debug": false, + "has_srv_mirrors_debian_ports": false, + "has_srv_mirrors_debian_security": true, + "has_dev_hwrng": false, + "kvmdomain": false, + "mounts": "/,/dev/hugepages,/dev/mqueue,/srv,/sys/fs/cgroup/blkio,/sys/fs/cgroup/cpu,cpuacct,/sys/fs/cgroup/cpuset,/sys/fs/cgroup/devices,/sys/fs/cgroup/freezer,/sys/fs/cgroup/net_cls,net_prio,/sys/fs/cgroup/perf_event,/sys/fs/cgroup/systemd,/sys/fs/pstore,/sys/kernel/debug,/sys/kernel/security", + "brokenhosts": false, + "systemproductname": "ProLiant DL360 G6", + "hw_can_temp_sensors": true, + "smartarraycontroller": true, + "threewarecontroller": false, + "megaraid": false, + "mptraid": false, + "aacraid": false, + "swraid": false, + "staticsync_user_exists": false, + "weblogsync_user_exists": false, + "buildd_user_exists": false, + "portforwarder_user_exists": false, + "onion_tor_service_hostname": "{\"security.debian.org\":\"suhhvhg4eoow257o.onion\"}", + "onion_balance_service_hostname": "{}", + "staging_http_get": "curl", + "puppet_vardir": "/var/lib/puppet", + "apache2": true, + "apache2deb9": true, + "clamd": false, + "exim4": true, + "postfix": false, + "postgres": false, + "postgrey": false, + "greylistd": false, + "policydweight": false, + "spamd": false, + "php5": false, + "php5suhosin": false, + "syslogversion": "3.5", + "unbound": true, + "munin_async": true, + "samhain": true, + "systemd": true, + "tor_ge_0_2_9": true, + "root_home": "/root", + "v4ips": "212.211.132.32", + "v6ips": "2001:a78:5:0:216:35ff:fe7f:be4f", + "concat_basedir": "/var/lib/puppet/concat", + "is_pe": false, + "mta": "exim4" +} diff --git a/spec/octocatalog/hiera.yaml b/spec/octocatalog/hiera.yaml new file mode 100644 index 000000000..225639c38 --- /dev/null +++ b/spec/octocatalog/hiera.yaml @@ -0,0 +1,9 @@ +--- +:backends: + - yaml +:yaml: + :datadir: hieradata +:hierarchy: + - '%{hoster}' + - 'clusters/%{cluster}' + - 'common' diff --git a/spec/octocatalog/run-octocatalog b/spec/octocatalog/run-octocatalog new file mode 100755 index 000000000..2d0870489 --- /dev/null +++ b/spec/octocatalog/run-octocatalog @@ -0,0 +1,17 @@ +#!/bin/bash +set -euE + +ENV_BASE=$1 +ENV_TEST=$2 + +for fact in spec/octocatalog/facts/*; do + hostname=$(basename $fact .json) + bundle exec octocatalog-diff \ + --no-parallel \ + --bootstrapped-from-dir environments/$ENV_BASE/ \ + --bootstrapped-to-dir environments/$ENV_TEST/ \ + --hostname $hostname \ + --fact-file $fact \ + --puppet-binary $CI_PROJECT_DIR/bin/puppet \ + --display-source || [ $? == 2 ] +done -- 2.20.1