Testing updates

Signed-off-by: Tim Smith <tsmith@chef.io>
This commit is contained in:
Tim Smith 2017-01-17 23:36:22 -08:00
parent 82aec2f311
commit 4667cdfc1e
9 changed files with 55 additions and 60 deletions

View File

@ -1,7 +1,6 @@
driver: driver:
name: dokken name: dokken
privileged: true # because Docker and SystemD/Upstart privileged: true # because Docker and SystemD/Upstart
chef_image: chef/chef
chef_version: current chef_version: current
transport: transport:
@ -31,14 +30,6 @@ platforms:
- RUN /usr/bin/apt-get update - RUN /usr/bin/apt-get update
- RUN /usr/bin/apt-get install lsb-release -y - RUN /usr/bin/apt-get install lsb-release -y
- name: centos-5
driver:
image: centos:5
platform: rhel
pid_one_command: /sbin/init
intermediate_instructions:
- RUN yum install -y which initscripts
- name: centos-6 - name: centos-6
driver: driver:
image: centos:6 image: centos:6
@ -90,9 +81,9 @@ platforms:
intermediate_instructions: intermediate_instructions:
- RUN zypper --non-interactive install aaa_base perl-Getopt-Long-Descriptive which net-tools - RUN zypper --non-interactive install aaa_base perl-Getopt-Long-Descriptive which net-tools
- name: opensuse-42.1 - name: opensuse-leap
driver: driver:
image: opensuse:42.1 image: opensuse:leap
pid_one_command: /bin/systemd pid_one_command: /bin/systemd
intermediate_instructions: intermediate_instructions:
- RUN zypper --non-interactive install aaa_base perl-Getopt-Long-Descriptive which hostname - RUN zypper --non-interactive install aaa_base perl-Getopt-Long-Descriptive which hostname

View File

@ -5,7 +5,6 @@ provisioner:
name: chef_zero name: chef_zero
platforms: platforms:
- name: centos-5.11
- name: centos-6.8 - name: centos-6.8
- name: centos-7.2 - name: centos-7.2
- name: debian-7.11 - name: debian-7.11
@ -14,6 +13,8 @@ platforms:
run_list: apt::default run_list: apt::default
- name: fedora-25 - name: fedora-25
run_list: yum::dnf_yum_compat run_list: yum::dnf_yum_compat
- name: opensuse-13.2
- name: opensuse-leap-42.1
- name: ubuntu-12.04 - name: ubuntu-12.04
run_list: apt::default run_list: apt::default
- name: ubuntu-14.04 - name: ubuntu-14.04

View File

@ -1,7 +1,7 @@
sudo: required sudo: required
dist: trusty dist: trusty
# install the pre-release chef-dk. Use chef-stable-precise to install the stable release # install the pre-release chef-dk. Use chef-stable-trusty to install the stable release
addons: addons:
apt: apt:
sources: sources:
@ -20,26 +20,23 @@ services: docker
env: env:
matrix: matrix:
- INSTANCE=default-centos-6
- INSTANCE=default-centos-7
- INSTANCE=default-ubuntu-1204 - INSTANCE=default-ubuntu-1204
- INSTANCE=default-ubuntu-1404 - INSTANCE=default-ubuntu-1404
- INSTANCE=default-ubuntu-1604 - INSTANCE=default-ubuntu-1604
- INSTANCE=default-centos-5
- INSTANCE=default-centos-6
- INSTANCE=default-centos-7
before_script: before_script:
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
- eval "$(/opt/chefdk/bin/chef shell-init bash)" - eval "$(/opt/chefdk/bin/chef shell-init bash)"
- /opt/chefdk/embedded/bin/chef --version
- /opt/chefdk/embedded/bin/cookstyle --version
- /opt/chefdk/embedded/bin/foodcritic --version
script: KITCHEN_LOCAL_YAML=.kitchen.docker.yml /opt/chefdk/embedded/bin/kitchen verify ${INSTANCE} script: KITCHEN_LOCAL_YAML=.kitchen.docker.yml /opt/chefdk/embedded/bin/kitchen verify ${INSTANCE}
matrix: matrix:
include: include:
- before_script:
- eval "$(/opt/chefdk/bin/chef shell-init bash)"
- /opt/chefdk/embedded/bin/chef --version
- /opt/chefdk/embedded/bin/cookstyle --version
- /opt/chefdk/embedded/bin/foodcritic --version
- script: - script:
- /opt/chefdk/bin/chef exec rake - /opt/chefdk/bin/chef exec rake
env: UNIT_AND_LINT=1 env: UNIT_AND_LINT=1

View File

@ -1,13 +1,10 @@
<!-- This is a generated file. Please do not edit directly --> <!-- This is a generated file. Please do not edit directly -->
# Maintainers # Maintainers
This file lists how this cookbook project is maintained. When making changes to the system, this
file tells you who needs to review your patch - you need a review from an existing maintainer
for the cookbook to provide a :+1: on your pull request. Additionally, you need
to not receive a veto from a Lieutenant or the Project Lead.
Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD) This file lists how this cookbook project is maintained. When making changes to the system, this file tells you who needs to review your patch - you need a review from an existing maintainer for the cookbook to provide a :+1: on your pull request. Additionally, you need to not receive a veto from a Lieutenant or the Project Lead.
for details on the process and how to become a maintainer or the project lead.
Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD) for details on the process and how to become a maintainer or the project lead.
# Project Maintainer # Project Maintainer
* [Tim Smith](https://github.com/tas50) * [Tim Smith](https://github.com/tas50)

View File

@ -5,13 +5,10 @@
[Preamble] [Preamble]
title = "Maintainers" title = "Maintainers"
text = """ text = """
This file lists how this cookbook project is maintained. When making changes to the system, this
file tells you who needs to review your patch - you need a review from an existing maintainer
for the cookbook to provide a :+1: on your pull request. Additionally, you need
to not receive a veto from a Lieutenant or the Project Lead.
Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD) This file lists how this cookbook project is maintained. When making changes to the system, this file tells you who needs to review your patch - you need a review from an existing maintainer for the cookbook to provide a :+1: on your pull request. Additionally, you need to not receive a veto from a Lieutenant or the Project Lead.
for details on the process and how to become a maintainer or the project lead.
Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD) for details on the process and how to become a maintainer or the project lead.
""" """
[Org] [Org]

View File

@ -1,5 +1,4 @@
postfix Cookbook # postfix Cookbook
================
[![Build Status](https://travis-ci.org/chef-cookbooks/postfix.svg?branch=master)](https://travis-ci.org/chef-cookbooks/postfix) [![Build Status](https://travis-ci.org/chef-cookbooks/postfix.svg?branch=master)](https://travis-ci.org/chef-cookbooks/postfix)
[![Cookbook Version](https://img.shields.io/cookbook/v/postfix.svg)](https://supermarket.chef.io/cookbooks/postfix) [![Cookbook Version](https://img.shields.io/cookbook/v/postfix.svg)](https://supermarket.chef.io/cookbooks/postfix)
@ -8,10 +7,10 @@ Installs and configures postfix for client or outbound relayhost, or to do SASL
On RHEL-family systems, sendmail will be replaced with postfix. On RHEL-family systems, sendmail will be replaced with postfix.
## Requirements
### Platforms
Requirements
------------
#### Platforms
- Ubuntu 12.04+ - Ubuntu 12.04+
- Debian 7.0+ - Debian 7.0+
- RHEL/CentOS/Scientific 5.7+, 6.2+ - RHEL/CentOS/Scientific 5.7+, 6.2+
@ -19,15 +18,17 @@ Requirements
May work on other platforms with or without modification. May work on other platforms with or without modification.
#### Chef ### Chef
- Chef 12.1+ - Chef 12.1+
#### Cookbooks ### Cookbooks
- none - none
Attributes ## Attributes
----------
See `attributes/default.rb` for default values. See `attributes/default.rb` for default values.
### Generic cookbook attributes ### Generic cookbook attributes
@ -93,14 +94,16 @@ Example of json role config, for setup *_map_entries:
* `node['postfix']['master']['submission'] - Whether to use submission (TCP 587) daemon. (true/false); default false * `node['postfix']['master']['submission'] - Whether to use submission (TCP 587) daemon. (true/false); default false
Recipes ## Recipes
-------
### default ### default
Installs the postfix package and manages the service and the main configuration files (`/etc/postfix/main.cf` and `/etc/postfix/master.cf`). See __Usage__ and __Examples__ to see how to affect behavior of this recipe through configuration. Depending on the `node['postfix']['use_alias_maps']`, `node['postfix']['use_transport_maps']`, `node['postfix']['use_access_maps']` and `node['postfix']['use_virtual_aliases']` attributes the default recipe can call additional recipes to manage additional postfix configuration files Installs the postfix package and manages the service and the main configuration files (`/etc/postfix/main.cf` and `/etc/postfix/master.cf`). See __Usage__ and __Examples__ to see how to affect behavior of this recipe through configuration. Depending on the `node['postfix']['use_alias_maps']`, `node['postfix']['use_transport_maps']`, `node['postfix']['use_access_maps']` and `node['postfix']['use_virtual_aliases']` attributes the default recipe can call additional recipes to manage additional postfix configuration files
For a more dynamic approach to discovery for the relayhost, see the `client` and `server` recipes below. For a more dynamic approach to discovery for the relayhost, see the `client` and `server` recipes below.
### client ### client
Use this recipe to have nodes automatically search for the mail relay based which node has the `node['postfix']['relayhost_role']` role. Sets the `node['postfix']['main']['relayhost']` attribute to the first result from the search. Use this recipe to have nodes automatically search for the mail relay based which node has the `node['postfix']['relayhost_role']` role. Sets the `node['postfix']['main']['relayhost']` attribute to the first result from the search.
Includes the default recipe to install, configure and start postfix. Includes the default recipe to install, configure and start postfix.
@ -108,31 +111,35 @@ Includes the default recipe to install, configure and start postfix.
Does not work with `chef-solo`. Does not work with `chef-solo`.
### sasl\_auth ### sasl\_auth
Sets up the system to authenticate with a remote mail relay using SASL authentication. Sets up the system to authenticate with a remote mail relay using SASL authentication.
### server ### server
To use Chef Server search to automatically detect a node that is the relayhost, use this recipe in a role that will be relayhost. By default, the role should be "relayhost" but you can change the attribute `node['postfix']['relayhost_role']` to modify this. To use Chef Server search to automatically detect a node that is the relayhost, use this recipe in a role that will be relayhost. By default, the role should be "relayhost" but you can change the attribute `node['postfix']['relayhost_role']` to modify this.
**Note** This recipe will set the `node['postfix']['mail_type']` to "master" with an override attribute. **Note** This recipe will set the `node['postfix']['mail_type']` to "master" with an override attribute.
### aliases ### aliases
Manage `/etc/aliases` with this recipe. Currently only Ubuntu 10.04 platform has a template for the aliases file. Add your aliases template to the `templates/default` or to the appropriate platform+version directory per the File Specificity rules for templates. Then specify a hash of aliases for the `node['postfix']['aliases']` attribute. Manage `/etc/aliases` with this recipe. Currently only Ubuntu 10.04 platform has a template for the aliases file. Add your aliases template to the `templates/default` or to the appropriate platform+version directory per the File Specificity rules for templates. Then specify a hash of aliases for the `node['postfix']['aliases']` attribute.
Arrays are supported as alias values, since postfix supports comma separated values per alias, simply specify your alias as an array to use this handy feature. Arrays are supported as alias values, since postfix supports comma separated values per alias, simply specify your alias as an array to use this handy feature.
### aliases
Manage `/etc/aliases` with this recipe.
### transports ### transports
Manage `/etc/postfix/transport` with this recipe. Manage `/etc/postfix/transport` with this recipe.
### access ### access
Manage `/etc/postfix/access` with this recipe. Manage `/etc/postfix/access` with this recipe.
### virtual_aliases ### virtual_aliases
Manage `/etc/postfix/virtual` with this recipe. Manage `/etc/postfix/virtual` with this recipe.
### relay_restrictions ### relay_restrictions
Manage `/etc/postfix/relay_restriction` with this recipe Manage `/etc/postfix/relay_restriction` with this recipe
The postfix option smtpd_relay_restrictions in main.cf will point to this hash map db. The postfix option smtpd_relay_restrictions in main.cf will point to this hash map db.
@ -140,8 +147,8 @@ The postfix option smtpd_relay_restrictions in main.cf will point to this hash m
http://wiki.chef.io/display/chef/Templates#Templates-TemplateLocationSpecificity http://wiki.chef.io/display/chef/Templates#Templates-TemplateLocationSpecificity
Usage ## Usage
-----
On systems that should simply send mail directly to a relay, or out to the internet, use `recipe[postfix]` and modify the `node['postfix']['main']['relayhost']` attribute via a role. On systems that should simply send mail directly to a relay, or out to the internet, use `recipe[postfix]` and modify the `node['postfix']['main']['relayhost']` attribute via a role.
On systems that should be the MX for a domain, set the attributes accordingly and make sure the `node['postfix']['mail_type']` attribute is `master`. See __Examples__ for information on how to use `recipe[postfix::server]` to do this automatically. On systems that should be the MX for a domain, set the attributes accordingly and make sure the `node['postfix']['mail_type']` attribute is `master`. See __Examples__ for information on how to use `recipe[postfix::server]` to do this automatically.
@ -152,6 +159,7 @@ For each of these implementations, see __Examples__ for role usage.
### Examples ### Examples
The example roles below only have the relevant postfix usage. You may have other contents depending on what you're configuring on your systems. The example roles below only have the relevant postfix usage. You may have other contents depending on what you're configuring on your systems.
The `base` role is applied to all nodes in the environment. The `base` role is applied to all nodes in the environment.
@ -298,8 +306,7 @@ override_attributes(
) )
``` ```
License & Authors ## License & Authors
-----------------
**Author:** Cookbook Engineering Team (<cookbooks@chef.io>) **Author:** Cookbook Engineering Team (<cookbooks@chef.io>)

View File

@ -11,7 +11,7 @@ namespace :style do
desc 'Run Ruby style checks' desc 'Run Ruby style checks'
RuboCop::RakeTask.new(:ruby) RuboCop::RakeTask.new(:ruby)
rescue LoadError => e rescue LoadError => e
puts ">>> Gem load error: #{e}, omitting style:ruby" unless ENV['CI'] puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
end end
begin begin
@ -24,8 +24,8 @@ namespace :style do
progress: true, progress: true,
} }
end end
rescue LoadError rescue LoadError => e
puts ">>> Gem load error: #{e}, omitting style:chef" unless ENV['CI'] puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
end end
end end
@ -39,7 +39,7 @@ begin
desc 'Run ChefSpec examples' desc 'Run ChefSpec examples'
RSpec::Core::RakeTask.new(:spec) RSpec::Core::RakeTask.new(:spec)
rescue LoadError => e rescue LoadError => e
puts ">>> Gem load error: #{e}, omitting spec" unless ENV['CI'] puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
end end
# Integration tests. Kitchen.ci # Integration tests. Kitchen.ci
@ -49,8 +49,8 @@ namespace :integration do
desc 'Run kitchen integration tests' desc 'Run kitchen integration tests'
Kitchen::RakeTasks.new Kitchen::RakeTasks.new
rescue StandardError => e rescue LoadError, StandardError => e
puts ">>> Kitchen error: #{e}, omitting #{task.name}" unless ENV['CI'] puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
end end
end end

View File

@ -21,5 +21,4 @@ end
source_url 'https://github.com/chef-cookbooks/postfix' source_url 'https://github.com/chef-cookbooks/postfix'
issues_url 'https://github.com/chef-cookbooks/postfix/issues' issues_url 'https://github.com/chef-cookbooks/postfix/issues'
chef_version '>= 12.1' if respond_to?(:chef_version)
chef_version '>= 12.1'

View File

@ -1,2 +1,8 @@
require 'chefspec' require 'chefspec'
require 'chefspec/berkshelf' require 'chefspec/berkshelf'
RSpec.configure do |config|
config.color = true # Use color in STDOUT
config.formatter = :documentation # Use the specified formatter
config.log_level = :error # Avoid deprecation notice SPAM
end