add 1604 support and switch transport to kitchen-sync
diff --git a/.kitchen.yml b/.kitchen.yml
index caab2e3..55752a5 100644
--- a/.kitchen.yml
+++ b/.kitchen.yml
@@ -5,6 +5,9 @@
     cpus: '2'
     memory: '2048'
 
+transport:
+  name: sftp
+
 provisioner:
   name: puppet_apply
   manifests_path: puppet/manifests
@@ -24,6 +27,10 @@
     driver:
       box: ubuntu1464-puppet
       box_url: https://vagrantcloud.com/puppetlabs/boxes/ubuntu-14.04-64-puppet/versions/1.0.1/providers/virtualbox.box
+  - name: ubuntu1664
+    driver:
+      box: puppetlabs/ubuntu-16.04-64-puppet
+      box_url: https://atlas.hashicorp.com/puppetlabs/boxes/ubuntu-16.04-64-puppet/versions/1.0.0/providers/virtualbox.box
 
 suites:
   - name: default
diff --git a/Gemfile b/Gemfile
index f9538d7..da71503 100644
--- a/Gemfile
+++ b/Gemfile
@@ -10,3 +10,4 @@
 gem 'busser'
 gem 'kitchen-vagrant'
 gem 'r10k'
+gem 'kitchen-sync'
diff --git a/puppet/data/ubuntu/1404.yaml b/puppet/data/ubuntu/1404.yaml
index 1306faa..03d3161 100644
--- a/puppet/data/ubuntu/1404.yaml
+++ b/puppet/data/ubuntu/1404.yaml
@@ -1,11 +1,11 @@
 ---
 classes:
   - apt
-  - apt::unattended_upgrades
   - apt::update
   - git_asf
   - python
   - subversionclient
+  - unattended_upgrades
 
 base::basepackages:
   - apt-file
@@ -113,11 +113,11 @@
     release: 'main'
   require: Apt::Source['asf_internal']
 
-apt::unattended_upgrades::update: 1
-apt::unattended_upgrades::download: 1
-apt::unattended_upgrades::upgrade: 1
-apt::unattended_upgrades::autoclean: 7
-apt::unattended_upgrades::origins:
+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:
diff --git a/puppet/data/ubuntu/1604.yaml b/puppet/data/ubuntu/1604.yaml
new file mode 100644
index 0000000..2f0da1f
--- /dev/null
+++ b/puppet/data/ubuntu/1604.yaml
@@ -0,0 +1,156 @@
+---
+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'