Comments (10)
I think in the app
style we should have the Berksfile
and .kitchen.yml
at the root of the app. Because it's likely that one will build multiple cookbooks inside the cookbooks directory.
We should probably move the Berksfile
to the root and fix the things that are blocking initial kitchen run.
from chef-dk.
I moved the Berksfile and the Berksfile.lock to the root of the app, but it keeps giving errors (as expected, actually). I give you the info I got. Anything I can further do?
-----> Starting Kitchen (v1.2.2.dev)
-----> Converging <default-ubuntu-1204>...
Preparing files for transfer
Resolving cookbook dependencies with Berkshelf 3.1.1...
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #converge action: [Berkshelf::BerksfileReadError]
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration
kitchen.log
I, [2014-05-15T10:00:13.814651 #13926] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-15T10:00:14.037886 #13926] INFO -- Kitchen: -----> Creating <default-ubuntu-1204>...
I, [2014-05-15T10:01:00.536566 #13926] INFO -- Kitchen: -----> Kitchen is finished. (0m46.72s)
I, [2014-05-15T10:04:13.988004 #15158] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-15T10:04:14.204775 #15158] INFO -- Kitchen: -----> Converging <default-ubuntu-1204>...
E, [2014-05-15T10:04:59.642633 #15158] ERROR -- Kitchen: Converge failed on instance <default-ubuntu-1204>.
I, [2014-05-15T10:10:52.515696 #15219] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-15T10:10:52.856539 #15219] INFO -- Kitchen: -----> Converging <default-ubuntu-1204>...
E, [2014-05-15T10:10:55.930645 #15219] ERROR -- Kitchen: Converge failed on instance <default-ubuntu-1204>.
I, [2014-05-15T10:14:53.268288 #15411] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-15T10:14:53.487806 #15411] INFO -- Kitchen: -----> Converging <default-ubuntu-1204>...
E, [2014-05-15T10:14:56.655521 #15411] ERROR -- Kitchen: Converge failed on instance <default-ubuntu-1204>.
I, [2014-05-15T11:42:07.543804 #20304] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-15T11:42:07.781307 #20304] INFO -- Kitchen: -----> Converging <default-ubuntu-1204>...
E, [2014-05-15T11:42:10.937401 #20304] ERROR -- Kitchen: Converge failed on instance <default-ubuntu-1204>.
I, [2014-05-15T11:51:00.305618 #20376] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-15T11:51:00.524432 #20376] INFO -- Kitchen: -----> Destroying <default-ubuntu-1204>...
I, [2014-05-15T11:51:04.944415 #20376] INFO -- Kitchen: -----> Kitchen is finished. (0m4.64s)
I, [2014-05-16T09:00:38.095996 #25381] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-16T09:00:38.610830 #25381] INFO -- Kitchen: -----> Creating <default-ubuntu-1204>...
I, [2014-05-16T09:01:36.855047 #25381] INFO -- Kitchen: -----> Kitchen is finished. (0m58.74s)
I, [2014-05-16T09:01:55.323928 #26581] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-16T09:01:55.764745 #26581] INFO -- Kitchen: -----> Converging <default-ubuntu-1204>...
E, [2014-05-16T09:01:55.864501 #26581] ERROR -- Kitchen: ------Exception-------
E, [2014-05-16T09:01:55.864539 #26581] ERROR -- Kitchen: Class: Kitchen::ActionFailed
E, [2014-05-16T09:01:55.864560 #26581] ERROR -- Kitchen: Message: Failed to complete #converge action: [Berkshelf::BerksfileReadError]
E, [2014-05-16T09:01:55.864581 #26581] ERROR -- Kitchen: ---Nested Exception---
E, [2014-05-16T09:01:55.864604 #26581] ERROR -- Kitchen: Class: Berkshelf::BerksfileReadError
E, [2014-05-16T09:01:55.864623 #26581] ERROR -- Kitchen: Message: Berkshelf::BerksfileReadError
E, [2014-05-16T09:01:55.864648 #26581] ERROR -- Kitchen: ------Backtrace-------
E, [2014-05-16T09:01:55.864667 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/ridley-3.1.0/lib/ridley/mixin/from_file.rb:63:in `ensure_presence!'
E, [2014-05-16T09:01:55.864686 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/ridley-3.1.0/lib/ridley/mixin/from_file.rb:28:in `from_file'
E, [2014-05-16T09:01:55.864706 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/ridley-3.1.0/lib/ridley/mixin/from_file.rb:5:in `from_file'
E, [2014-05-16T09:01:55.864725 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/berksfile.rb:165:in `metadata'
E, [2014-05-16T09:01:55.864749 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:26:in `block (3 levels) in clean_room'
E, [2014-05-16T09:01:55.864768 #26581] ERROR -- Kitchen: /home/david/devel/ck/dtcat-joomla/Berksfile:3:in `block in dsl_eval_file'
E, [2014-05-16T09:01:55.864787 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:54:in `eval'
E, [2014-05-16T09:01:55.864811 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:54:in `block in dsl_eval_file'
E, [2014-05-16T09:01:55.864837 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:44:in `instance_eval'
E, [2014-05-16T09:01:55.864858 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:44:in `dsl_eval'
E, [2014-05-16T09:01:55.864877 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:54:in `dsl_eval_file'
E, [2014-05-16T09:01:55.864896 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/berksfile.rb:23:in `from_file'
E, [2014-05-16T09:01:55.864920 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef/berkshelf.rb:55:in `block in resolve'
E, [2014-05-16T09:01:55.864939 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/shell/basic.rb:20:in `mute'
E, [2014-05-16T09:01:55.864958 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef/berkshelf.rb:51:in `resolve'
E, [2014-05-16T09:01:55.864977 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:394:in `block in resolve_with_berkshelf'
E, [2014-05-16T09:01:55.865001 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:393:in `synchronize'
E, [2014-05-16T09:01:55.865020 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:393:in `resolve_with_berkshelf'
E, [2014-05-16T09:01:55.865039 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:259:in `prepare_cookbooks'
E, [2014-05-16T09:01:55.865058 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:120:in `create_sandbox'
E, [2014-05-16T09:01:55.865082 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_solo.rb:33:in `create_sandbox'
E, [2014-05-16T09:01:55.865109 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/driver/ssh_base.rb:40:in `converge'
E, [2014-05-16T09:01:55.865130 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/kitchen-vagrant-0.15.0/lib/kitchen/driver/vagrant.rb:75:in `converge'
E, [2014-05-16T09:01:55.865149 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:280:in `public_send'
E, [2014-05-16T09:01:55.865168 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:280:in `block in perform_action'
E, [2014-05-16T09:01:55.865202 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:315:in `call'
E, [2014-05-16T09:01:55.865222 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:315:in `synchronize_or_call'
E, [2014-05-16T09:01:55.865241 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:290:in `block in action'
E, [2014-05-16T09:01:55.865260 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/2.1.0/benchmark.rb:279:in `measure'
E, [2014-05-16T09:01:55.865278 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:289:in `action'
E, [2014-05-16T09:01:55.865297 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:280:in `perform_action'
E, [2014-05-16T09:01:55.865316 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:263:in `converge_action'
E, [2014-05-16T09:01:55.865334 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:253:in `block in transition_to'
E, [2014-05-16T09:01:55.865353 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:252:in `each'
E, [2014-05-16T09:01:55.865387 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:252:in `transition_to'
E, [2014-05-16T09:01:55.865407 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:119:in `converge'
E, [2014-05-16T09:01:55.865426 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command.rb:109:in `public_send'
E, [2014-05-16T09:01:55.865445 #26581] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command.rb:109:in `block (2 levels) in run_action'
E, [2014-05-16T09:01:55.865463 #26581] ERROR -- Kitchen: ----------------------
I, [2014-05-16T09:08:39.359828 #26654] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-16T09:08:39.805121 #26654] INFO -- Kitchen: -----> Destroying <default-ubuntu-1204>...
I, [2014-05-16T09:08:43.391807 #26654] INFO -- Kitchen: -----> Kitchen is finished. (0m4.03s)
I, [2014-05-16T09:14:01.045438 #27074] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-16T09:14:01.466422 #27074] INFO -- Kitchen: -----> Creating <default-ubuntu-1204>...
I, [2014-05-16T09:14:52.345214 #27074] INFO -- Kitchen: -----> Kitchen is finished. (0m51.30s)
I, [2014-05-16T09:15:01.124923 #28241] INFO -- Kitchen: -----> Starting Kitchen (v1.2.2.dev)
I, [2014-05-16T09:15:01.861242 #28241] INFO -- Kitchen: -----> Converging <default-ubuntu-1204>...
E, [2014-05-16T09:15:01.964698 #28241] ERROR -- Kitchen: ------Exception-------
E, [2014-05-16T09:15:01.964751 #28241] ERROR -- Kitchen: Class: Kitchen::ActionFailed
E, [2014-05-16T09:15:01.964781 #28241] ERROR -- Kitchen: Message: Failed to complete #converge action: [Berkshelf::BerksfileReadError]
E, [2014-05-16T09:15:01.964809 #28241] ERROR -- Kitchen: ---Nested Exception---
E, [2014-05-16T09:15:01.964835 #28241] ERROR -- Kitchen: Class: Berkshelf::BerksfileReadError
E, [2014-05-16T09:15:01.964881 #28241] ERROR -- Kitchen: Message: Berkshelf::BerksfileReadError
E, [2014-05-16T09:15:01.964907 #28241] ERROR -- Kitchen: ------Backtrace-------
E, [2014-05-16T09:15:01.964933 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/ridley-3.1.0/lib/ridley/mixin/from_file.rb:63:in `ensure_presence!'
E, [2014-05-16T09:15:01.964960 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/ridley-3.1.0/lib/ridley/mixin/from_file.rb:28:in `from_file'
E, [2014-05-16T09:15:01.964986 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/ridley-3.1.0/lib/ridley/mixin/from_file.rb:5:in `from_file'
E, [2014-05-16T09:15:01.965018 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/berksfile.rb:165:in `metadata'
E, [2014-05-16T09:15:01.965045 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:26:in `block (3 levels) in clean_room'
E, [2014-05-16T09:15:01.965072 #28241] ERROR -- Kitchen: /home/david/devel/ck/dtcat-joomla/Berksfile:3:in `block in dsl_eval_file'
E, [2014-05-16T09:15:01.965129 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:54:in `eval'
E, [2014-05-16T09:15:01.965156 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:54:in `block in dsl_eval_file'
E, [2014-05-16T09:15:01.965182 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:44:in `instance_eval'
E, [2014-05-16T09:15:01.965208 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:44:in `dsl_eval'
E, [2014-05-16T09:15:01.965233 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/mixin/dsl_eval.rb:54:in `dsl_eval_file'
E, [2014-05-16T09:15:01.965272 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-3.1.1/lib/berkshelf/berksfile.rb:23:in `from_file'
E, [2014-05-16T09:15:01.965309 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef/berkshelf.rb:55:in `block in resolve'
E, [2014-05-16T09:15:01.965337 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/shell/basic.rb:20:in `mute'
E, [2014-05-16T09:15:01.965362 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef/berkshelf.rb:51:in `resolve'
E, [2014-05-16T09:15:01.965387 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:394:in `block in resolve_with_berkshelf'
E, [2014-05-16T09:15:01.965412 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:393:in `synchronize'
E, [2014-05-16T09:15:01.965437 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:393:in `resolve_with_berkshelf'
E, [2014-05-16T09:15:01.965475 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:259:in `prepare_cookbooks'
E, [2014-05-16T09:15:01.965501 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_base.rb:120:in `create_sandbox'
E, [2014-05-16T09:15:01.965526 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/provisioner/chef_solo.rb:33:in `create_sandbox'
E, [2014-05-16T09:15:01.965550 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/driver/ssh_base.rb:40:in `converge'
E, [2014-05-16T09:15:01.965576 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/kitchen-vagrant-0.15.0/lib/kitchen/driver/vagrant.rb:75:in `converge'
E, [2014-05-16T09:15:01.965601 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:280:in `public_send'
E, [2014-05-16T09:15:01.965625 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:280:in `block in perform_action'
E, [2014-05-16T09:15:01.965650 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:315:in `call'
E, [2014-05-16T09:15:01.965675 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:315:in `synchronize_or_call'
E, [2014-05-16T09:15:01.965700 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:290:in `block in action'
E, [2014-05-16T09:15:01.965744 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/lib/ruby/2.1.0/benchmark.rb:279:in `measure'
E, [2014-05-16T09:15:01.965771 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:289:in `action'
E, [2014-05-16T09:15:01.965796 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:280:in `perform_action'
E, [2014-05-16T09:15:01.965821 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:263:in `converge_action'
E, [2014-05-16T09:15:01.965846 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:253:in `block in transition_to'
E, [2014-05-16T09:15:01.965870 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:252:in `each'
E, [2014-05-16T09:15:01.965895 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:252:in `transition_to'
E, [2014-05-16T09:15:01.965919 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:119:in `converge'
E, [2014-05-16T09:15:01.965944 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command.rb:109:in `public_send'
E, [2014-05-16T09:15:01.965969 #28241] ERROR -- Kitchen: /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command.rb:109:in `block (2 levels) in run_action'
E, [2014-05-16T09:15:01.965994 #28241] ERROR -- Kitchen: ----------------------
#kitchen diagnose --all
---
timestamp: 2014-05-16 07:21:56.800418247 Z
kitchen_version: 1.2.2.dev
loader:
process_erb: true
process_local: true
process_global: true
global_config:
filename: "/home/david/.kitchen/config.yml"
raw_data:
provisioner:
solo_rb:
http_proxy: http://proxy.foo.com:3333
https_proxy: http://proxy.foo.com:3333
no_proxy: localhost,127.0.0.1
client_rb:
http_proxy: http://proxy.foo.com:3333
https_proxy: http://proxy.foo.com:3333
no_proxy: localhost,127.0.0.1
project_config:
filename: "/home/david/devel/ck/dtcat-joomla/.kitchen.yml"
raw_data:
driver:
name: vagrant
driver_config:
http_proxy: http://proxy.foo.com:3333
https_proxy: http://proxy.foo.com:3333
network:
- - private_network
- ip: 192.168.0.2
provisioner:
name: chef_solo
platforms:
- name: ubuntu-12.04
suites:
- name: default
run_list:
- recipe[apt]
- recipe[dtcat-joomla::default]
local_config:
combined_config:
filename:
raw_data:
driver:
name: vagrant
driver_config:
http_proxy: http://proxy.foo.com:3333
https_proxy: http://proxy.foo.com:3333
network:
- - private_network
- ip: 192.168.0.2
provisioner:
name: chef_solo
solo_rb:
http_proxy: http://proxy.foo.com:3333
https_proxy: http://proxy.foo.com:3333
no_proxy: localhost,127.0.0.1
client_rb:
http_proxy: http://proxy.foo.com:3333
https_proxy: http://proxy.foo.com:3333
no_proxy: localhost,127.0.0.1
platforms:
- name: ubuntu-12.04
suites:
- name: default
run_list:
- recipe[apt]
- recipe[dtcat-joomla::default]
instances:
default-ubuntu-1204:
state_file:
hostname: 127.0.0.1
last_action: create
port: '2201'
ssh_key: "/home/david/.vagrant.d/insecure_private_key"
username: vagrant
driver:
box: opscode-ubuntu-12.04
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-12.04_chef-provisionerless.box
customize: {}
http_proxy: http://proxy.foo.com:3333
https_proxy: http://proxy.foo.com:3333
kitchen_root: "/home/david/devel/ck/dtcat-joomla"
log_level: :info
name: vagrant
network:
- - private_network
- ip: 192.168.0.2
port: 22
pre_create_command:
provider: virtualbox
sudo: true
synced_folders: []
test_base_path: "/home/david/devel/ck/dtcat-joomla/test/integration"
vagrantfile_erb: "/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/kitchen-vagrant-0.15.0/templates/Vagrantfile.erb"
vm_hostname: default-ubuntu-1204.vagrantup.com
provisioner:
attributes: {}
chef_omnibus_url: https://www.getchef.com/chef/install.sh
client_rb:
http_proxy: http://proxy.foo.com:3333
https_proxy: http://proxy.foo.com:3333
no_proxy: localhost,127.0.0.1
clients_path:
cookbook_files_glob: README.*,metadata.{json,rb},attributes/**/*,definitions/**/*,files/**/*,libraries/**/*,providers/**/*,recipes/**/*,resources/**/*,templates/**/*
data_bags_path:
data_path:
encrypted_data_bag_secret_key_path:
environments_path:
kitchen_root: "/home/david/devel/ck/dtcat-joomla"
log_level: :info
name: chef_solo
nodes_path:
require_chef_omnibus: true
roles_path:
root_path: "/tmp/kitchen"
run_list:
- recipe[apt]
- recipe[dtcat-joomla::default]
solo_rb:
http_proxy: http://proxy.foo.com:3333
https_proxy: http://proxy.foo.com:3333
no_proxy: localhost,127.0.0.1
sudo: true
test_base_path: "/home/david/devel/ck/dtcat-joomla/test/integration"
busser:
busser_bin: "/tmp/busser/bin/busser"
kitchen_root: "/home/david/devel/ck/dtcat-joomla"
root_path: "/tmp/busser"
ruby_bindir: "/opt/chef/embedded/bin"
sudo: true
suite_name: default
test_base_path: "/home/david/devel/ck/dtcat-joomla/test/integration"
version: busser
from chef-dk.
Thanks @David-Gil for follow up. I think the issue is understood. My thoughts were about what should happen ideally within the code.
The workaround for now would be to move the .kitchen.yml
within the cookbook directory.
from chef-dk.
Just wasted my time with the same issue.
Have to say its pretty bad form for Chef generator to create invalid configuration, doesn't give one much confidence!
from chef-dk.
+1 just spent the past two hours looking for something that would explain the issue, finally arrived here. please address || document behavior.
from chef-dk.
placing .kitchen.yml in cookbooks worked for me only if I also add a Berksfile in cookbooks referencing the paths of my cookbooks e.g.:
cat cookbooks/Berksfile
source 'https://supermarket.chef.io'
cookbook "bla", path: "./bla"
cookbook "blo", path: "./blo"
from chef-dk.
Tried to reproduce in ChefDK 0.15.15, this now appears to work as intended:
Chef Generate App:
chef generate app foobar
Installing Cookbook Gems:
Compiling Cookbooks...
Recipe: code_generator::app
* directory[/Users/charlesjohnson/Development/foobar] action create (up to date)
* template[/Users/charlesjohnson/Development/foobar/.kitchen.yml] action create
- update content in file /Users/charlesjohnson/Development/foobar/.kitchen.yml from d9a928 to 3f851d
(diff output suppressed by config)
* directory[/Users/charlesjohnson/Development/foobar/test/integration/default/serverspec] action create
- create new directory /Users/charlesjohnson/Development/foobar/test/integration/default/serverspec
* directory[/Users/charlesjohnson/Development/foobar/test/integration/helpers/serverspec] action create (up to date)
* cookbook_file[/Users/charlesjohnson/Development/foobar/test/integration/helpers/serverspec/spec_helper.rb] action create_if_missing (up to date)
* template[/Users/charlesjohnson/Development/foobar/test/integration/default/serverspec/default_spec.rb] action create_if_missing
- create new file /Users/charlesjohnson/Development/foobar/test/integration/default/serverspec/default_spec.rb
- update content in file /Users/charlesjohnson/Development/foobar/test/integration/default/serverspec/default_spec.rb from none to 8e6873
(diff output suppressed by config)
* template[/Users/charlesjohnson/Development/foobar/README.md] action create (up to date)
* directory[/Users/charlesjohnson/Development/foobar/cookbooks] action create
- create new directory /Users/charlesjohnson/Development/foobar/cookbooks
* directory[/Users/charlesjohnson/Development/foobar/cookbooks/foobar] action create
- create new directory /Users/charlesjohnson/Development/foobar/cookbooks/foobar
* template[/Users/charlesjohnson/Development/foobar/cookbooks/foobar/metadata.rb] action create
- create new file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/metadata.rb
- update content in file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/metadata.rb from none to 1a86c5
(diff output suppressed by config)
* cookbook_file[/Users/charlesjohnson/Development/foobar/cookbooks/foobar/chefignore] action create
- create new file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/chefignore
- update content in file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/chefignore from none to e394e1
(diff output suppressed by config)
* cookbook_file[/Users/charlesjohnson/Development/foobar/cookbooks/foobar/Berksfile] action create
- create new file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/Berksfile
- update content in file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/Berksfile from none to 5ec92e
(diff output suppressed by config)
* directory[/Users/charlesjohnson/Development/foobar/cookbooks/foobar/recipes] action create
- create new directory /Users/charlesjohnson/Development/foobar/cookbooks/foobar/recipes
* template[/Users/charlesjohnson/Development/foobar/cookbooks/foobar/recipes/default.rb] action create
- create new file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/recipes/default.rb
- update content in file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/recipes/default.rb from none to 66e33f
(diff output suppressed by config)
* directory[/Users/charlesjohnson/Development/foobar/cookbooks/foobar/spec/unit/recipes] action create
- create new directory /Users/charlesjohnson/Development/foobar/cookbooks/foobar/spec/unit/recipes
* cookbook_file[/Users/charlesjohnson/Development/foobar/cookbooks/foobar/spec/spec_helper.rb] action create_if_missing
- create new file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/spec/spec_helper.rb
- update content in file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/spec/spec_helper.rb from none to 945e09
(diff output suppressed by config)
* template[/Users/charlesjohnson/Development/foobar/cookbooks/foobar/spec/unit/recipes/default_spec.rb] action create_if_missing
- create new file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/spec/unit/recipes/default_spec.rb
- update content in file /Users/charlesjohnson/Development/foobar/cookbooks/foobar/spec/unit/recipes/default_spec.rb from none to 719c26
(diff output suppressed by config)
* execute[initialize-git] action run
- execute git init .
* cookbook_file[/Users/charlesjohnson/Development/foobar/.gitignore] action create (up to date)
Files in generated app:
➜ foobar git:(master) ✗ ls
Berksfile README.md cookbooks recipes test
Berksfile.lock chefignore metadata.rb spec
Running Kitchen test:
➜ foobar git:(master) ✗ kitchen test default-centos-72
-----> Starting Kitchen (v1.10.0)
-----> Cleaning up any prior instances of <default-centos-72>
-----> Destroying <default-centos-72>...
Finished destroying <default-centos-72> (0m0.00s).
-----> Testing <default-centos-72>
-----> Creating <default-centos-72>...
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'bento/centos-7.2'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'bento/centos-7.2' is up to date...
==> default: Setting the name of the VM: kitchen-foobar-default-centos-72_default_1466801463581_16691
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Remote connection disconnect. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Setting hostname...
==> default: Machine not provisioned because `--no-provision` is specified.
[SSH] Established
Vagrant instance <default-centos-72> created.
Finished creating <default-centos-72> (0m35.04s).
-----> Converging <default-centos-72>...
Preparing files for transfer
Preparing dna.json
Resolving cookbook dependencies with Berkshelf 4.3.5...
Removing non-cookbook files before transfer
Preparing validation.pem
Preparing client.rb
-----> Installing Chef Omnibus (install only if missing)
Downloading https://omnitruck.chef.io/install.sh to file /tmp/install.sh
Trying wget...
Download complete.
el 7 x86_64
Getting information for chef stable for el...
downloading https://omnitruck.chef.io/stable/chef/metadata?v=&p=el&pv=7&m=x86_64
to file /tmp/install.sh.6215/metadata.txt
trying wget...
sha1 4b0ecd14127fe6d0e5423f78a733ce43db1814c7
sha256 a5d5db51eb57cdb0045953f4007f10bf50199c40c0d89c41272cf171d56b6c53
url https://packages.chef.io/stable/el/7/chef-12.11.18-1.el7.x86_64.rpm
version 12.11.18
downloaded metadata file looks valid...
downloading https://packages.chef.io/stable/el/7/chef-12.11.18-1.el7.x86_64.rpm
to file /tmp/install.sh.6215/chef-12.11.18-1.el7.x86_64.rpm
trying wget...
Comparing checksum with sha256sum...
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
You are installing an omnibus package without a version pin. If you are installing
on production servers via an automated process this is DANGEROUS and you will
be upgraded without warning on new releases, even to new major releases.
Letting the version float is only appropriate in desktop, test, development or
CI/CD environments.
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
Installing chef
installing with rpm...
warning: /tmp/install.sh.6215/chef-12.11.18-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:chef-12.11.18-1.el7 ################################# [100%]
Thank you for installing Chef!
Transferring files to <default-centos-72>
Starting Chef Client, version 12.11.18
Creating a new client identity for default-centos-72 using the validator key.
resolving cookbooks for run list: ["foobar::default"]
Synchronizing Cookbooks:
- foobar (0.1.0)
Installing Cookbook Gems:
Compiling Cookbooks...
Converging 0 resources
Running handlers:
Running handlers complete
Chef Client finished, 0/0 resources updated in 01 seconds
Finished converging <default-centos-72> (0m32.41s).
-----> Setting up <default-centos-72>...
Finished setting up <default-centos-72> (0m0.00s).
-----> Verifying <default-centos-72>...
Preparing files for transfer
-----> Installing Busser (busser)
Fetching: thor-0.19.0.gem (100%)
Successfully installed thor-0.19.0
Fetching: busser-0.7.1.gem (100%)
Successfully installed busser-0.7.1
2 gems installed
Installing Busser plugins: busser-serverspec
Plugin serverspec installed (version 0.5.9)
-----> Running postinstall for serverspec plugin
Suite path directory /tmp/verifier/suites does not exist, skipping.
Transferring files to <default-centos-72>
-----> Running serverspec test suite
-----> Installing Serverspec..
Fetching: rspec-support-3.4.1.gem (100%)
Fetching: rspec-core-3.4.4.gem (100%)
Fetching: diff-lcs-1.2.5.gem (100%)
Fetching: rspec-expectations-3.4.0.gem (100%)
Fetching: rspec-mocks-3.4.1.gem (100%)
Fetching: rspec-3.4.0.gem (100%)
Fetching: rspec-its-1.2.0.gem (100%)
Fetching: multi_json-1.12.1.gem (100%)
Fetching: net-ssh-3.2.0.gem (100%)
Fetching: net-scp-1.2.1.gem (100%)
Fetching: net-telnet-0.1.1.gem (100%)
Fetching: sfl-2.2.gem (100%)
Fetching: specinfra-2.59.3.gem (100%)
Fetching: serverspec-2.36.0.gem (100%)
-----> serverspec installed (version 2.36.0)
/opt/chef/embedded/bin/ruby -I/tmp/verifier/suites/serverspec -I/tmp/verifier/gems/gems/rspec-support-3.4.1/lib:/tmp/verifier/gems/gems/rspec-core-3.4.4/lib /opt/chef/embedded/bin/rspec --pattern /tmp/verifier/suites/serverspec/\*\*/\*_spec.rb --color --format documentation --default-path /tmp/verifier/suites/serverspec
foobar::default
does something (PENDING: Replace this with meaningful tests)
Pending: (Failures listed here are expected and do not affect your suite's status)
1) foobar::default does something
# Replace this with meaningful tests
# /tmp/verifier/suites/serverspec/default_spec.rb:6
Finished in 0.00061 seconds (files took 0.31588 seconds to load)
1 example, 0 failures, 1 pending
Finished verifying <default-centos-72> (0m10.24s).
-----> Destroying <default-centos-72>...
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
Vagrant instance <default-centos-72> destroyed.
Finished destroying <default-centos-72> (0m3.74s).
Finished testing <default-centos-72> (1m21.44s).
-----> Kitchen is finished. (1m22.02s)
from chef-dk.
@charlesjohnson Looking at your output and comparing to your ls
. It is not the same. Did you move some files around?
✝ ~/Development chef generate app mediaapp
Installing Cookbook Gems:
Compiling Cookbooks...
Recipe: code_generator::app
* directory[/Users/gdarends/Development/mediaapp] action create
- create new directory /Users/gdarends/Development/mediaapp
* template[/Users/gdarends/Development/mediaapp/.kitchen.yml] action create
- create new file /Users/gdarends/Development/mediaapp/.kitchen.yml
- update content in file /Users/gdarends/Development/mediaapp/.kitchen.yml from none to f5e488
(diff output suppressed by config)
* directory[/Users/gdarends/Development/mediaapp/test/integration/default/serverspec] action create
- create new directory /Users/gdarends/Development/mediaapp/test/integration/default/serverspec
* directory[/Users/gdarends/Development/mediaapp/test/integration/helpers/serverspec] action create
- create new directory /Users/gdarends/Development/mediaapp/test/integration/helpers/serverspec
* cookbook_file[/Users/gdarends/Development/mediaapp/test/integration/helpers/serverspec/spec_helper.rb] action create_if_missing
- create new file /Users/gdarends/Development/mediaapp/test/integration/helpers/serverspec/spec_helper.rb
- update content in file /Users/gdarends/Development/mediaapp/test/integration/helpers/serverspec/spec_helper.rb from none to a226b8
(diff output suppressed by config)
* template[/Users/gdarends/Development/mediaapp/test/integration/default/serverspec/default_spec.rb] action create_if_missing
- create new file /Users/gdarends/Development/mediaapp/test/integration/default/serverspec/default_spec.rb
- update content in file /Users/gdarends/Development/mediaapp/test/integration/default/serverspec/default_spec.rb from none to c10649
(diff output suppressed by config)
* template[/Users/gdarends/Development/mediaapp/README.md] action create
- create new file /Users/gdarends/Development/mediaapp/README.md
- update content in file /Users/gdarends/Development/mediaapp/README.md from none to 4e7808
(diff output suppressed by config)
* directory[/Users/gdarends/Development/mediaapp/cookbooks] action create
- create new directory /Users/gdarends/Development/mediaapp/cookbooks
* directory[/Users/gdarends/Development/mediaapp/cookbooks/mediaapp] action create
- create new directory /Users/gdarends/Development/mediaapp/cookbooks/mediaapp
* template[/Users/gdarends/Development/mediaapp/cookbooks/mediaapp/metadata.rb] action create
- create new file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/metadata.rb
- update content in file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/metadata.rb from none to 774f5e
(diff output suppressed by config)
* cookbook_file[/Users/gdarends/Development/mediaapp/cookbooks/mediaapp/chefignore] action create
- create new file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/chefignore
- update content in file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/chefignore from none to e394e1
(diff output suppressed by config)
* cookbook_file[/Users/gdarends/Development/mediaapp/cookbooks/mediaapp/Berksfile] action create
- create new file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/Berksfile
- update content in file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/Berksfile from none to 5ec92e
(diff output suppressed by config)
* directory[/Users/gdarends/Development/mediaapp/cookbooks/mediaapp/recipes] action create
- create new directory /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/recipes
* template[/Users/gdarends/Development/mediaapp/cookbooks/mediaapp/recipes/default.rb] action create
- create new file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/recipes/default.rb
- update content in file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/recipes/default.rb from none to 035ab6
(diff output suppressed by config)
* directory[/Users/gdarends/Development/mediaapp/cookbooks/mediaapp/spec/unit/recipes] action create
- create new directory /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/spec/unit/recipes
* cookbook_file[/Users/gdarends/Development/mediaapp/cookbooks/mediaapp/spec/spec_helper.rb] action create_if_missing
- create new file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/spec/spec_helper.rb
- update content in file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/spec/spec_helper.rb from none to 945e09
(diff output suppressed by config)
* template[/Users/gdarends/Development/mediaapp/cookbooks/mediaapp/spec/unit/recipes/default_spec.rb] action create_if_missing
- create new file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/spec/unit/recipes/default_spec.rb
- update content in file /Users/gdarends/Development/mediaapp/cookbooks/mediaapp/spec/unit/recipes/default_spec.rb from none to 2e0f1a
(diff output suppressed by config)
* execute[initialize-git] action run
- execute git init .
* cookbook_file[/Users/gdarends/Development/mediaapp/.gitignore] action create
- create new file /Users/gdarends/Development/mediaapp/.gitignore
- update content in file /Users/gdarends/Development/mediaapp/.gitignore from none to dd37b2
(diff output suppressed by config)
✝ ~/Development cd mediaapp
✝ ~/Development/mediaapp master± ls -la
total 24
drwxr-xr-x 8 gdarends staff 272 Jul 6 08:20 .
drwxr-xr-x 32 gdarends staff 1088 Jul 6 08:20 ..
drwxr-xr-x 9 gdarends staff 306 Jul 6 08:22 .git
-rw-r--r-- 1 gdarends staff 126 Jul 6 08:20 .gitignore
-rw-r--r-- 1 gdarends staff 350 Jul 6 08:20 .kitchen.yml
-rw-r--r-- 1 gdarends staff 56 Jul 6 08:20 README.md
drwxr-xr-x 3 gdarends staff 102 Jul 6 08:20 cookbooks
drwxr-xr-x 3 gdarends staff 102 Jul 6 08:20 test
from chef-dk.
Just ran the generator with the default install, didn't move anything.
from chef-dk.
As of ChefDK 1.1.16, I still see the same behavior as @moleculezz. With chef generate app appname
, there is no root-level metadata.rb, only one inside of the cookbooks/appname
directory.
What exactly does the contents of this root-level metadata.rb need to look like?
from chef-dk.
Related Issues (20)
- Gemfile.lock in Working Directory Causes Bundler version error HOT 3
- inspec bug in chefdk 4.4.14 HOT 10
- Omnibus and Hab appbundling are not the same HOT 1
- Dependabot can't resolve your Ruby dependency files HOT 2
- Dependabot can't resolve your Ruby dependency files HOT 2
- Improve test execution times with a pre-warmed docker image HOT 1
- Ship DK 3 for Oct HOT 1
- Ship DK 4 for Oct HOT 1
- Release DK 3 to resolve libxslt CVE HOT 1
- Cookbook generators failed to generate new cookbooks -- undefined method `metadata' HOT 2
- Release Chef-DK 4.6 HOT 1
- Release DK for December HOT 1
- policyfile checksum keeps changing HOT 2
- Your .dependabot/config.yml contained invalid details HOT 1
- Release DK for Feb HOT 1
- Fix ChefDK 3 build pipeline
- DK release notes are not up to date on docs.chef.io HOT 2
- Any Documentation/script to remove chefdk from linux system? HOT 4
- Generate Policyfile.lock.json without Kitchen Test HOT 1
- Running chef-zero/chef-solo on chef server itself.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chef-dk.