[
https://issues.apache.org/jira/browse/AMBARI-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13763463#comment-13763463
]
Dmitry Lysnichenko commented on AMBARI-3126:
--------------------------------------------
[~edrevo],
I could not reproduce an issue. When Oozie is installed via Ambari, symlinks
seem to be handled correctly. Studying puppet code reveals that this call at
/src/main/puppet/modules/hdp-oozie/manifests/init.pp:80
{code}
hdp::directory { $oozie_config_dir:
service_state => $service_state,
force => true,
owner => $oozie_user,
group => $hdp::params::user_group,
override_owner => true
}
{code}
invokes this definition /src/main/puppet/modules/hdp/manifests/init.pp:354
{code}
define hdp::directory(
$owner = undef,
$group = $hdp::params::user_group,
$mode = undef,
$ensure = directory,
$force = undef,
$service_state = 'running',
$override_owner = false
)
{
if (($service_state == 'uninstalled') and ($wipeoff_data == true)) {
file { $name :
ensure => absent,
owner => $owner,
group => $group,
mode => $mode,
force => $force
}
} elsif ($service_state != 'uninstalled') {
if $override_owner == true {
file { $name :
ensure => present,
owner => $owner,
group => $group,
mode => $mode,
force => $force
}
} else {
file { $name :
ensure => present,
mode => $mode,
force => $force
}
}
}
}
{code}
Everywhere at this definition we use "ensure => present" and not "ensure =>
directory" regardless of value of an $ensure parameter. So hdp::directory
invocation (with any parameters) should not replace a symlink with an empty
directory. I've tested that playing with a simple puppet file (/tmp/1.pp):
{code}
file { "/etc/oozie/conf":
ensure => present,
force => true,
mode => 675,
owner => nobody
}
{code}
It may be started via command
{code}
export PATH=/usr/lib/ambari-agent/lib/ruby-1.8.7-p370/bin/:$PATH && export
RUBYLIB="/usr/lib/ambari-agent/lib/facter-1.6.10/lib/:/usr/lib/ambari-agent/lib/puppet-2.7.9/lib"
&& /usr/lib/ambari-agent/lib/puppet-2.7.9/bin/puppet apply
--confdir=/var/lib/ambari-agent/puppet --detailed-exitcodes /tmp/1.pp
{code}
Also, some line numbers in a patch seem to be outdated (line numbers differ
significantly compared to a trunk). May it be any chance of an issue with
outdated git repository clone?
> Oozie missing action-conf
> -------------------------
>
> Key: AMBARI-3126
> URL: https://issues.apache.org/jira/browse/AMBARI-3126
> Project: Ambari
> Issue Type: Bug
> Affects Versions: 1.3.0
> Reporter: Ximo Guanter
> Assignee: Ximo Guanter
> Fix For: 1.4.1
>
> Attachments: AMBARI-3126-1.patch
>
>
> Ambari will transition the service from INIT to INSTALLED and then STARTED
> with no problems, but the Oozie server won't actually be started. Here's the
> relevant part of the Oozie server's log:
> {code}
> 2013-09-06 02:37:36,821 FATAL Services:533 - USER[-] GROUP[-] E0100: Could
> not initialize service [org.apache.oozie.service.HadoopAccessorService],
> could not find action configuration directory: /etc/oozie/conf/action-conf
> org.apache.oozie.service.ServiceException: E0100: Could not initialize
> service [org.apache.oozie.service.HadoopAccessorService], could not find
> action configuration directory: /etc/oozie/conf/action-conf
> at
> org.apache.oozie.service.HadoopAccessorService.parseConfigDirs(HadoopAccessorService.java:227)
> at
> org.apache.oozie.service.HadoopAccessorService.preLoadActionConfigs(HadoopAccessorService.java:260)
> at
> org.apache.oozie.service.HadoopAccessorService.init(HadoopAccessorService.java:141)
> at
> org.apache.oozie.service.HadoopAccessorService.init(HadoopAccessorService.java:97)
> at
> org.apache.oozie.service.Services.setServiceInternal(Services.java:368)
> at org.apache.oozie.service.Services.setService(Services.java:354)
> at org.apache.oozie.service.Services.loadServices(Services.java:287)
> at org.apache.oozie.service.Services.init(Services.java:208)
> at
> org.apache.oozie.servlet.ServicesLoader.contextInitialized(ServicesLoader.java:39)
> at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
> at
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
> at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778)
> at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504)
> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
> at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
> {code}
> I suspect this is due to line 82 in hdp-oozie/manifests/init.pp:
> {code}
> hdp::directory { $oozie_config_dir:
> service_state => $service_state,
> force => true, // BUG: this will remove the actions-conf directory
> owner => $oozie_user,
> group => $hdp::params::user_group,
> override_owner => true
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira