dev-lxc 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 864064b9723364e779abf93415aa8cbf64f9f743
4
- data.tar.gz: 6d969f2f41568feda063c4baa2e1161fe797e4d7
3
+ metadata.gz: 3c4caf061044c84378f0ddc6f2b230bf471316bd
4
+ data.tar.gz: 38604c98358572ef9c01cdf0b5bb3c123d12909e
5
5
  SHA512:
6
- metadata.gz: b3eb932287776d238b13e33effdf81579382467b09bff068a3da56c48903be539cc5f02f80e6431d2de96ac3545add1f241c8c4b8d35349c1260e1d3351ac37a
7
- data.tar.gz: f4569376b362d19c33ed84d177a644230c45556b0b76a95a517927cf710bf917213dbb101188c2e8242e56e428e83e3763f31b68825c68234a6d540227c0f15c
6
+ metadata.gz: 3f21d2ec078c477fb6d1d3c2bed8329ecc2d09dba2f2f9e5f2683ca73fc7ae40b6992d687588b0478b5fc149e6e30c4fbd8323dcfa5ece1fb36d8224aea5881f
7
+ data.tar.gz: a4045af580cc0c357c6799ef29e4eb0b8785ec40a431897e63976b4cdd6394e26ebadebaaf08b763937118b54f9af3bb11a2d927193d6eb67d92f2585c7e8743
data/lib/dev-lxc/cli.rb CHANGED
@@ -77,8 +77,9 @@ module DevLXC::CLI
77
77
 
78
78
  desc "chef-repo", "Creates a `bootstrap-node` script and chef-repo in the current directory using files from the cluster's backend /root/chef-repo"
79
79
  option :config, :desc => "Specify a cluster's YAML config file. `./dev-lxc.yml` will be used by default"
80
+ option :pivotal, :aliases => "-p", :type => :boolean, :desc => "Also copy pivotal.rb and pivotal.pem"
80
81
  def chef_repo
81
- get_cluster(options[:config]).chef_repo
82
+ get_cluster(options[:config]).chef_repo(options[:pivotal])
82
83
  end
83
84
 
84
85
  desc "list_images [SERVER_NAME_REGEX]", "List of each servers' images created during the build process"
@@ -58,7 +58,7 @@ module DevLXC
58
58
  servers = chef_servers + analytics_servers
59
59
  end
60
60
 
61
- def chef_repo
61
+ def chef_repo(copy_pivotal=false)
62
62
  if @chef_server_bootstrap_backend.nil?
63
63
  puts "A bootstrap backend Chef Server is not defined in the cluster's config. Please define it first."
64
64
  exit 1
@@ -76,34 +76,47 @@ module DevLXC
76
76
  if pem_files.empty?
77
77
  puts "The pem files can not be copied because they do not exist in '#{chef_server.server.name}' Chef Server's `/root/chef-repo/.chef` directory"
78
78
  else
79
+ pem_files.delete_if { |pem_file| pem_file.end_with?("/pivotal.pem") } unless copy_pivotal
79
80
  FileUtils.cp( pem_files, "./chef-repo/.chef" )
80
81
  end
81
82
 
82
83
  if @chef_server_topology == "open-source"
83
84
  chef_server_url = "https://#{@api_fqdn}"
84
- username = "admin"
85
85
  validator_name = "chef-validator"
86
86
  else
87
+ chef_server_root = "https://#{@api_fqdn}"
87
88
  chef_server_url = "https://#{@api_fqdn}/organizations/ponyville"
88
- username = "rainbowdash"
89
89
  validator_name = "ponyville-validator"
90
- end
91
-
92
- knife_rb = %Q(
93
- current_dir = File.dirname(__FILE__)
94
-
95
- chef_server_url "#{chef_server_url}"
96
90
 
97
- node_name "#{username}"
98
- client_key "\#{current_dir}/#{username}.pem"
99
-
100
- validation_client_name "#{validator_name}"
101
- validation_key "\#{current_dir}/#{validator_name}.pem"
91
+ if copy_pivotal
92
+ if File.exists?("./chef-repo/.chef/pivotal.rb")
93
+ puts "Skipping pivotal.rb because it already exists in `./chef-repo/.chef`"
94
+ else
95
+ pivotal_rb_path = "#{chef_server.abspath('/root/chef-repo/.chef')}/pivotal.rb"
96
+ if File.exists?(pivotal_rb_path)
97
+ pivotal_rb = IO.read(pivotal_rb_path)
98
+ pivotal_rb.sub!(/^chef_server_root .*/, "chef_server_root \"#{chef_server_root}\"")
99
+ pivotal_rb.sub!(/^chef_server_url .*/, "chef_server_url \"#{chef_server_url}\"")
100
+ IO.write("./chef-repo/.chef/pivotal.rb", pivotal_rb)
101
+ else
102
+ puts "The pivotal.rb file can not be copied because it does not exist in '#{chef_server.server.name}' Chef Server's `/root/chef-repo/.chef` directory"
103
+ end
104
+ end
105
+ end
106
+ end
102
107
 
103
- cookbook_path Dir.pwd + "/cookbooks"
104
- knife[:chef_repo_path] = Dir.pwd
105
- )
106
- IO.write("./chef-repo/.chef/knife.rb", knife_rb)
108
+ if File.exists?("./chef-repo/.chef/knife.rb")
109
+ puts "Skipping knife.rb because it already exists in `./chef-repo/.chef`"
110
+ else
111
+ knife_rb_path = "#{chef_server.abspath('/root/chef-repo/.chef')}/knife.rb"
112
+ if File.exists?(knife_rb_path)
113
+ knife_rb = IO.read(knife_rb_path)
114
+ knife_rb.sub!(/^chef_server_url .*/, "chef_server_url \"#{chef_server_url}\"")
115
+ IO.write("./chef-repo/.chef/knife.rb", knife_rb)
116
+ else
117
+ puts "The knife.rb file can not be copied because it does not exist in '#{chef_server.server.name}' Chef Server's `/root/chef-repo/.chef` directory"
118
+ end
119
+ end
107
120
 
108
121
  bootstrap_node = %Q(#!/bin/bash
109
122
 
@@ -362,38 +362,29 @@ module DevLXC
362
362
  validator_name = "chef-validator"
363
363
 
364
364
  FileUtils.cp( Dir.glob("#{@server.config_item('lxc.rootfs')}/etc/chef-server/{admin,chef-validator}.pem"), "#{@server.config_item('lxc.rootfs')}/root/chef-repo/.chef" )
365
- when 'private-chef'
365
+ when 'private-chef', 'chef-server-core'
366
+ chef_server_root = "https://127.0.0.1"
366
367
  chef_server_url = "https://127.0.0.1/organizations/ponyville"
367
368
  username = "rainbowdash"
368
369
  validator_name = "ponyville-validator"
369
370
 
370
- # give time for all services to come up completely
371
- sleep 60
371
+ FileUtils.cp( "#{@server.config_item('lxc.rootfs')}/etc/opscode/pivotal.pem", "#{@server.config_item('lxc.rootfs')}/root/chef-repo/.chef" )
372
+
372
373
  pivotal_rb = %Q(
373
- chef_server_root "https://127.0.0.1/"
374
- chef_server_url "https://127.0.0.1/"
374
+ current_dir = File.dirname(__FILE__)
375
+
376
+ chef_server_root "#{chef_server_root}"
377
+ chef_server_url "#{chef_server_url}"
375
378
 
376
379
  node_name "pivotal"
377
- client_key "/etc/opscode/pivotal.pem"
380
+ client_key "\#{current_dir}/pivotal.pem"
378
381
 
382
+ cookbook_path Dir.pwd + "/cookbooks"
379
383
  knife[:chef_repo_path] = Dir.pwd
380
384
  )
381
385
  IO.write("#{@server.config_item('lxc.rootfs')}/root/chef-repo/.chef/pivotal.rb", pivotal_rb)
382
- @server.run_command("/opt/opscode/embedded/bin/gem install knife-opc --no-ri --no-rdoc")
383
- @server.run_command("/opt/opscode/embedded/bin/knife opc org create ponyville ponyville --filename /root/chef-repo/.chef/ponyville-validator.pem -c /root/chef-repo/.chef/pivotal.rb")
384
- @server.run_command("/opt/opscode/embedded/bin/knife opc user create rainbowdash rainbowdash rainbowdash rainbowdash@noreply.com rainbowdash --filename /root/chef-repo/.chef/rainbowdash.pem -c /root/chef-repo/.chef/pivotal.rb")
385
- @server.run_command("/opt/opscode/embedded/bin/knife opc org user add ponyville rainbowdash --admin -c /root/chef-repo/.chef/pivotal.rb")
386
- when 'chef-server-core'
387
- chef_server_url = "https://127.0.0.1/organizations/ponyville"
388
- username = "rainbowdash"
389
- validator_name = "ponyville-validator"
390
-
391
- # give time for all services to come up completely
392
- sleep 10
393
- run_ctl(@server_ctl, "org-create ponyville ponyville --filename /root/chef-repo/.chef/ponyville-validator.pem")
394
- run_ctl(@server_ctl, "user-create rainbowdash rainbowdash rainbowdash rainbowdash@noreply.com rainbowdash --filename /root/chef-repo/.chef/rainbowdash.pem")
395
- run_ctl(@server_ctl, "org-user-add ponyville rainbowdash --admin")
396
386
  end
387
+
397
388
  knife_rb = %Q(
398
389
  current_dir = File.dirname(__FILE__)
399
390
 
@@ -409,6 +400,22 @@ cookbook_path Dir.pwd + "/cookbooks"
409
400
  knife[:chef_repo_path] = Dir.pwd
410
401
  )
411
402
  IO.write("#{@server.config_item('lxc.rootfs')}/root/chef-repo/.chef/knife.rb", knife_rb)
403
+
404
+ case @chef_server_type
405
+ when 'private-chef'
406
+ # give time for all services to come up completely
407
+ sleep 60
408
+ @server.run_command("/opt/opscode/embedded/bin/gem install knife-opc --no-ri --no-rdoc")
409
+ @server.run_command("/opt/opscode/embedded/bin/knife opc org create ponyville ponyville --filename /root/chef-repo/.chef/ponyville-validator.pem -c /root/chef-repo/.chef/pivotal.rb")
410
+ @server.run_command("/opt/opscode/embedded/bin/knife opc user create rainbowdash rainbowdash rainbowdash rainbowdash@noreply.com rainbowdash --filename /root/chef-repo/.chef/rainbowdash.pem -c /root/chef-repo/.chef/pivotal.rb")
411
+ @server.run_command("/opt/opscode/embedded/bin/knife opc org user add ponyville rainbowdash --admin -c /root/chef-repo/.chef/pivotal.rb")
412
+ when 'chef-server-core'
413
+ # give time for all services to come up completely
414
+ sleep 10
415
+ run_ctl(@server_ctl, "org-create ponyville ponyville --filename /root/chef-repo/.chef/ponyville-validator.pem")
416
+ run_ctl(@server_ctl, "user-create rainbowdash rainbowdash rainbowdash rainbowdash@noreply.com rainbowdash --filename /root/chef-repo/.chef/rainbowdash.pem")
417
+ run_ctl(@server_ctl, "org-user-add ponyville rainbowdash --admin")
418
+ end
412
419
  end
413
420
  end
414
421
  end
@@ -1,3 +1,3 @@
1
1
  module DevLXC
2
- VERSION = "0.6.2"
2
+ VERSION = "0.6.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dev-lxc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremiah Snapp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-27 00:00:00.000000000 Z
11
+ date: 2015-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler