diff options
Diffstat (limited to 'omnibus')
-rw-r--r-- | omnibus/Gemfile | 6 | ||||
-rw-r--r-- | omnibus/Gemfile.lock | 296 | ||||
-rw-r--r-- | omnibus/README.md | 16 | ||||
-rw-r--r-- | omnibus/kitchen.hyperv.yml | 2 | ||||
-rw-r--r-- | omnibus/kitchen.yml | 8 |
5 files changed, 221 insertions, 107 deletions
diff --git a/omnibus/Gemfile b/omnibus/Gemfile index 1876755d84..a1cd1bbe48 100644 --- a/omnibus/Gemfile +++ b/omnibus/Gemfile @@ -11,10 +11,10 @@ gem "pedump" # by running `bundle install --without development` to speed up build times. group :development do # Use Berkshelf for resolving cookbook dependencies - gem "berkshelf", "~> 4.0" + gem "berkshelf", ">= 7.0" - # temp pin for chef 14 development - gem "ohai", "~> 13.0" + # We pin here to the last release Ohai so prevent more current chef coming in + gem "ohai", "~> 14.0" # Use Test Kitchen with Vagrant for converging the build environment gem "test-kitchen", "~> 1.21" diff --git a/omnibus/Gemfile.lock b/omnibus/Gemfile.lock index 9519ea3589..2317c6f8a5 100644 --- a/omnibus/Gemfile.lock +++ b/omnibus/Gemfile.lock @@ -1,24 +1,24 @@ GIT remote: https://github.com/chef/omnibus - revision: 7e9c9a6a71c1ada2d7f42484f13074e1ec6b7cd3 + revision: 386cd17f6a6365bd4585761a2738b4561fbaea97 branch: master specs: - omnibus (5.6.12) + omnibus (6.0.1) aws-sdk (~> 2) - chef-sugar (~> 3.3) + chef-sugar (>= 3.3) cleanroom (~> 1.0) ffi-yajl (~> 2.2) license_scout (~> 1.0) mixlib-shellout (~> 2.0) mixlib-versioning - ohai (>= 8.6.0.alpha.1, < 15) + ohai (>= 13, < 15) pedump ruby-progressbar (~> 1.7) thor (~> 0.18) GIT remote: https://github.com/chef/omnibus-software - revision: d48afdf29dd9c9d0562656675d1036cd035c2a46 + revision: 56ae031dc36c9c060eb94709dd30f13ac50bc3f2 branch: master specs: omnibus-software (4.0.0) @@ -31,70 +31,131 @@ GEM addressable (2.5.2) public_suffix (>= 2.0.2, < 4.0) awesome_print (1.8.0) - aws-sdk (2.11.93) - aws-sdk-resources (= 2.11.93) - aws-sdk-core (2.11.93) + aws-sdk (2.11.118) + aws-sdk-resources (= 2.11.118) + aws-sdk-core (2.11.118) aws-sigv4 (~> 1.0) jmespath (~> 1.0) - aws-sdk-resources (2.11.93) - aws-sdk-core (= 2.11.93) + aws-sdk-resources (2.11.118) + aws-sdk-core (= 2.11.118) aws-sigv4 (1.0.3) - berkshelf (4.3.5) - addressable (~> 2.3, >= 2.3.4) - berkshelf-api-client (~> 2.0, >= 2.0.2) - buff-config (~> 1.0) - buff-extensions (~> 1.0) - buff-shell_out (~> 0.1) - celluloid (= 0.16.0) - celluloid-io (~> 0.16.1) + berkshelf (7.0.6) + chef (>= 13.6.52) + chef-config cleanroom (~> 1.0) - faraday (~> 0.9) - httpclient (~> 2.7) - minitar (~> 0.5, >= 0.5.4) - mixlib-archive (~> 0.1) + concurrent-ruby (~> 1.0) + minitar (>= 0.6) + mixlib-archive (~> 0.4) + mixlib-config (>= 2.2.5) + mixlib-shellout (~> 2.0) octokit (~> 4.0) retryable (~> 2.0) - ridley (~> 4.5) - solve (~> 2.0) - thor (~> 0.19) - berkshelf-api-client (2.0.2) - faraday (~> 0.9.1) - httpclient (~> 2.7.0) - ridley (~> 4.5) + solve (~> 4.0) + thor (>= 0.20) binding_of_caller (0.8.0) debug_inspector (>= 0.0.1) - buff-config (1.0.1) - buff-extensions (~> 1.0) - varia_model (~> 0.4) - buff-extensions (1.0.0) - buff-ignore (1.1.1) - buff-ruby_engine (0.1.0) - buff-shell_out (0.2.0) - buff-ruby_engine (~> 0.1.0) builder (3.2.3) byebug (10.0.2) - celluloid (0.16.0) - timers (~> 4.0.0) - celluloid-io (0.16.2) - celluloid (>= 0.16.0) - nio4r (>= 1.1.0) - chef-config (13.10.0) + chef (14.4.56) + addressable + bundler (>= 1.10) + chef-config (= 14.4.56) + chef-zero (>= 13.0) + diff-lcs (~> 1.2, >= 1.2.4) + erubis (~> 2.7) + ffi (~> 1.9, >= 1.9.25) + ffi-yajl (~> 2.2) + highline (~> 1.6, >= 1.6.9) + iniparse (~> 1.4) + iso8601 (~> 0.11.0) + mixlib-archive (~> 0.4) + mixlib-authentication (~> 2.1) + mixlib-cli (~> 1.7) + mixlib-log (~> 2.0, >= 2.0.3) + mixlib-shellout (~> 2.4) + net-sftp (~> 2.1, >= 2.1.2) + net-ssh (~> 4.2) + net-ssh-multi (~> 1.2, >= 1.2.1) + ohai (~> 14.0) + plist (~> 3.2) + proxifier (~> 1.0) + rspec-core (~> 3.5, < 3.8) + rspec-expectations (~> 3.5, < 3.8) + rspec-mocks (~> 3.5, < 3.8) + rspec_junit_formatter (~> 0.2.0) + serverspec (~> 2.7) + specinfra (~> 2.10) + syslog-logger (~> 1.6) + uuidtools (~> 2.1.5) + chef (14.4.56-universal-mingw32) + addressable + bundler (>= 1.10) + chef-config (= 14.4.56) + chef-zero (>= 13.0) + diff-lcs (~> 1.2, >= 1.2.4) + erubis (~> 2.7) + ffi (~> 1.9, >= 1.9.25) + ffi-yajl (~> 2.2) + highline (~> 1.6, >= 1.6.9) + iniparse (~> 1.4) + iso8601 (~> 0.11.0) + mixlib-archive (~> 0.4) + mixlib-authentication (~> 2.1) + mixlib-cli (~> 1.7) + mixlib-log (~> 2.0, >= 2.0.3) + mixlib-shellout (~> 2.4) + net-sftp (~> 2.1, >= 2.1.2) + net-ssh (~> 4.2) + net-ssh-multi (~> 1.2, >= 1.2.1) + ohai (~> 14.0) + plist (~> 3.2) + proxifier (~> 1.0) + rspec-core (~> 3.5, < 3.8) + rspec-expectations (~> 3.5, < 3.8) + rspec-mocks (~> 3.5, < 3.8) + rspec_junit_formatter (~> 0.2.0) + serverspec (~> 2.7) + specinfra (~> 2.10) + syslog-logger (~> 1.6) + uuidtools (~> 2.1.5) + win32-api (~> 1.5.3) + win32-dir (~> 0.5.0) + win32-event (~> 0.6.1) + win32-eventlog (= 0.6.3) + win32-mmap (~> 0.4.1) + win32-mutex (~> 0.4.2) + win32-process (~> 0.8.2) + win32-service (~> 1.0) + win32-taskscheduler (~> 1.0.0) + windows-api (~> 0.4.4) + wmi-lite (~> 1.0) + chef-config (14.4.56) addressable fuzzyurl mixlib-config (>= 2.2.12, < 3.0) mixlib-shellout (~> 2.0) tomlrb (~> 1.2) - chef-sugar (3.6.0) + chef-sugar (4.1.0) + chef-zero (14.0.6) + ffi-yajl (~> 2.2) + hashie (>= 2.0, < 4.0) + mixlib-log (~> 2.0) + rack (~> 2.0) + uuidtools (~> 2.1) citrus (3.0.2) cleanroom (1.0.0) coderay (1.1.2) + concurrent-ruby (1.0.5) debug_inspector (0.0.3) + diff-lcs (1.3) erubis (2.7.0) - faraday (0.9.2) + faraday (0.15.2) multipart-post (>= 1.2, < 3) ffi (1.9.25) ffi (1.9.25-x64-mingw32) ffi (1.9.25-x86-mingw32) + ffi-win32-extensions (1.0.3) + ffi ffi-yajl (2.3.1) libyajl2 (~> 1.2) fuzzyurl (0.9.0) @@ -102,19 +163,18 @@ GEM ffi (>= 1.0.1) gyoku (1.3.1) builder (>= 2.1.2) - hashie (3.5.7) - hitimes (1.3.0) - hitimes (1.3.0-x64-mingw32) - hitimes (1.3.0-x86-mingw32) - httpclient (2.7.2) + hashie (3.6.0) + highline (1.7.10) + httpclient (2.8.3) + iniparse (1.4.4) iostruct (0.0.4) ipaddress (0.8.3) + iso8601 (0.11.0) jmespath (1.4.0) - json (2.1.0) - kitchen-vagrant (1.3.2) + kitchen-vagrant (1.3.3) test-kitchen (~> 1.4) libyajl2 (1.2.0) - license_scout (1.0.10) + license_scout (1.0.15) ffi-yajl (~> 2.2) mixlib-shellout (~> 2.2) toml-rb (~> 1.0) @@ -124,42 +184,47 @@ GEM multi_json (~> 1.10) method_source (0.9.0) minitar (0.6.1) - mixlib-archive (0.4.8) + mixlib-archive (0.4.16) mixlib-log mixlib-authentication (2.1.1) mixlib-cli (1.7.0) mixlib-config (2.2.13) tomlrb - mixlib-install (3.11.2) + mixlib-install (3.11.5) mixlib-shellout mixlib-versioning thor - mixlib-log (1.7.1) + mixlib-log (2.0.4) mixlib-shellout (2.4.0) mixlib-shellout (2.4.0-universal-mingw32) win32-process (~> 0.8.2) wmi-lite (~> 1.0) mixlib-versioning (1.2.2) - molinillo (0.4.5) + molinillo (0.6.6) multi_json (1.13.1) multipart-post (2.0.0) net-scp (1.2.1) net-ssh (>= 2.6.5) + net-sftp (2.1.2) + net-ssh (>= 2.6.5) net-ssh (4.2.0) net-ssh-gateway (1.3.0) net-ssh (>= 2.6.5) - nio4r (2.3.1) + net-ssh-multi (1.2.1) + net-ssh (>= 2.6.5) + net-ssh-gateway (>= 1.2.0) + net-telnet (0.2.0) nori (2.6.0) - octokit (4.9.0) + octokit (4.10.0) sawyer (~> 0.8.0, >= 0.5.3) - ohai (13.10.0) - chef-config (>= 12.5.0.alpha.1, < 14) + ohai (14.4.2) + chef-config (>= 12.8, < 15) ffi (~> 1.9) ffi-yajl (~> 2.2) ipaddress - mixlib-cli + mixlib-cli (>= 1.7.0) mixlib-config (~> 2.0) - mixlib-log (>= 1.7.1, < 2.0) + mixlib-log (~> 2.0, >= 2.0.1) mixlib-shellout (~> 2.0) plist (~> 3.1) systemu (~> 2.6.4) @@ -171,7 +236,8 @@ GEM progressbar zhexdump (>= 0.0.2) plist (3.4.0) - progressbar (1.9.0) + progressbar (1.10.0) + proxifier (1.0.3) pry (0.11.3) coderay (~> 1.1.0) method_source (~> 0.9.0) @@ -181,38 +247,53 @@ GEM pry-stack_explorer (0.4.9.2) binding_of_caller (>= 0.7) pry (>= 0.9.11) - public_suffix (3.0.2) + public_suffix (3.0.3) + rack (2.0.5) retryable (2.0.4) - ridley (4.6.1) - addressable - buff-config (~> 1.0) - buff-extensions (~> 1.0) - buff-ignore (~> 1.1.1) - buff-shell_out (~> 0.1) - celluloid (~> 0.16.0) - celluloid-io (~> 0.16.1) - chef-config (>= 12.5.0) - erubis - faraday (~> 0.9.0) - hashie (>= 2.0.2, < 4.0.0) - httpclient (~> 2.7) - json (>= 1.7.7) - mixlib-authentication (>= 1.3.0) - retryable (~> 2.0) - semverse (~> 1.1) - varia_model (~> 0.4.0) - ruby-progressbar (1.9.0) + rspec (3.7.0) + rspec-core (~> 3.7.0) + rspec-expectations (~> 3.7.0) + rspec-mocks (~> 3.7.0) + rspec-core (3.7.1) + rspec-support (~> 3.7.0) + rspec-expectations (3.7.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.7.0) + rspec-its (1.2.0) + rspec-core (>= 3.0.0) + rspec-expectations (>= 3.0.0) + rspec-mocks (3.7.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.7.0) + rspec-support (3.7.1) + rspec_junit_formatter (0.2.3) + builder (< 4) + rspec-core (>= 2, < 4, != 2.12.0) + ruby-progressbar (1.10.0) rubyntlm (0.6.2) rubyzip (1.2.1) sawyer (0.8.1) addressable (>= 2.3.5, < 2.6) faraday (~> 0.8, < 1.0) - semverse (1.2.1) - solve (2.0.3) - molinillo (~> 0.4.2) - semverse (~> 1.1) + semverse (2.0.0) + serverspec (2.41.3) + multi_json + rspec (~> 3.0) + rspec-its + specinfra (~> 2.72) + sfl (2.3) + solve (4.0.0) + molinillo (~> 0.6) + semverse (>= 1.1, < 3.0) + specinfra (2.76.1) + net-scp + net-ssh (>= 2.7) + net-telnet + sfl + structured_warnings (0.3.0) + syslog-logger (1.6.8) systemu (2.6.5) - test-kitchen (1.22.0) + test-kitchen (1.23.2) mixlib-install (~> 3.6) mixlib-shellout (>= 1.2, < 3.0) net-scp (~> 1.1) @@ -223,16 +304,33 @@ GEM winrm-elevated (~> 1.0) winrm-fs (~> 1.1) thor (0.20.0) - timers (4.0.4) - hitimes - toml-rb (1.1.1) + toml-rb (1.1.2) citrus (~> 3.0, > 3.0) tomlrb (1.2.7) - varia_model (0.4.1) - buff-extensions (~> 1.0) - hashie (>= 2.0.2, < 4.0.0) + uuidtools (2.1.5) + win32-api (1.5.3-universal-mingw32) + win32-dir (0.5.1) + ffi (>= 1.0.0) + win32-event (0.6.3) + win32-ipc (>= 0.6.0) + win32-eventlog (0.6.3) + ffi + win32-ipc (0.7.0) + ffi + win32-mmap (0.4.2) + ffi + win32-mutex (0.4.3) + win32-ipc (>= 0.6.0) win32-process (0.8.3) ffi (>= 1.0.0) + win32-service (1.0.1) + ffi + ffi-win32-extensions + win32-taskscheduler (1.0.10) + ffi + structured_warnings + windows-api (0.4.4) + win32-api (>= 1.4.5) winrm (2.2.3) builder (>= 2.1.2) erubis (~> 2.7) @@ -245,7 +343,7 @@ GEM winrm-elevated (1.1.0) winrm (~> 2.0) winrm-fs (~> 1.0) - winrm-fs (1.2.0) + winrm-fs (1.2.1) erubis (~> 2.7) logging (>= 1.6.1, < 3.0) rubyzip (~> 1.1) @@ -259,9 +357,9 @@ PLATFORMS x86-mingw32 DEPENDENCIES - berkshelf (~> 4.0) + berkshelf (>= 7.0) kitchen-vagrant (~> 1.3.1) - ohai (~> 13.0) + ohai (~> 14.0) omnibus! omnibus-software! pedump @@ -272,4 +370,4 @@ DEPENDENCIES winrm-fs (~> 1.0) BUNDLED WITH - 1.16.2 + 1.16.4 diff --git a/omnibus/README.md b/omnibus/README.md index 50c28779be..0db2d56448 100644 --- a/omnibus/README.md +++ b/omnibus/README.md @@ -70,6 +70,12 @@ Once you have tweaked your `kitchen.yml` (or `kitchen.local.yml`) to your liking $ bundle exec kitchen converge chef-ubuntu-1404 ``` +Additional settings are required if using the kitchen-vagrant driver with the Hyper-V provider: + +``` +PS> $env:KITCHEN_LOCAL_YAML="kitchen.hyperv.yml"; kitchen converge chef-windows-server-2012r2-standard +``` + Then login to the instance and build the project as described in the Usage section: ```shell @@ -89,7 +95,7 @@ $ kitchen login chef-ubuntu-1404 [vagrant@ubuntu...] $ bundle exec omnibus build chef -l internal ``` -You can also login to Windows instances but will have to manually call the `load-omnibus-toolchain.bat` script which initializes the build environment. Please note the mounted code directory is also at `C:\home\vagrant\chef\omnibus` as opposed to `C:\Users\vagrant\chef\omnibus`. +You can also login to Windows instances but will have to manually call the `load-omnibus-toolchain.ps1` script from an administrative PowerShell session which initializes the build environment. You will also need to `git clone https://github.com/chef/chef` into the `c:\vagrant` folder to workaround the lack of a shared folder. ```shell $ bundle exec kitchen login <PROJECT>-windows-81-professional @@ -97,13 +103,13 @@ Last login: Sat Sep 13 10:19:04 2014 from 172.16.27.1 Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. -C:\>C:\vagrant\load-omnibus-toolchain.bat +C:\>C:\vagrant\load-omnibus-toolchain.ps1 -C:\>cd C:\vagrant\code\chef\omnibus +C:\>cd C:\vagrant\chef\omnibus -C:\vagrant\code\chef\omnibus>bundle install --without development +C:\vagrant\chef\omnibus>bundle install --without development -C:\vagrant\code\chef\omnibus>bundle exec omnibus build chef -l internal +C:\vagrant\chef\omnibus>bundle exec omnibus build chef -l internal ``` For a complete list of all commands and platforms, run `kitchen list` or `kitchen help`. diff --git a/omnibus/kitchen.hyperv.yml b/omnibus/kitchen.hyperv.yml new file mode 100644 index 0000000000..99fb55680a --- /dev/null +++ b/omnibus/kitchen.hyperv.yml @@ -0,0 +1,2 @@ +driver: + provider: hyperv
\ No newline at end of file diff --git a/omnibus/kitchen.yml b/omnibus/kitchen.yml index 7a99858761..81aba1de47 100644 --- a/omnibus/kitchen.yml +++ b/omnibus/kitchen.yml @@ -95,6 +95,7 @@ platforms: # mounts at `C:\vagrant\code` and the Chef source folder is available # at `C:\vagrant\code\chef` - ['../..', '/vagrant/code'] + communicator: winrm provisioner: attributes: omnibus: @@ -102,6 +103,9 @@ platforms: build_user_group: Administrators build_user_password: vagrant chef_omnibus_root: /opscode/angrychef + transport: + name: winrm + elevated: true # Windows 32-bit # By adding an `i386` to the name the Omnibus cookbook's `load-omnibus-toolchain.bat` @@ -111,6 +115,7 @@ platforms: box: chef/windows-<%= win_version %> # private synced_folders: - ['../..', '/vagrant/code'] + communicator: winrm provisioner: attributes: omnibus: @@ -118,6 +123,9 @@ platforms: build_user_group: Administrators build_user_password: vagrant chef_omnibus_root: /opscode/angrychef + transport: + name: winrm + elevated: true <% end %> suites: |