diff --git a/fmw_domain/attributes/default.rb b/fmw_domain/attributes/default.rb index dfaaa14..17e3cde 100644 --- a/fmw_domain/attributes/default.rb +++ b/fmw_domain/attributes/default.rb @@ -2,6 +2,7 @@ default['fmw_domain']['nodemanager_port'] = 5556 default['fmw_domain']['nodemanager_service_description'] = nil +default['fmw_domain']['nodemanager_service_type'] = "simple" if node['platform_family'] =='windows' default['fmw_domain']['domains_dir'] = 'C:/oracle/middleware/user_projects/domains' diff --git a/fmw_domain/providers/nodemanager_service_redhat_7.rb b/fmw_domain/providers/nodemanager_service_redhat_7.rb index 9aa0a4e..0c460cc 100644 --- a/fmw_domain/providers/nodemanager_service_redhat_7.rb +++ b/fmw_domain/providers/nodemanager_service_redhat_7.rb @@ -20,6 +20,7 @@ def load_current_resource @current_resource ||= Chef::ResourceResolver.resolve('fmw_domain_nodemanager_service_redhat_7').new(new_resource.name) @current_resource.user_home_dir(@new_resource.user_home_dir) @current_resource.os_user(@new_resource.os_user) + @current_resource.type(@new_resource.type) @current_resource end @@ -44,7 +45,8 @@ def load_current_resource mode 0755 variables(script_name: new_resource.name, user_home_dir: new_resource.user_home_dir, - os_user: new_resource.os_user) + os_user: new_resource.os_user, + type: new_resource.type) notifies :run, 'execute[systemctl-daemon-reload]', :immediately notifies :run, 'execute[systemctl-enable]', :immediately notifies :enable, "service[#{new_resource.name}.service]", :immediately diff --git a/fmw_domain/recipes/nodemanager.rb b/fmw_domain/recipes/nodemanager.rb index 4842d16..7d7cfe4 100644 --- a/fmw_domain/recipes/nodemanager.rb +++ b/fmw_domain/recipes/nodemanager.rb @@ -84,8 +84,10 @@ if (node['platform_family'] == 'rhel' and node['platform_version'] >= '7.0') location = "#{node['fmw']['user_home_dir']}/#{node['fmw']['os_user']}/#{script_name}" + type = node['fmw_domain']['nodemanager_service_type'] else location = "/etc/init.d/#{script_name}" + type = false end # add linux script to the right location @@ -102,6 +104,7 @@ fmw_domain_nodemanager_service script_name do user_home_dir node['fmw']['user_home_dir'] os_user node['fmw']['os_user'] + type type end elsif node['os'].include?('solaris2') diff --git a/fmw_domain/resources/nodemanager_service_redhat_7.rb b/fmw_domain/resources/nodemanager_service_redhat_7.rb index d82a52e..404ee56 100644 --- a/fmw_domain/resources/nodemanager_service_redhat_7.rb +++ b/fmw_domain/resources/nodemanager_service_redhat_7.rb @@ -18,3 +18,6 @@ attribute :user_home_dir, kind_of: String, required: true # operating system user attribute :os_user, kind_of: String, required: true + +# process start-up type for this service unit. +attribute :type, kind_of: String, required: false , default: 'simple' diff --git a/fmw_domain/templates/default/nodemanager/systemd b/fmw_domain/templates/default/nodemanager/systemd index 3122a96..1925e21 100644 --- a/fmw_domain/templates/default/nodemanager/systemd +++ b/fmw_domain/templates/default/nodemanager/systemd @@ -3,7 +3,7 @@ Description=WebLogic <%= @script_name %> service After=syslog.target network.target [Service] -Type=simple +Type=<%= @type %> ExecStart=<%= @user_home_dir %>/<%= @os_user %>/<%= @script_name %> start ExecStop=<%= @user_home_dir %>/<%= @os_user %>/<%= @script_name %> stop TimeoutSec=30 @@ -11,4 +11,4 @@ KillMode=process RemainAfterExit=yes [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target