forwards and backwards compatible user preferences
by Ian Springer
I am looking at https://bugzilla.redhat.com/show_bug.cgi?id=693411. It
appears the root cause of the issue is that the format of the
".recent.resources" preference's value was changed in coregui from the
format used by portal-war. coregui uses:
resourceId|resourceId|resourceId,...
but portal-war uses:
entityId|entityType|name,entityId|entityType|name,...
where entityId is either a resource or group id, and entity type is
either "resource" or "group".
I think we should try to keep the format of existing preferences the
same, and if we absolutely do need to change the format of a preference,
we should change its name too. That way when a user upgrades from RHQ
3.x or JON 2.x, their existing preferences will still work, both on the
coregui side and on the portal-war side (for iframes).
Thoughts?
13 years, 2 months
Re: Drift management sources ( Re: updated drift management diagrams )
by John Sanda
On 4/7/11 6:29 AM, Heiko W.Rupp wrote:
> Hi,
>
> [ why is this not on rhq-devel ? ]
>
>
> Can we please make sure that Drift management does not require files to be present,
> but can also work on other input sources?
>
> In AS7, we may want to watch a managed server who gets configuration
> bits from the domain, where the bits are actually defined on a different
> machine - but where an effective configuration may be retrieved for a
> this managed server .
>
> I am not exactly sure if this applies, but it at least illustrates my point :)
>
> Heiko
>
>
>
>
For reference - http://www.rhq-project.org/display/RHQ/Drift+Management
I will move future communications to the devel list. What you are
talking about sounds like it gets into the discussions around a
resource-based versus a file-based approach. There are some definitely
some nice upsides to a resource-based approach; however, there are also
some big downsides. Here's a brief brain dump of pros/cons.
pros:
* A resource-based approach would effectively enable us to generate
snapshots of anything we manage, not just things off of the file system.
This would include configuration data stored in a database or in a JMX
bean as a couple examples.
* We already expose plugin APIs for accessing resource configuration and
content. With some enhancements, notably raw config, I believe we could
reuse the existing APIs to generate resource-based snapshots. One of the
cons that I will discuss below is that we lack 100% of the AS in terms
of management. I think that with raw config (with a slight twist) we
could get that coverage. The raw config domain model has been in place
for a while. A "basic" raw config which does not need to do any
translating back and forth between structured and raw is mostly
boilerplate code. It is just reading and files to and from
RawConfiguration objects. We could offer a PC-managed raw config which
would not require plugins to implement the raw config facet. It could be
done by convention using plugin configuration properties. Something
along these lines to illustrate the idea,
<plugin-configuration>
<c:group name="advancedConfiguration">
<c:simple-property name="enableAdvancedConfiguration" default="false"/>
<c:list-property name="fileSetList">
<c:map-property name="fileSetMap">
<c:simple-property name="path"/>
<c:simple-property name="filter" description="Maybe an Ant-like
filter/pattern syntax when path is a directory"/>
<c:simple-property name="recursive"/>
<c:simple-property name="include" default="true"/>
<c:/map-property>
<c:/list-property>
<c:/group>
</plugin-configuration>
With something along these lines, a user could essentially expand the
configuration coverage of an AS instance with path="SERVER_HOME/config"
and filter="**/*" which would result in PC-managed configuration for all
files under the config directory. I think we might be able to expand
content coverage using a similar approach.
* With resource-managed snapshots we can correlate changes to a specific
resource. When change happens, we will know precisely which resource
introduced the change. We will not always be able to do this with a
file-based approach.
* Reuse of existing subsystems, UIs. With either approach, we are going
to need some UI changes, like a diff editor. But for a resource-based
approach, if I want to view a change that happened in a structured
configuration, we already have UIs for viewing configs.
cons:
* Storing snapshots on the server is likely more complex than a
file-based approach. With the file based approach, we basically store
the snapshot as a blob. But with a resource-based approach, we have
configuration and content data spread across various tables. I think
that this would potentially result in more complex relationships for
storing snapshots.
* A resource-based approach may not be as intuitive for users. With the
file-based approach, I think it is fairly intuitive to say I want a
snapshot that includes *-ds.xml, *.war, and *.ear. With a resource-based
approach, this would have to be expressed in terms of resource types.
Maybe we could leverage the search functionality that Joseph added, but
I still do not think it would be as intuitive as the file-based approach.
* Storing meta data may be more complex. The snapshot meta data is
conceptually a table keyed off of the path. We can use that path to
quickly look up the changed contents or the hash of the changed file.
Since we need to ensure unique keys, I thought for a resource-based
approach we might be able to use a combination of the resource type id,
parent resource key, and the resource key. The problem with this though
is that is requires existing resources. File-based snapshots do not have
to be directly linked to resources which means we can more easily
support use cases in which we start with some pre-existing snapshot that
was not generated by the resources we want to monitor.
* Tracking change for the resource-based approach may involve more work.
With both approaches we need to track the following:
* configuration data is modified
* content is modified
* configuration added or removed
* content added or removed
For the resource-based approach I think we would additional want to
track the addition/removal of child resources of those resource that
have drift monitoring enabled.
13 years, 2 months
still LicenseException after running 24 hours in RHQ_3_0_1_GA release
by Andreas Dietrich
Hi everybody,
can anyone help me with this. (Full stack trace below)
I had the problem before trying to build RHQ_3_0_0_GA immediately
running the server.
Heiko suggested to use RHQ_3_0_1_GA where this obsolete licence check
was removed.
Maybe it's possible for now to post a "free" licence here that fixes the
issue.
I guess diving into the code and removing the licence code won't be too
easy.
Some more background:
Here it is said that it is removed:
http://docs.redhat.com/docs/en-US/JBoss_Operations_Network/2.4.1/html/Rel...
Here I found some related problem regarding differences between Java 5
and 6 although this would mean it's not really removed:
http://community.jboss.org/thread/2759
(I will try to run the server on Java 5)
Thanks for any help
Andreas :-)
javax.ejb.EJBException:
org.rhq.enterprise.server.system.LicenseException:
org.rhq.enterprise.server.license.UnavailableLicenseException: Error:
software license validation failed. Please contact support to resolve
the issue.
org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)
org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
$Proxy202.getLicense(Unknown Source)
org.rhq.enterprise.gui.legacy.AuthenticationFilter.doFilter(AuthenticationFilter.java:114)
org.rhq.helpers.rtfilter.filter.RtFilter.doFilter(RtFilter.java:124)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
org.rhq.enterprise.server.system.LicenseException:
org.rhq.enterprise.server.license.UnavailableLicenseException: Error:
software license validation failed. Please contact support to resolve
the issue.
org.rhq.enterprise.server.system.SystemManagerBean.getLicense(SystemManagerBean.java:586)
sun.reflect.GeneratedMethodAccessor660.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
org.rhq.enterprise.server.common.TransactionInterruptInterceptor.addCheckedActionToTransactionManager(TransactionInterruptInterceptor.java:77)
sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
org.rhq.enterprise.server.authz.RequiredPermissionsInterceptor.checkRequiredPermissions(RequiredPermissionsInterceptor.java:156)
sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
$Proxy202.getLicense(Unknown Source)
org.rhq.enterprise.gui.legacy.AuthenticationFilter.doFilter(AuthenticationFilter.java:114)
org.rhq.helpers.rtfilter.filter.RtFilter.doFilter(RtFilter.java:124)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
org.rhq.enterprise.server.license.UnavailableLicenseException: Error:
software license validation failed. Please contact support to resolve
the issue.
org.rhq.enterprise.server.license.LicenseStoreManager.store(LicenseStoreManager.java:61)
org.rhq.enterprise.server.system.SystemManagerBean.getLicense(SystemManagerBean.java:583)
sun.reflect.GeneratedMethodAccessor660.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
org.rhq.enterprise.server.common.TransactionInterruptInterceptor.addCheckedActionToTransactionManager(TransactionInterruptInterceptor.java:77)
sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
org.rhq.enterprise.server.authz.RequiredPermissionsInterceptor.checkRequiredPermissions(RequiredPermissionsInterceptor.java:156)
sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
$Proxy202.getLicense(Unknown Source)
org.rhq.enterprise.gui.legacy.AuthenticationFilter.doFilter(AuthenticationFilter.java:114)
org.rhq.helpers.rtfilter.filter.RtFilter.doFilter(RtFilter.java:124)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
13 years, 2 months