Skip to content

Commit

Permalink
Updating style for rubocops. Updating test-kitchen harness
Browse files Browse the repository at this point in the history
  • Loading branch information
Sean OMeara committed Dec 19, 2013
1 parent 4bc0fa6 commit 9f6bfa1
Show file tree
Hide file tree
Showing 26 changed files with 236 additions and 168 deletions.
69 changes: 56 additions & 13 deletions .kitchen.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,77 @@
---
driver_plugin: vagrant
driver_plugin: digitalocean
driver_config:
require_chef_omnibus: true
digitalocean_client_id: <%= ENV['DIGITAL_OCEAN_CLIENT_ID'] %>
digitalocean_api_key: <%= ENV['DIGITAL_OCEAN_API_KEY'] %>
aws_access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %>
aws_secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
aws_ssh_key_id: <%= ENV['AWS_KEYPAIR_NAME'] %>
ssh_key: <%= ENV['AWS_PRIVATE_KEY_PATH'] %>
rackspace_username: <%= ENV['RACKSPACE_USERNAME'] %>
rackspace_api_key: <%= ENV['RACKSPACE_API_KEY'] %>
require_chef_omnibus: latest
sudo: false

platforms:
- name: ubuntu-12.04
# - name: debian-60
# driver_plugin: digitalocean
# driver_config:
# image_id: 12573
# flavor_id: 63
# region_id: 1
# ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
#
# run_list:
# - recipe[apt]

- name: debian-70
driver_plugin: digitalocean
driver_config:
image_id: 308287
flavor_id: 63
region_id: 4
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
run_list:
- recipe[apt]

- name: ubuntu-1004
driver_plugin: digitalocean
driver_config:
box: opscode-ubuntu-12.04
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box
image_id: 14097
flavor_id: 63
region_id: 4
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
run_list:
- recipe[apt]

- name: ubuntu-10.04
- name: ubuntu-1204
driver_plugin: digitalocean
driver_config:
box: opscode-ubuntu-10.04
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-10.04_provisionerless.box
image_id: 1505447
flavor_id: 63
region_id: 4
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
run_list:
- recipe[apt]

- name: debian-7.1.0
- name: ubuntu-1304
driver_plugin: digitalocean
driver_config:
box: opscode-debian-7.1.0
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_debian-7.1.0_provisionerless.box
image_id: 350076
flavor_id: 63
region_id: 4
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
run_list:
- recipe[apt]

- name: ubuntu-13.04
- name: ubuntu-1310
driver_plugin: digitalocean
driver_config:
box: opscode-ubuntu-13.04
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-13.04_provisionerless.box
image_id: 1505699
flavor_id: 63
region_id: 4
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
run_list:
- recipe[apt]

Expand Down
20 changes: 20 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
AlignParameters:
Enabled: false

Encoding:
Enabled: false

LineLength:
Max: 200

HashSyntax:
EnforcedStyle: hash_rockets

MethodLength:
Max: 25

CyclomaticComplexity:
Max: 7

ParameterLists:
Enabled: false
8 changes: 5 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
source 'https://rubygems.org'

gem 'berkshelf', '~> 2.0'
gem 'chefspec', '~> 2.0'
gem 'chefspec', '~> 3.0'
gem 'foodcritic', '~> 3.0'
gem 'rubocop', '~> 0.12'
gem 'rubocop'

group :integration do
gem 'test-kitchen', '~> 1.0.0.beta'
gem 'test-kitchen', '~> 1.0'
gem 'kitchen-vagrant', '~> 0.11'
gem 'kitchen-digitalocean'
gem 'kitchen-ec2'
end
2 changes: 1 addition & 1 deletion attributes/default.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@
default['apt']['compiletime'] = false
default['apt']['key_proxy'] = ''
default['apt']['cache_bypass'] = {}
default['apt']['periodic_update_min_delay'] = 86400
default['apt']['periodic_update_min_delay'] = 86_400
1 change: 1 addition & 0 deletions libraries/helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#

module Apt
# Helpers for apt
module Helpers
# Determines if apt is installed on a system.
#
Expand Down
4 changes: 1 addition & 3 deletions libraries/network.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ def interface_ipaddress(host, interface)
if interface
addresses = host['network']['interfaces'][interface]['addresses']
addresses.select do |ip, data|
if data['family'].eql?('inet')
return ip
end
return ip if data['family'].eql?('inet')
end
else
return host.ipaddress
Expand Down
48 changes: 24 additions & 24 deletions metadata.rb
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
name "apt"
maintainer "Opscode, Inc."
maintainer_email "[email protected]"
license "Apache 2.0"
description "Configures apt and apt services and LWRPs for managing apt repositories and preferences"
name 'apt'
maintainer 'Opscode, Inc.'
maintainer_email '[email protected]'
license 'Apache 2.0'
description 'Configures apt and apt services and LWRPs for managing apt repositories and preferences'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version "2.3.1"
recipe "apt", "Runs apt-get update during compile phase and sets up preseed directories"
recipe "apt::cacher-ng", "Set up an apt-cacher-ng caching proxy"
recipe "apt::cacher-client", "Client for the apt::cacher-ng caching proxy"
version '2.3.1'
recipe 'apt', 'Runs apt-get update during compile phase and sets up preseed directories'
recipe 'apt::cacher-ng', 'Set up an apt-cacher-ng caching proxy'
recipe 'apt::cacher-client', 'Client for the apt::cacher-ng caching proxy'

%w{ ubuntu debian }.each do |os|
supports os
end

attribute "apt/cacher-client/restrict_environment",
:description => "Whether to restrict the search for the caching server to the same environment as this node",
:default => "false"
attribute 'apt/cacher-client/restrict_environment',
:description => 'Whether to restrict the search for the caching server to the same environment as this node',
:default => 'false'

attribute "apt/cacher_port",
:description => "Default listen port for the caching server",
:default => "3142"
attribute 'apt/cacher_port',
:description => 'Default listen port for the caching server',
:default => '3142'

attribute "apt/cacher_interface",
:description => "Default listen interface for the caching server",
:default => nil
attribute 'apt/cacher_interface',
:description => 'Default listen interface for the caching server',
:default => nil

attribute "apt/key_proxy",
:description => "Passed as the proxy passed to GPG for the apt_repository resource",
:default => ""
attribute 'apt/key_proxy',
:description => 'Passed as the proxy passed to GPG for the apt_repository resource',
:default => ''

attribute "apt/caching_server",
:description => "Set this to true if the node is a caching server",
:default => "false"
attribute 'apt/caching_server',
:description => 'Set this to true if the node is a caching server',
:default => 'false'
18 changes: 10 additions & 8 deletions providers/preference.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,23 @@ def build_pref(package_name, pin, pin_priority)
action :add do
new_resource.updated_by_last_action(false)

preference = build_pref(new_resource.glob || new_resource.package_name,
new_resource.pin,
new_resource.pin_priority)
preference = build_pref(
new_resource.glob || new_resource.package_name,
new_resource.pin,
new_resource.pin_priority
)

preference_dir = directory "/etc/apt/preferences.d" do
owner "root"
group "root"
preference_dir = directory '/etc/apt/preferences.d' do
owner 'root'
group 'root'
mode 00755
recursive true
action :nothing
end

preference_file = file "/etc/apt/preferences.d/#{new_resource.name}" do
owner "root"
group "root"
owner 'root'
group 'root'
mode 00644
content preference
action :nothing
Expand Down
42 changes: 22 additions & 20 deletions providers/repository.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ def install_key_from_keyserver(key, keyserver)
end
action :run
not_if do
extract_fingerprints_from_cmd("apt-key finger").any? do |fingerprint|
fingerprint.end_with?(key.upcase)
end
extract_fingerprints_from_cmd('apt-key finger').any? do |fingerprint|
fingerprint.end_with?(key.upcase)
end
end
end
end
Expand All @@ -44,7 +44,7 @@ def install_key_from_keyserver(key, keyserver)
def extract_fingerprints_from_cmd(cmd)
so = Mixlib::ShellOut.new(cmd)
so.run_command
so.stdout.split(/\n/).collect do |t|
so.stdout.split(/\n/).map do |t|
if z = t.match(/^ +Key fingerprint = ([0-9A-F ]+)/)
z[1].split.join
end
Expand Down Expand Up @@ -74,7 +74,7 @@ def install_key_from_uri(uri)
command "apt-key add #{cached_keyfile}"
action :run
not_if do
installed_keys = extract_fingerprints_from_cmd("apt-key finger")
installed_keys = extract_fingerprints_from_cmd('apt-key finger')
proposed_keys = extract_fingerprints_from_cmd("gpg --with-fingerprint #{cached_keyfile}")
(installed_keys & proposed_keys).sort == proposed_keys.sort
end
Expand All @@ -86,8 +86,8 @@ def build_repo(uri, distribution, components, trusted, arch, add_deb_src)
components = components.join(' ') if components.respond_to?(:join)
repo_options = []
repo_options << "arch=#{arch}" if arch
repo_options << "trusted=yes" if trusted
repo_options = "[" + repo_options.join(' ') + "]" unless repo_options.empty?
repo_options << 'trusted=yes' if trusted
repo_options = '[' + repo_options.join(' ') + ']' unless repo_options.empty?
repo_info = "#{uri} #{distribution} #{components}\n"
repo_info = "#{repo_options} #{repo_info}" unless repo_options.empty?
repo = "deb #{repo_info}"
Expand All @@ -103,31 +103,33 @@ def build_repo(uri, distribution, components, trusted, arch, add_deb_src)
install_key_from_uri(new_resource.key)
end

file "/var/lib/apt/periodic/update-success-stamp" do
file '/var/lib/apt/periodic/update-success-stamp' do
action :nothing
end

execute "apt-get update" do
execute 'apt-get update' do
ignore_failure true
action :nothing
end

# build repo file
repository = build_repo(new_resource.uri,
new_resource.distribution,
new_resource.components,
new_resource.trusted,
new_resource.arch,
new_resource.deb_src)
# build repo file
repository = build_repo(
new_resource.uri,
new_resource.distribution,
new_resource.components,
new_resource.trusted,
new_resource.arch,
new_resource.deb_src
)

file "/etc/apt/sources.list.d/#{new_resource.name}.list" do
owner "root"
group "root"
owner 'root'
group 'root'
mode 00644
content repository
action :create
notifies :delete, "file[/var/lib/apt/periodic/update-success-stamp]", :immediately
notifies :run, "execute[apt-get update]", :immediately if new_resource.cache_rebuild
notifies :delete, 'file[/var/lib/apt/periodic/update-success-stamp]', :immediately
notifies :run, 'execute[apt-get update]', :immediately if new_resource.cache_rebuild
end
end

Expand Down
12 changes: 6 additions & 6 deletions recipes/cacher-client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ class ::Chef::Recipe
include ::Apt
end

#remove Acquire::http::Proxy lines from /etc/apt/apt.conf since we use 01proxy
#these are leftover from preseed installs
# remove Acquire::http::Proxy lines from /etc/apt/apt.conf since we use 01proxy
# these are leftover from preseed installs
execute 'Remove proxy from /etc/apt/apt.conf' do
command "sed --in-place '/^Acquire::http::Proxy/d' /etc/apt/apt.conf"
only_if "grep Acquire::http::Proxy /etc/apt/apt.conf"
only_if 'grep Acquire::http::Proxy /etc/apt/apt.conf'
end

servers = []
Expand All @@ -43,8 +43,8 @@ class ::Chef::Recipe
end
end

unless (Chef::Config[:solo] || servers.length > 0)
query = "apt_caching_server:true"
unless Chef::Config[:solo] || servers.length > 0
query = 'apt_caching_server:true'
query += " AND chef_environment:#{node.chef_environment}" if node['apt']['cacher-client']['restrict_environment']
Chef::Log.debug("apt::cacher-client searching for '#{query}'")
servers += search(:node, query)
Expand All @@ -67,7 +67,7 @@ class ::Chef::Recipe
:port => servers[0]['apt']['cacher_port'],
:bypass => node['apt']['cache_bypass']
)
action( node['apt']['compiletime'] ? :nothing : :create )
action(node['apt']['compiletime'] ? :nothing : :create)
notifies :run, 'execute[apt-get update]', :immediately
end
t.run_action(:create) if node['apt']['compiletime']
Expand Down
Loading

0 comments on commit 9f6bfa1

Please sign in to comment.