Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions libraries/chef_group.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
module EcTools
class ChefGroup
class EcChefGroup

# make this a parent class "or some cool ruby thing" that gets inherited for "opc" classes
def initialize(new_resource, config = {})
def initialize(new_resource, config = {})
@new_resource = new_resource

# make setting Chef::Config dynamic by iterating through options
# currently sets chef_server_root (and it doesn't have to)
config.each do |k, v|
Expand Down
14 changes: 7 additions & 7 deletions libraries/chef_group_provider.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'chef/provider/lwrp_base'

class Chef::Provider::ChefGroup < Chef::Provider::LWRPBase
class Chef::Provider::EcChefGroup < Chef::Provider::LWRPBase
use_inline_resources if defined?(:use_inline_resources)

def whyrun_supported?
Expand All @@ -9,18 +9,18 @@ def whyrun_supported?

action :add do
converge_by("Create #{ @new_resource }") do
g = EcTools::ChefGroup.new(@new_resource,
:node_name => node['chef']['config']['node_name'],
:client_key => node['chef']['config']['client_key'],
g = EcTools::EcChefGroup.new(@new_resource,
:node_name => node['chef']['config']['node_name'],
:client_key => node['chef']['config']['client_key'],
:chef_server_root => node['chef']['config']['chef_server_root'])
g.add
end
end

def chef_group
@chef_group ||= EcTools::ChefGroup.new(@new_resource,
:node_name => node['chef']['config']['node_name'],
:client_key => node['chef']['config']['client_key'],
@chef_group ||= EcTools::EcChefGroup.new(@new_resource,
:node_name => node['chef']['config']['node_name'],
:client_key => node['chef']['config']['client_key'],
:chef_server_root => node['chef']['config']['chef_server_root'])
end
end
4 changes: 2 additions & 2 deletions libraries/chef_group_resource.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'chef/resource/lwrp_base'

class Chef::Resource::ChefGroup < Chef::Resource::LWRPBase
self.resource_name = 'chef_group'
class Chef::Resource::EcChefGroup < Chef::Resource::LWRPBase
self.resource_name = 'ec_chef_group'

actions :add, :remove # group must currently exist
default_action :add
Expand Down
8 changes: 4 additions & 4 deletions libraries/chef_org.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
module EcTools
class ChefOrg
class EcChefOrg

# make this a parent class "or some cool ruby thing" that gets inherited for "opc" classes
def initialize(new_resource, config = {})
def initialize(new_resource, config = {})
@new_resource = new_resource

# make setting Chef::Config dynamic by iterating through options
# currently sets chef_server_root (and it doesn't have to)
config.each do |k, v|
Chef::Config[k] = v
end
@rest = Chef::REST.new(config[:chef_server_root])

@org_databag = Chef::DataBag.new
@org_databag.name('org')
@org_databag.save
Expand Down
10 changes: 5 additions & 5 deletions libraries/chef_org_provider.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
require 'chef/provider/lwrp_base'

class Chef::Provider::ChefOrg < Chef::Provider::LWRPBase
class Chef::Provider::EcChefOrg < Chef::Provider::LWRPBase
use_inline_resources if defined?(:use_inline_resources)

def whyrun_supported?
true
end

action :create do
unless chef_org.exists?
unless chef_org.exists?
converge_by("Create #{ @new_resource }") do
@chef_org.create
end
Expand All @@ -27,9 +27,9 @@ def whyrun_supported?
end

def chef_org
@chef_org ||= EcTools::ChefOrg.new(@new_resource,
:node_name => node['chef']['config']['node_name'],
:client_key => node['chef']['config']['client_key'],
@chef_org ||= EcTools::EcChefOrg.new(@new_resource,
:node_name => node['chef']['config']['node_name'],
:client_key => node['chef']['config']['client_key'],
:chef_server_root => node['chef']['config']['chef_server_root'])
end
end
6 changes: 3 additions & 3 deletions libraries/chef_org_resource.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
require 'chef/resource/lwrp_base'

class Chef::Resource::ChefOrg < Chef::Resource::LWRPBase
self.resource_name = 'chef_org'
class Chef::Resource::EcChefOrg < Chef::Resource::LWRPBase
self.resource_name = 'ec_chef_org'

actions :create, :delete, :associate_user
default_action :create

attribute :name, :name_attribute => true, :required => true, :kind_of => String
attribute :name, :name_attribute => true, :required => true, :kind_of => String
attribute :description, :kind_of => String
attribute :users, :kind_of => [ String, Array ]
end
8 changes: 4 additions & 4 deletions libraries/chef_user.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
module EcTools
class ChefUser
class EcChefUser

# make this a parent class "or some cool ruby thing" that gets inherited for "opc" classes
def initialize(new_resource, config = {})
def initialize(new_resource, config = {})
@new_resource = new_resource

# make setting Chef::Config dynamic by iterating through options
# currently sets chef_server_root (and it doesn't have to)
config.each do |k, v|
Chef::Config[k] = v
end
@rest = Chef::REST.new(config[:chef_server_root])

@user_databag = Chef::DataBag.new
@user_databag.name('user')
@user_databag.save
Expand Down
10 changes: 5 additions & 5 deletions libraries/chef_user_provider.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
require 'chef/provider/lwrp_base'

class Chef::Provider::ChefUser < Chef::Provider::LWRPBase
class Chef::Provider::EcChefUser < Chef::Provider::LWRPBase
use_inline_resources if defined?(:use_inline_resources)

def whyrun_supported?
true
end

action :create do
unless chef_user.exists?
unless chef_user.exists?
converge_by("Create #{ @new_resource }") do
@chef_user.create
end
Expand All @@ -24,9 +24,9 @@ def whyrun_supported?
end

def chef_user
@chef_user ||= EcTools::ChefUser.new(@new_resource,
:node_name => node['chef']['config']['node_name'],
:client_key => node['chef']['config']['client_key'],
@chef_user ||= EcTools::EcChefUser.new(@new_resource,
:node_name => node['chef']['config']['node_name'],
:client_key => node['chef']['config']['client_key'],
:chef_server_root => node['chef']['config']['chef_server_root'])
end
end
6 changes: 3 additions & 3 deletions libraries/chef_user_resource.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
require 'chef/resource/lwrp_base'

class Chef::Resource::ChefUser < Chef::Resource::LWRPBase
self.resource_name = 'chef_user'
class Chef::Resource::EcChefUser < Chef::Resource::LWRPBase
self.resource_name = 'ec_chef_user'

actions :create, :delete, :modify
default_action :create

attribute :username, :name_attribute => true, :required => true, :kind_of => String
attribute :username, :name_attribute => true, :required => true, :kind_of => String
attribute :first_name, :required => true, :kind_of => String
attribute :middle_name, :kind_of => String
attribute :last_name, :required => true, :kind_of => String
Expand Down
2 changes: 1 addition & 1 deletion metadata.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
license 'All rights reserved'
description 'Installs/Configures ec-tools'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '0.1.1'
version '0.2.1'
File renamed without changes.
4 changes: 3 additions & 1 deletion recipes/knife-opc.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
include_recipe 'ec-tools::default'

chef_gem 'knife-opc'
chef_gem 'knife-opc' do
compile_time true
end

# create the client key file if private key content is provided
if node['chef']['config']['private_key_raw']
Expand Down
6 changes: 3 additions & 3 deletions recipes/load.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
data_bag('user').each do |u|
user = data_bag_item('user', u)
chef_user user['id'] do
ec_chef_user user['id'] do
first_name user['first_name']
middle_name user['middle_name']
last_name user['last_name']
Expand All @@ -11,13 +11,13 @@

data_bag('org').each do |o|
org = data_bag_item('org', o)
chef_org org['id'] do
ec_chef_org org['id'] do
description org['description']
users org['users']
end

org['groups'].each do |group|
chef_group group[0] do
ec_chef_group group[0] do
action :add
org org['id']
users group[1]
Expand Down
1 change: 1 addition & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require 'chefspec'
23 changes: 23 additions & 0 deletions spec/unit/recipes/default_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#
# Cookbook Name:: ec-tools
# Spec:: default
#
# Copyright (c) 2015 Irving Popovetsky, All Rights Reserved.

require 'spec_helper'

describe 'ec-tools::default' do

context 'When all attributes are default, on an unspecified platform' do

let(:chef_run) do
runner = ChefSpec::ServerRunner.new
runner.converge(described_recipe)
end

it 'converges successfully' do
chef_run # This should not raise an error
end

end
end
23 changes: 23 additions & 0 deletions spec/unit/recipes/knife_opc_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#
# Cookbook Name:: ec-tools
# Spec:: knife-opc
#
# Copyright (c) 2015 Irving Popovetsky, All Rights Reserved.

require 'spec_helper'

describe 'ec-tools::knife-opc' do

context 'When all attributes are default, on an unspecified platform' do

let(:chef_run) do
runner = ChefSpec::ServerRunner.new
runner.converge(described_recipe)
end

it 'converges successfully' do
chef_run # This should not raise an error
end

end
end
58 changes: 58 additions & 0 deletions spec/unit/recipes/load_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#
# Cookbook Name:: ec-tools
# Spec:: load
#
# Copyright (c) 2015 Irving Popovetsky, All Rights Reserved.

require 'spec_helper'

describe 'ec-tools::load' do

context 'When all attributes are default, on an unspecified platform' do

let(:chef_run) do
runner = ChefSpec::ServerRunner.new do |node, server|
server.create_data_bag('user', {
'pinkiepie' => {
'id' => 'pinkiepie',
'first_name' => 'pinkiepie',
'middle_name' => 'pinkiepie',
'last_name' => 'pinkiepie',
'email' => '[email protected]',
'password' => 'pinkiepie'
},
'soarin' => {
'id' => 'soarin',
'first_name' => 'pinkiepie',
'middle_name' => 'pinkiepie',
'last_name' => 'pinkiepie',
'email' => '[email protected]',
'password' => 'pinkiepie'
}
})

server.create_data_bag('org', {
'ponyville' => {
'id' => 'ponyville',
'description' => 'The Ville of Ponies',
'groups' => ['foobars'],
'users' => ['pinkiepie']
},
'wonderbolts' => {
'id' => 'wonderbolts',
'description' => 'The Bolts of Wonder',
'groups' => ['foobars'],
'users' => ['soarin']
}
})

end
runner.converge(described_recipe)
end

it 'converges successfully' do
chef_run # This should not raise an error
end

end
end
2 changes: 2 additions & 0 deletions templates/default/knife-pivotal.rb.erb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
node_name '<%= @node_name %>'
client_key '<%= @client_key %>'
chef_server_url '<%= @chef_server_root %>'
chef_server_root '<%= @chef_server_root %>'
ssl_verify_mode :verify_none