summaryrefslogtreecommitdiff
path: root/omnibus
diff options
context:
space:
mode:
Diffstat (limited to 'omnibus')
-rw-r--r--omnibus/Gemfile6
-rw-r--r--omnibus/Gemfile.lock296
-rw-r--r--omnibus/README.md16
-rw-r--r--omnibus/kitchen.hyperv.yml2
-rw-r--r--omnibus/kitchen.yml8
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: