[ 
https://issues.apache.org/jira/browse/SLIDER-337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14190925#comment-14190925
 ] 

Josh Elser commented on SLIDER-337:
-----------------------------------

[~hsy541], I think I'd agree with you. This was very much a work around to make 
sure that we don't flat-out fail. I'm not familiar enough with how the library 
providers are used, but you should feel free to open another issue to make them 
configurable. We can have discussion there :)

> Agent error when trying to deploy Accumulo 
> -------------------------------------------
>
>                 Key: SLIDER-337
>                 URL: https://issues.apache.org/jira/browse/SLIDER-337
>             Project: Slider
>          Issue Type: Bug
>          Components: agent-provider
>         Environment: Gentoo Linux, develop branch (035ebbd), 
> Hadoop-2.6.0-SNAPSHOT (r1619002)
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>             Fix For: Slider 0.60
>
>
> Tried to start an Accumulo cluster:
> {noformat}
> slider create accumulo --image 
> hdfs://localhost:8020/slider/agent/slider-agent.tar.gz --template 
> /home/elserj/slider/app-packages/accumulo/target/apache-slider-accumulo-1.6.0-app-package-0.40/appConfig.json
>  --resources 
> /home/elserj/slider/app-packages/accumulo/target/apache-slider-accumulo-1.6.0-app-package-0.40/resources.json
> {noformat}
> SliderAM came up, but no Accumulo procs got started. Looking at the AM 
> webapp, the Accumulo master container kept cycling. Dug around in the 
> NM/container logs dir, and found the following stack:
> {noformat}
> Traceback (most recent call last):
>   File 
> ".../nm-local-dir/usercache/elserj/appcache/application_1408503547578_0002/container_1408503547578_0002_01_000021/app/definition/package/scripts/accumulo_master.py",
>  line 24, in <module>
>     AccumuloScript('master').execute()
>   File 
> ".../nm-local-dir/usercache/elserj/appcache/application_1408503547578_0002/container_1408503547578_0002_01_000021/infra/agent/slider-agent/resource_management/libraries/script/script.py",
>  line 114, in execute
>     method(env)
>   File 
> ".../nm-local-dir/usercache/elserj/appcache/application_1408503547578_0002/filecache/19/apache-slider-accumulo-1.6.0-app-package-0.40.zip/package/scripts/accumulo_script.py",
>  line 82, in start
>     self.configure(env) # for security
>   File 
> ".../nm-local-dir/usercache/elserj/appcache/application_1408503547578_0002/filecache/19/apache-slider-accumulo-1.6.0-app-package-0.40.zip/package/scripts/accumulo_script.py",
>  line 76, in configure
>     setup_conf_dir(name=self.component)
>   File 
> ".../tmp/nm-local-dir/usercache/elserj/appcache/application_1408503547578_0002/filecache/19/apache-slider-accumulo-1.6.0-app-package-0.40.zip/package/scripts/accumulo_configuration.py",
>  line 31, in setup_conf_dir
>     recursive = True
>   File 
> ".../nm-local-dir/usercache/elserj/appcache/application_1408503547578_0002/container_1408503547578_0002_01_000021/infra/agent/slider-agent/resource_management/core/base.py",
>  line 148, in __init__
>     self.env.run()
>   File 
> ".../nm-local-dir/usercache/elserj/appcache/application_1408503547578_0002/container_1408503547578_0002_01_000021/infra/agent/slider-agent/resource_management/core/environment.py",
>  line 149, in run
>     self.run_action(resource, action)
>   File 
> ".../nm-local-dir/usercache/elserj/appcache/application_1408503547578_0002/container_1408503547578_0002_01_000021/infra/agent/slider-agent/resource_management/core/environment.py",
>  line 109, in run_action
>     resource.provider)
>   File 
> ".../nm-local-dir/usercache/elserj/appcache/application_1408503547578_0002/container_1408503547578_0002_01_000021/infra/agent/slider-agent/resource_management/core/providers/__init__.py",
>  line 72, in find_provider
>     if resource in provider[env.system.os_family]:
> KeyError: 'gentoo base system'
> {noformat}
> I'm rusty on my Python, but I believe this means that in 
> {{slider-agent/src/main/python/resource_management/core/providers/__init__.py}}
> {noformat}
> if resource in provider[env.system.os_family]:
> {noformat}
> should be 
> {noformat}
> if env.system.os_family in provider:
>   if resource in provider[env.system.os_family]:
> {noformat}
> to avoid the Exception when the key doesn't exist (alternatively try/except, 
> too), and get down to the {{default}} case.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to