cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Damodar Reddy T (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CLOUDSTACK-7316) hitting java.lang.reflect.InvocationTargetException while starting usage server
Date Tue, 02 Sep 2014 11:10:21 GMT

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

Damodar Reddy T edited comment on CLOUDSTACK-7316 at 9/2/14 11:10 AM:
----------------------------------------------------------------------

Problem:
-----------------------------
Usage Server was not starting when we enable DB Encryption due to not able to find "key" file
in the class path when we install it on the same machine where management server was installed.
Analysis:
-----------------------------
Due to changes that are happened to, how cloudstack loads "key" file (earlier it used load
key file from the hard coded absolute path "/etc/cloudstack/management/key") to read it from
the class path, when we install usage server on the same machine where management server was
installed it is not able to find the file "key" in the class path of the usage server which
is "/etc/cloudstack/usage".
Proposed Solution:
----------------------------
During installation of the Usage server, if it is getting installed on the same machine where
management server was installed add an alias to "/etc/cloudstack/management/key" in "/etc/cloudstacl/usage"
as "key" if it exists.
QA Notes:
---------------------------
The default installation of the management server enables file based DB encryption so no need
to enable it explicitly.


was (Author: damoder.reddy):
Problem:
-----------------------------
Usage Server was not starting when we enable DB Encryption due to not able to find "key" file
in the class path when we install it on the same machine where management server was installed.
Analysis:
-----------------------------
Due to changes that are happened to, how CCP loads "key" file (earlier it used load key file
from the hard coded absolute path "/etc/cloudstack/management/key") to read it from the class
path, when we install usage server on the same machine where management server was installed
it is not able to find the file "key" in the class path of the usage server which is "/etc/cloudstack/usage".
Proposed Solution:
----------------------------
During installation of the Usage server, if it is getting installed on the same machine where
management server was installed add an alias to "/etc/cloudstack/management/key" in "/etc/cloudstacl/usage"
as "key" if it exists.
QA Notes:
---------------------------
The default installation of the management server enables file based DB encryption so no need
to enable it explicitly.

> hitting java.lang.reflect.InvocationTargetException while starting usage server
> -------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-7316
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7316
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Usage
>    Affects Versions: 4.5.0
>            Reporter: shweta agarwal
>            Assignee: Damodar Reddy T
>            Priority: Blocker
>             Fix For: 4.5.0
>
>         Attachments: usage.tar.gz
>
>
> Repro steps:
> Install MS and usage server
> Start MS and usage server
> Bug:
> Usage server will stop after starting
> usage log shows :
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:243)
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'vmDiskUsageParser': Injection of autowired dependencies failed; nested exception
is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private
com.cloud.usage.dao.UsageDao com.cloud.usage.parser.VmDiskUsageParser._usageDao; nested exception
is org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'usageDaoImpl' defined in URL [jar:file:/usr/share/cloudstack-usage/lib/cloud-engine-schema-4.5.0-SNAPSHOT.jar!/com/cloud/usage/dao/UsageDaoImpl.class]:
BeanPostProcessor before instantiation of bean failed; nested exception is net.sf.cglib.core.CodeGenerationException:
java.lang.ExceptionInInitializerError-->null
>         at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:288)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1116)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
>         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
>         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
>         at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
>         at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
>         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
>         at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>         at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
>         at com.cloud.usage.UsageServer.start(UsageServer.java:57)
>         ... 5 more
> Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire
field: private com.cloud.usage.dao.UsageDao com.cloud.usage.parser.VmDiskUsageParser._usageDao;
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'usageDaoImpl' defined in URL [jar:file:/usr/share/cloudstack-usage/lib/cloud-engine-schema-4.5.0-SNAPSHOT.jar!/com/cloud/usage/dao/UsageDaoImpl.class]:
BeanPostProcessor before instantiation of bean failed; nested exception is net.sf.cglib.core.CodeGenerationException:
java.lang.ExceptionInInitializerError-->null
>         at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:514)



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

Mime
View raw message