Giter Club home page Giter Club logo

linecook-gem's Introduction

LINECOOK 1 "June 2016" Unix "User Manuals"

NAME

linecook - Linux system image builder based on test kitchen

SYNOPSIS

linecook help [COMMAND]- for specific command help

DESCRIPTION

Linecook is a workflow tool that allows you to use test kitchen to build generic system images. Linecook works with arbitrary test-kitchen provisioners, and generations a neutral format that can be packaged into specific output formats.

Currently, linecook supports the following test kitchen drivers:

  • kitchen-docker

And linecook uses packer to generate output. It currently supports:

  • AMIs via packer's ebs_chroot builder.
  • The amis may also update a TXT record in a route53 zone once the build is complete
  • squashfs, a provider neutral format.

Linecook builds may be saved and annotated according to the folliwng convention:

  • name - a descriptive name for the build, based on the name of the test kitchen suite.
  • group - an arbitrary grouping of suites, intended to group builds by branches.
  • tag - a numeric tag for a build, intended to increment. If 'latest' is specified when resolving a build, the latest uploaded build is used.

These three attributes are composed to make a build id in a very simple manor:

  • name is always required
  • if group is specified, it will be joined with name using a '-' character.
  • if tag is specified, it will be joined with the name and the gorup using a '-' character.
  • For example, the resulting id for a base build on the master group, with id of '5' would be 'base-master-5'. If this is the latest build for the base-master group, 'base-master-latest' will resolve to this.

If linecook uploads a build, it will always encrypt it using rbnacl.

USAGE

To test linecook builds locally, it is best to use test kitchen directly:

bundle exec kitchen converge [SUITE NAME]

For more specific usage, use linecook help

CONFIGURATION

See test kitchen's documentation for configuring suites and provisioners.

KITCHEN EXTENSIONS

kitchen.yml is extended to support the following additional attributes:

inherit Inherit from a previous linecook build. This saves time if there are several builds based on the same ancestor.

  • name - the name of the build to inherit
  • group - the group / branch of the build to inherit
  • tag - the explicit tag, or 'latest' to discovery the latest tag.

PACKAGER

Right now there are two packagers supported. The interface may change.

squashfs Package the resulting build as a squashfs image.

  • excludes - a list of glob expressions to exclude from the archive

  • distro - inherit a specific set of presets for paths to exclude by distro. Currently only ubuntu is supported.

  • outdir - the output directory for the image

packer Package an AMI using packer. Currently only AMIs are supported, but any packer builder could be implemented relatively easily.

  • hvm - build an HVM instance (defaults to true).

  • root_size - the size of the root volume to snapshot for the AMI (in GB).

  • region - the region to build the AMI in.

  • copy_regions - additional regions to copy the AMI to.

  • account_ids - a list of account ids that are permitted to launch this AMI.

  • ami - details for storing the AMI ID in a DNS TXT record on route53.

    • update_txt - should a TXT record be written? (true or false)
    • regions - a dictionary of regional aliases
    • domain - the route53 domain to write to
    • zone - the zone within the domain.

SECRETS

Linecook will look for secrets in config.ejson. In particular:

imagekey the key to use when encrypting images. Generate one with the image keygen command.

aws This is used access to S3, as well as to create EBS based AMIs and update TXT records on route53. A sample IAM policy is provided in the github repo.

  • { "s3": { "bucket" : "name" } } can be used to set the name of the bucket

  • { "access_key" : "ACCESS_KEY" } can be used to set the access key for the IAM user associated with the profile with the necessary access.

  • { "secret_key" : "ACCESS_KEY" } can be used to set the secret key for the IAM user associated with the profile with the necessary access.

chef To decrypt data bags securely, you can set the encrypted_data_bag_secret here. Make sure any newlines are replaced with \n.

PROVISIONERS

Currently only the docker driver is supported for provisioning. You must have docker installed to use this provisioner.

DEPENDENCIES

Common

  • Ruby 2.0 or greater, gem, and bundler.

Linux

  • mksquashfs - to generate squashfs output.

OS X

  • docker for mac

BUGS

Report bugs against github.com/shopify/linecook-gem

AUTHOR

Dale Hamel [email protected]

linecook-gem's People

Contributors

dalehamel avatar airhorns avatar blakemesdag avatar

Stargazers

 avatar Felipe Monteiro avatar Benjamin Fleischer avatar Mark Ivanowich avatar Bram Swenson avatar Kevin Segal avatar Michal Cichra avatar  avatar

Watchers

Shay avatar Lourens Naudé avatar Christian Zacharias avatar Elvio Vicosa avatar Matthew Higgins avatar Jeff Bruton avatar Mai avatar Alexander Leach avatar Lucas Souza avatar Theo Oikonomou avatar Jamie Sutton avatar @lamp avatar Ryan Langlois avatar Rohit Mishra avatar Ryan Florence avatar Stella Miranda avatar Caroline avatar Ben Watts avatar Ben Doyle avatar Stephen Hunter avatar Peter Nitsch avatar tetchi avatar Luiz Adolpho avatar Bart Piotrowski avatar Jon Yonker avatar Lucas Medeiros avatar Shadab Rashid avatar Christian Shum-Harden avatar Jeremy Morony avatar Nicholas Pan avatar  avatar Dan Menard avatar Mark Ryan avatar Mladen Rangelov avatar Philip Tolton avatar Peter de Wit avatar Clara Ch avatar Michael Nugent avatar Garth Pyper avatar Sebastian Skopp avatar Julia Winn avatar James Cloos avatar Thiago Colares avatar Chris Waters avatar Ivan Savytskyi avatar Misha Korablin avatar Thomas Conner avatar Andrew Louis avatar Stephen Hukish avatar Ryan Self avatar Vadym Tyemirov avatar Marcelo nakashima de brito avatar Karthik K N avatar Corwin Brown avatar  avatar Arpan Podduturi avatar João Júnior avatar Daniel Leroux avatar Igor Kozlov avatar Chris Shaw avatar Andrea Di Persio avatar Alex Fi avatar Ahmad Alhour avatar Nik Ivanov avatar Tim Lombardo avatar Javier Barrera avatar Kaj Drobin avatar Paul Gagliardi avatar Annett Forcier avatar Conor Malone avatar Mounir avatar Guil H avatar josh sucher avatar Frank Reding avatar Satish Kanwar avatar Niko Kurtti avatar Liz McDonald avatar Thomaz de Oliveira dos Reis avatar Ann  Wallace avatar Alejandro Gonzalez avatar  avatar Brandon avatar Topher Bullock avatar Alexandre Deschamps avatar Dan Winkler avatar Louis Kearns avatar Anita Mehrotra avatar Weslley Araujo avatar  avatar Sharad Gaur avatar  avatar Dave McVittie avatar Yungjae avatar Jared Rader avatar Ravi Byakod avatar Robleh Jama avatar  avatar Nick Lee avatar Collin Brink avatar Damyan Petkov avatar

linecook-gem's Issues

undefined method `kill' for nil:NilClass when building image

─klassen at klassen in ~/code/shopify/cookbooks/linecook on master✘✘✘ using ‹2.1.8›
╰─± bx linecook bake -n data-chi
Starting xhyve guest...
Started with e2:63:2f:14:cf:32... waiting for network
undefined method `kill' for nil:NilClass
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/builder/darwin_backend.rb:73:in `launch_guest'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/builder/darwin_backend.rb:33:in `start'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/builder/manager.rb:23:in `start'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/builder/build.rb:13:in `initialize'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/manager.rb:13:in `new'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/manager.rb:13:in `bake'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/cli.rb:147:in `bake'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/bin/linecook:8:in `block in <top (required)>'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/bin/linecook:8:in `<top (required)>'
/Users/klassen/.rbenv/versions/2.1.8/bin/linecook:23:in `load'
/Users/klassen/.rbenv/versions/2.1.8/bin/linecook:23:in `<main>'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/builder/darwin_backend.rb:73:in `launch_guest': undefined method `kill' for nil:NilClass (NoMethodError)
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/builder/darwin_backend.rb:33:in `start'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/builder/manager.rb:23:in `start'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/builder/build.rb:13:in `initialize'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/manager.rb:13:in `new'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/manager.rb:13:in `bake'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/lib/linecook/cli.rb:147:in `bake'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/bin/linecook:8:in `block in <top (required)>'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/linecook-gem-0.5.8/bin/linecook:8:in `<top (required)>'
    from /Users/klassen/.rbenv/versions/2.1.8/bin/linecook:23:in `load'
    from /Users/klassen/.rbenv/versions/2.1.8/bin/linecook:23:in `<main>'

undefined method `kill' for #<Xhyve::Guest:0x007fd6f3067620>

Looking at https://github.com/dalehamel/xhyve-ruby I think what we want is destroy if the guest is running.

Something similar too:

if @ip.nil? && !guest.nil?
        guest.destroy if guest.running?
        fail 'Could not acquire ip'
 end
undefined method `kill' for #<Xhyve::Guest:0x007fd6f3067620>
/Users/klassen/code/shopify/linecook-gem/lib/linecook/builder/darwin_backend.rb:73:in `launch_guest'
/Users/klassen/code/shopify/linecook-gem/lib/linecook/builder/darwin_backend.rb:33:in `start'
/Users/klassen/code/shopify/linecook-gem/lib/linecook/builder/manager.rb:23:in `start'
/Users/klassen/code/shopify/linecook-gem/lib/linecook/builder/build.rb:13:in `initialize'
/Users/klassen/code/shopify/linecook-gem/lib/linecook/provisioner/manager.rb:13:in `new'
/Users/klassen/code/shopify/linecook-gem/lib/linecook/provisioner/manager.rb:13:in `bake'
/Users/klassen/code/shopify/linecook-gem/lib/linecook/cli.rb:147:in `bake'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
/Users/klassen/code/shopify/linecook-gem/bin/linecook:8:in `block in <top (required)>'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
/Users/klassen/code/shopify/linecook-gem/bin/linecook:8:in `<top (required)>'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/bin/linecook:23:in `load'
/Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/bin/linecook:23:in `<main>'
/Users/klassen/code/shopify/linecook-gem/lib/linecook/builder/darwin_backend.rb:73:in `launch_guest': undefined method `kill' for #<Xhyve::Guest:0x007fd6f3067620> (NoMethodError)
    from /Users/klassen/code/shopify/linecook-gem/lib/linecook/builder/darwin_backend.rb:33:in `start'
    from /Users/klassen/code/shopify/linecook-gem/lib/linecook/builder/manager.rb:23:in `start'
    from /Users/klassen/code/shopify/linecook-gem/lib/linecook/builder/build.rb:13:in `initialize'
    from /Users/klassen/code/shopify/linecook-gem/lib/linecook/provisioner/manager.rb:13:in `new'
    from /Users/klassen/code/shopify/linecook-gem/lib/linecook/provisioner/manager.rb:13:in `bake'
    from /Users/klassen/code/shopify/linecook-gem/lib/linecook/cli.rb:147:in `bake'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /Users/klassen/code/shopify/linecook-gem/bin/linecook:8:in `block in <top (required)>'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
    from /Users/klassen/code/shopify/linecook-gem/bin/linecook:8:in `<top (required)>'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/bin/linecook:23:in `load'
    from /Users/klassen/.rbenv/versions/2.1.8/lib/ruby/gems/2.1.0/bin/linecook:23:in `<main>'

Upgrade to Chef 12 issues: unable to find key

Regenerating cookbook cache
[2016-01-15T07:07:41-05:00] WARN: Ohai::Config[:version] is set. Ohai::Config[:version] is deprecated and will be removed in future releases of ohai. Use ohai.version in your configuration file to configure :version for ohai.
Uploading roles
[2016-01-15T07:07:42-05:00] WARN: Failed to read the private key /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/chef-zero-client20160115-26237-1sn8399: #<Errno::ENOENT: No such file or directory @ rb_sysopen - /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/chef-zero-client20160115-26237-1sn8399>
I cannot read /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/chef-zero-client20160115-26237-1sn8399, which you told me to use to sign requests!
Cache tainted, rebuilding completely
Stopping server
[2016-01-15T07:07:42-05:00] WARN: Ohai::Config[:version] is set. Ohai::Config[:version] is deprecated and will be removed in future releases of ohai. Use ohai.version in your configuration file to configure :version for ohai.
Uploading roles
[2016-01-15T07:07:42-05:00] WARN: Failed to read the private key /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/chef-zero-client20160115-26237-1sn8399: #<Errno::ENOENT: No such file or directory @ rb_sysopen - /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/chef-zero-client20160115-26237-1sn8399>
Stopping server
I cannot read /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/chef-zero-client20160115-26237-1sn8399, which you told me to use to sign requests!
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/http/authenticator.rb:86:in `rescue in load_signing_key'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/http/authenticator.rb:76:in `load_signing_key'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/http/authenticator.rb:40:in `initialize'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/rest.rb:71:in `new'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/rest.rb:71:in `initialize'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/role.rb:48:in `new'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/role.rb:48:in `chef_server_rest'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/role.rb:227:in `save'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:37:in `block in upload_roles'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:36:in `each'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:36:in `upload_roles'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:24:in `upload_site_roles'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:11:in `upload_all'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/server.rb:34:in `upload_all'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/runner.rb:25:in `run'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/runner.rb:7:in `run'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:111:in `rescue in build'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:114:in `build'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:67:in `path'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:49:in `setup'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:12:in `provision'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/manager.rb:15:in `bake'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/cli.rb:147:in `bake'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/bin/linecook:8:in `block in <top (required)>'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/bin/linecook:8:in `<top (required)>'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/bin/linecook:23:in `load'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/bin/linecook:23:in `<main>'
/Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/http/authenticator.rb:86:in `rescue in load_signing_key': I cannot read /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/chef-zero-client20160115-26237-1sn8399, which you told me to use to sign requests! (Chef::Exceptions::PrivateKeyMissing)
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/http/authenticator.rb:76:in `load_signing_key'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/http/authenticator.rb:40:in `initialize'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/rest.rb:71:in `new'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/rest.rb:71:in `initialize'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/role.rb:48:in `new'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/role.rb:48:in `chef_server_rest'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chef-12.6.0/lib/chef/role.rb:227:in `save'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:37:in `block in upload_roles'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:36:in `each'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:36:in `upload_roles'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:24:in `upload_site_roles'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/role.rb:11:in `upload_all'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/server.rb:34:in `upload_all'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/runner.rb:25:in `run'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/chefdepartie-0.1.1/lib/chefdepartie/runner.rb:7:in `run'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:111:in `rescue in build'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:114:in `build'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:67:in `path'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:49:in `setup'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/chef-zero.rb:12:in `provision'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/provisioner/manager.rb:15:in `bake'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/lib/linecook/cli.rb:147:in `bake'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/bin/linecook:8:in `block in <top (required)>'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/linecook-gem-0.5.8/bin/linecook:8:in `<top (required)>'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/bin/linecook:23:in `load'
    from /Users/klassen/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/bin/linecook:23:in `<main>'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.