Steve Lewis c6a7c52c8c Update old removed Chef syntax in Vagrant provision
The original reported issue was due to the deprecation and removal of
`Chef::Platform.set`. This was fixed by moving to the new provider
syntax.

Other changes in the Chef cookbooks were performed to address similar
changes due to deprecated and removed methods and models as well as to
conform to new enforcements.

One issue not addressed in this change is to make the Oracle JDK
download work, since Java 8u20 is no longer available.

This fix was tested with the following override in the Vagrantfile:

java: {
  install_flavor: 'openjdk',
  jdk_version: 7
}

The above change is NOT included in this patch set. Further work
would be necessary to update the Oracle download before `vagrant up`
will work without this modification.

Fix #1123

Signed-off-by: Steve Lewis <steven.lewis@cambiahealth.com>
2019-01-31 05:17:22 -05:00

120 lines
3.6 KiB
Ruby

#
# Cookbook Name:: tomcat
# Recipe:: default
#
# Copyright 2010, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# required for the secure_password method from the openssl cookbook
::Chef::Recipe.send(:include, Opscode::OpenSSL::Password)
include_recipe 'java'
tomcat_pkgs = value_for_platform(
['smartos'] => {
'default' => ['apache-tomcat'],
},
'default' => ["tomcat#{node['tomcat']['base_version']}"]
)
if node['tomcat']['deploy_manager_apps']
tomcat_pkgs << value_for_platform(
%w{ debian ubuntu } => {
'default' => "tomcat#{node['tomcat']['base_version']}-admin",
},
%w{ centos redhat fedora amazon scientific oracle } => {
'default' => "tomcat#{node['tomcat']['base_version']}-admin-webapps",
}
)
end
tomcat_pkgs.compact!
tomcat_pkgs.each do |pkg|
package pkg do
action :install
version node['tomcat']['base_version'].to_s if platform_family?('smartos')
end
end
unless node['tomcat']['deploy_manager_apps']
directory "#{node['tomcat']['webapp_dir']}/manager" do
action :delete
recursive true
end
file "#{node['tomcat']['config_dir']}/Catalina/localhost/manager.xml" do
action :delete
end
directory "#{node['tomcat']['webapp_dir']}/host-manager" do
action :delete
recursive true
end
file "#{node['tomcat']['config_dir']}/Catalina/localhost/host-manager.xml" do
action :delete
end
end
node.default_unless['tomcat']['keystore_password'] = secure_password
node.default_unless['tomcat']['truststore_password'] = secure_password
if node['tomcat']['run_base_instance']
tomcat_instance "base" do
port node['tomcat']['port']
proxy_port node['tomcat']['proxy_port']
ssl_port node['tomcat']['ssl_port']
ssl_proxy_port node['tomcat']['ssl_proxy_port']
ajp_port node['tomcat']['ajp_port']
shutdown_port node['tomcat']['shutdown_port']
end
end
node['tomcat']['instances'].each do |name, attrs|
tomcat_instance "#{name}" do
port attrs['port']
proxy_port attrs['proxy_port']
ssl_port attrs['ssl_port']
ssl_proxy_port attrs['ssl_proxy_port']
ajp_port attrs['ajp_port']
shutdown_port attrs['shutdown_port']
config_dir attrs['config_dir']
log_dir attrs['log_dir']
work_dir attrs['work_dir']
context_dir attrs['context_dir']
webapp_dir attrs['webapp_dir']
catalina_options attrs['catalina_options']
java_options attrs['java_options']
use_security_manager attrs['use_security_manager']
authbind attrs['authbind']
max_threads attrs['max_threads']
ssl_max_threads attrs['ssl_max_threads']
ssl_cert_file attrs['ssl_cert_file']
ssl_key_file attrs['ssl_key_file']
ssl_chain_files attrs['ssl_chain_files']
keystore_file attrs['keystore_file']
keystore_type attrs['keystore_type']
truststore_file attrs['truststore_file']
truststore_type attrs['truststore_type']
certificate_dn attrs['certificate_dn']
loglevel attrs['loglevel']
tomcat_auth attrs['tomcat_auth']
user attrs['user']
group attrs['group']
home attrs['home']
base attrs['base']
tmp_dir attrs['tmp_dir']
lib_dir attrs['lib_dir']
endorsed_dir attrs['endorsed_dir']
end
end