Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/infrastructure-puppet-kitchen
diff --git a/.kitchen.yml b/.kitchen.yml
index 59d0b8a..5a59d75 100644
--- a/.kitchen.yml
+++ b/.kitchen.yml
@@ -17,11 +17,12 @@
hiera_deep_merge: true
vm_hostname: 'test'
require_chef_for_busser: false
- puppet_debug: false
+# require_puppet_repo: false
+# puppet_logdest:
+# - 'console'
+ puppet_debug: true
puppet_verbose: true
- # require_puppet_repo: false
- # puppet_logdest:
- # - 'console'
+
#http_proxy: 'http://192.168.1.3:3142' # Disable this unless you use apt-cacher-ng or something that caches
platforms:
@@ -32,8 +33,7 @@
- name: ubuntu1664
driver:
box: ubuntu/xenial64
- # this uses the Atlas vagrant box from
- # https://atlas.hashicorp.com/ubuntu/boxes/xenial64
+ box_url: https://atlas.hashicorp.com/puppetlabs/boxes/ubuntu-16.04-64-nocm/versions/1.0.0/providers/virtualbox.box
suites:
- name: default
@@ -41,15 +41,11 @@
driver_config:
network:
- ["private_network", {ip: "192.168.33.2"}]
- # do not build default on 14.04
- excludes:
- - ubuntu1464
-
+ excludes:
+ - ubuntu1464
- name: tlp
manifest: site.pp
driver_config:
network:
- ["private_network", {ip: "192.168.33.2"}]
- # do not build TLP on 16.04
- excludes:
- - ubuntu1664
+
diff --git a/README.md b/README.md
index c4af8c1..67d2067 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
-- things with names like `apt`, `gem`, `hiera`, `kitchen`, `puppet`, and
`r10k`. To make things easier, the Apache infrastructure team provides a base
definition on top of which you install and configure 'modules'. Modules can
-be pretty much anything, examples being `apt` and `tomcat`.
+be pretty much anything, examples being `ldap` and `tomcat`.
There are two sets of modules that you can draw from: [3rd party modules](https://github.com/apache/infrastructure-puppet/blob/deployment/Puppetfile) and [ASF])https://github.com/apache/infrastructure-puppet/tree/deployment/modules) modules.
@@ -42,6 +42,9 @@
```
gem install bundler
+gem install test-kitchen
+gem install kitchen-puppet
+gem install kitchen-vagrant
cd <path to infrastructure-puppet repo>
bundle install
```
@@ -65,8 +68,35 @@
### Boostrapping
-```
+ ``
+to upgrade to the latest RubyGems: gem update --system ##may need to be administrator or root
+*** NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no rubygems-update installed.
+You will need to use the following instructions if you see Nothing to update. If you have an older version of RubyGems installed,
+ then you can still do it in two steps:
+
+ $ gem install rubygems-update # again, might need to be admin/root
+ $ update_rubygems # ... here too
+kitchen login default-ubuntu1664
+sudo gem install puppet
+sudo gem install bundle
+sudo gem install kitchen-sync
+
+remove the block puppetlabs and puppetdeps from puppet/data/ubuntu/1604.yaml
+In the suites section add the excludes in nfrastructure-puppet-kitchen/.kitchen.yml as follows:
+suites:
+ - name: default
+ manifest: site.pp
+ driver_config:
+ network:
+ - ["private_network", {ip: "192.168.33.2"}]
+ excludes:
+ - ubuntu1464 #you get this name from the "platforms"section in the .kitchen.yml file
+
+
+
+from the main directory where you cloned infrastructure-puppet-kitchen
kitchen create default
+kitchen exec default -c 'sudo gem install deep_merge'
kitchen converge default
```
@@ -101,10 +131,12 @@
Third party modules are listed in
[infrastructure-puppet/Puppetfile](https://raw.githubusercontent.com/apache/infrastructure-puppet/deployment/Puppetfile),
-and updated using the `bin/pull` command described above, which uses `r10k` to populate the 3rdParty directory. This is distinctly different than the standard method of installing modules using `puppet module install`.
+and updated using the `bin/pull` command described above. Information on
+locating a module can be found at
+[puppet labs documentation](http://docs.puppetlabs.com/puppet/4.3/reference/quick_start_module_install_nix.html).
Custom modules are stored in
-[infrastructure-puppet/modules/](https://github.com/apache/infrastructure-puppet/tree/deployment/modules). Documentation on how to write a module can be found in the [puppet labs documentation](https://docs.puppet.com/puppet/3.8/reference/modules_fundamentals.html).
+[infrastructure-puppet/modules/](https://github.com/apache/infrastructure-puppet/tree/deployment/modules). Again, documentation on how to write a module can be found in the [puppet labs documentation](http://docs.puppetlabs.com/puppet/4.3/reference/quick_writing_nix.html).
### Cleanup
diff --git a/puppet/data/ubuntu/1604.yaml b/puppet/data/ubuntu/1604.yaml
deleted file mode 100644
index 2f0da1f..0000000
--- a/puppet/data/ubuntu/1604.yaml
+++ /dev/null
@@ -1,156 +0,0 @@
----
-classes:
- - apt
- - apt::update
- - git_asf
- - python
- - subversionclient
- - unattended_upgrades
-
-base::basepackages:
- - apt-file
- - bash
- - ca-certificates
- - haveged
- - htop
- - iotop
- - libnet-snmp-perl
- - libsnmp-perl
- - libnss-myhostname
- - sockstat
- - software-properties-common
- - vim
- - zsh
-
-base::purgedpackages:
- - 'collectd'
- - 'collectd-core'
-
-apache::mod::geoip::enable: true
-apache::mod::geoip::flag: 'MemoryCache'
-apache::mod::geoip::db_file:
- - '/usr/share/GeoIP/GeoIP.dat'
- - '/usr/share/GeoIP/GeoIPCity.dat'
-
-apache::mod::ssl::ssl_cipher: 'HIGH:MEDIUM:!aNULL:!MD5:!RC4'
-
-apache::log_formats:
- combined: '<%%JSON:httpd_access%%> {
- \"time\": \"%%{}{%Y-%m-%dT%H:%M:%S%z}t\",
- \"clientip\": \"%a\",
- \"duration\": %D,
- \"status\": %>s,
- \"request\": \"%U%q\",
- \"uri\": \"%U\",
- \"remote_user\": \"%u\",
- \"query_string\": \"%q\",
- \"document\": \"%f\",
- \"bytes\": %B,
- \"request_method\": \"%m\",
- \"referer\": \"%%{}{Referer}i\",
- \"useragent\": \"%%{}{User-agent}i\",
- \"vhost\": \"%%{}{Host}i\",
- \"geo_country\": \"%%{}{GEOIP_COUNTRY_CODE}n\",
- \"geo_long\": \"%%{}{GEOIP_LONGITUDE}n\",
- \"geo_lat\": \"%%{}{GEOIP_LATITUDE}n\",
- \"geo_coords\": \"%%{}{GEOIP_LATITUDE}n,%%{}{GEOIP_LONGITUDE}n\",
- \"geo_city\": \"%%{}{GEOIP_CITY}n\",
- \"geo_combo\": \"%%{}{GEOIP_CITY}n, %%{}{GEOIP_COUNTRY_NAME}n\"
- }'
-
-apt::sources:
- 'asf_internal':
- location: 'https://packages.apache.org/asf_internal'
- release: 'xenial'
- repos: 'main'
- key: '390EF70BB1EA12B2773962950EE62FB37A00258D'
- key_server: 'pgp.mit.edu'
- include_deb: true
- include_src: false
- 'elasticsearch':
- location: 'https://packages.elasticsearch.org/elasticsearch/1.7/debian'
- release: 'stable'
- repos: 'main'
- key: '46095ACC8548582C1A2699A9D27D666CD88E42B4'
- key_server: 'pgp.mit.edu'
- include_deb: true
- include_src: false
- 'lxc_docker':
- location: 'https://get.docker.io/ubuntu'
- release: 'docker'
- repos: 'main'
- key: '36A1D7869245C8950F966E92D8576A8BA88D21E9'
- key_server: 'hkp://keyserver.ubuntu.com:80'
- include_deb: true
- include_src: false
- 'puppetlabs':
- location: 'https://apt.puppetlabs.com'
- release: 'xenial'
- repos: 'main'
- key: '47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30'
- key_server: 'keyserver.ubuntu.com'
- include_deb: true
- include_src: false
- 'puppetdeps':
- location: 'https://apt.puppetlabs.com'
- release: 'xenial'
- repos: 'dependencies'
- key: '47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30'
- key_server: 'keyserver.ubuntu.com'
- include_deb: true
- include_src: false
- 'vmware-tools':
- location: 'http://packages.vmware.com/packages/ubuntu'
- release: 'xenial'
- repos: 'main'
- key: '36E47E1CC4DCC5E8152D115CC0B5E0AB66FD4949'
- key_server: 'pgp.mit.edu'
- include_deb: true
- include_src: false
-
-apt::force:
- 'orthrus':
- release: 'main'
- require: Apt::Source['asf_internal']
-
-unattended_upgrades::update: 1
-unattended_upgrades::download: 1
-unattended_upgrades::upgrade: 1
-unattended_upgrades::autoclean: 7
-unattended_upgrades::origins:
- - '${distro_id} ${distro_codename}-security'
-
-logrotate::rule:
- apache2:
- name: 'apache2'
- path: '/var/log/apache2/*.log'
- ensure: 'absent'
- compress: true
- compressoptions: '-9'
- rotate: 7
- create_owner: 'root'
- create_group: 'adm'
- rotate_every: 'day'
- create_mode: '0644'
- missingok: true
- dateext: true
- delaycompress: false
- ifempty: false
- create: true
- sharedscripts: true
- postrotate:
- - 'if /etc/init.d/apache2 status > /dev/null ; then /etc/init.d/apache2 reload > /dev/null; fi;'
- prerotate:
- - 'if [ -d /etc/logrotate.d/httpd-prerotate ]; then run-parts /etc/logrotate.d/httpd-prerotate; fi;'
-
-ntp::interfaces:
- - eth0
- - lo
-
-python::dev: true
-python::pip: true
-
-subversionclient::packages:
- - subversion
-subversionclient::svn_conf_config: '/etc/subversion/config'
-subversionclient::svn_conf_servers: '/etc/subversion/servers'