auto-acknowledge-alarm element does not work in notifd-configuration.xml

Description

In 19.x the following configuration element could be use to ack alarms when a corresponding notification was closed. In 21.0.1 a fatal error is thrown when this is present in etc/notifd-configuration.xml

<auto-acknowledge-alarm resolution-prefix="RESOLVED: "/>

The code to handle the configuration element seems to be present in org.opennms.netmgt.config.notifd.AutoAcknowledgeAlarm and it's in the XSD opennms-config-model/src/main/resources/xsds/notifd-configuration.xsd so I have no idea what is going wrong.

config-tester -a output:

java.lang.reflect.InvocationTargetException
{{ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)}}
{{ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)}}
{{ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)}}
{{ at java.lang.reflect.Method.invoke(Method.java:498)}}
{{ at org.opennms.bootstrap.Bootstrap$4.run(Bootstrap.java:525)}}
{{ at java.lang.Thread.run(Thread.java:748)}}
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'notifdConfigFactory-init' defined in class path resource [META-INF/opennms/applicationContext-configTester.xml]: Invocation of init method failed; nested exception is org.opennms.core.xml.MarshallingResourceFailureException: Failed to marshal/unmarshal XML file while unmarshalling an object (NotifdConfiguration): javax.xml.bind.UnmarshalException
{{ - with linked exception:}}
[Exception [EclipseLink-25004] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document
Internal Exception: org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 60; cvc-complex-type.2.4.a: Invalid content was found starting with element 'auto-acknowledge-alarm'. One of '{"http://xmlns.opennms.org/xsd/config/notifd":auto-acknowledge, "http://xmlns.opennms.org/xsd/config/notifd":queue}' is expected.]; nested exception is javax.xml.bind.UnmarshalException
{{ - with linked exception:}}
[Exception [EclipseLink-25004] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document
Internal Exception: org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 60; cvc-complex-type.2.4.a: Invalid content was found starting with element 'auto-acknowledge-alarm'. One of '{"http://xmlns.opennms.org/xsd/config/notifd":auto-acknowledge, "http://xmlns.opennms.org/xsd/config/notifd":queue}' is expected.]
{{ at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583)}}
{{ at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)}}
{{ at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)}}
{{ at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)}}
{{ at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)}}
{{ at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)}}
{{ at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)}}
{{ at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:296)}}
{{ at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)}}
{{ at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1058)}}
{{ at org.opennms.netmgt.config.tester.ConfigTester.testConfig(ConfigTester.java:70)}}
{{ at org.opennms.netmgt.config.tester.ConfigTester.testConfig(ConfigTester.java:154)}}
{{ at org.opennms.netmgt.config.tester.ConfigTester.main(ConfigTester.java:139)}}
{{ ... 6 more}}
Caused by: org.opennms.core.xml.MarshallingResourceFailureException: Failed to marshal/unmarshal XML file while unmarshalling an object (NotifdConfiguration): javax.xml.bind.UnmarshalException
{{ - with linked exception:}}
[Exception [EclipseLink-25004] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document
Internal Exception: org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 60; cvc-complex-type.2.4.a: Invalid content was found starting with element 'auto-acknowledge-alarm'. One of '{"http://xmlns.opennms.org/xsd/config/notifd":auto-acknowledge, "http://xmlns.opennms.org/xsd/config/notifd":queue}' is expected.]; nested exception is javax.xml.bind.UnmarshalException
{{ - with linked exception:}}
[Exception [EclipseLink-25004] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document
Internal Exception: org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 60; cvc-complex-type.2.4.a: Invalid content was found starting with element 'auto-acknowledge-alarm'. One of '{"http://xmlns.opennms.org/xsd/config/notifd":auto-acknowledge, "http://xmlns.opennms.org/xsd/config/notifd":queue}' is expected.]
{{ at org.opennms.core.xml.MarshallingExceptionTranslator.translate(MarshallingExceptionTranslator.java:61)}}
{{ at org.opennms.core.xml.JaxbUtils.unmarshal(JaxbUtils.java:281)}}
{{ at org.opennms.core.xml.JaxbUtils.unmarshal(JaxbUtils.java:209)}}
{{ at org.opennms.core.xml.JaxbUtils.unmarshal(JaxbUtils.java:205)}}
{{ at org.opennms.netmgt.config.NotifdConfigManager.parseXml(NotifdConfigManager.java:72)}}
{{ at org.opennms.netmgt.config.NotifdConfigFactory.reload(NotifdConfigFactory.java:116)}}
{{ at org.opennms.netmgt.config.NotifdConfigFactory.init(NotifdConfigFactory.java:98)}}
{{ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)}}
{{ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)}}
{{ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)}}
{{ at java.lang.reflect.Method.invoke(Method.java:498)}}
{{ at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)}}
{{ at org.springframework.beans.factory.config.MethodInvokingBean.invokeWithTargetException(MethodInvokingBean.java:119)}}
{{ at org.springframework.beans.factory.config.MethodInvokingFactoryBean.afterPropertiesSet(MethodInvokingFactoryBean.java:106)}}
{{ at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642)}}
{{ at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579)}}
{{ ... 18 more}}
Caused by: javax.xml.bind.UnmarshalException
{{ - with linked exception:}}
[Exception [EclipseLink-25004] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document
Internal Exception: org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 60; cvc-complex-type.2.4.a: Invalid content was found starting with element 'auto-acknowledge-alarm'. One of '{"http://xmlns.opennms.org/xsd/config/notifd":auto-acknowledge, "http://xmlns.opennms.org/xsd/config/notifd":queue}' is expected.]
{{ at org.eclipse.persistence.jaxb.JAXBUnmarshaller.handleXMLMarshalException(JAXBUnmarshaller.java:980)}}
{{ at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:303)}}
{{ at org.opennms.core.xml.JaxbUtils.unmarshal(JaxbUtils.java:276)}}
{{ ... 32 more}}
Caused by: Exception [EclipseLink-25004] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document
Internal Exception: org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 60; cvc-complex-type.2.4.a: Invalid content was found starting with element 'auto-acknowledge-alarm'. One of '{"http://xmlns.opennms.org/xsd/config/notifd":auto-acknowledge, "http://xmlns.opennms.org/xsd/config/notifd":queue}' is expected.
{{ at org.eclipse.persistence.exceptions.XMLMarshalException.unmarshalException(XMLMarshalException.java:114)}}
{{ at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.convertSAXException(SAXUnmarshaller.java:999)}}
{{ at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:496)}}
{{ at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:695)}}
{{ at org.eclipse.persistence.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:655)}}
{{ at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:301)}}
{{ ... 33 more}}
Caused by: org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 60; cvc-complex-type.2.4.a: Invalid content was found starting with element 'auto-acknowledge-alarm'. One of '{"http://xmlns.opennms.org/xsd/config/notifd":auto-acknowledge, "http://xmlns.opennms.org/xsd/config/notifd":queue}' is expected.
{{ at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)}}
{{ at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)}}
{{ at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)}}
{{ at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)}}
{{ at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)}}
{{ at org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source)}}
{{ at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source)}}
{{ at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)}}
{{ at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)}}
{{ at org.apache.xerces.jaxp.validation.ValidatorHandlerImpl.startElement(Unknown Source)}}
{{ at org.eclipse.persistence.internal.oxm.record.XMLReader$ValidatingContentHandler.startElement(XMLReader.java:431)}}
{{ at org.xml.sax.helpers.XMLFilterImpl.startElement(XMLFilterImpl.java:551)}}
{{ at org.opennms.core.xml.SimpleNamespaceFilter.startElement(SimpleNamespaceFilter.java:83)}}
{{ at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)}}
{{ at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)}}
{{ at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)}}
{{ at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)}}
{{ at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)}}
{{ at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)}}
{{ at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)}}
{{ at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)}}
{{ at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)}}
{{ at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)}}
{{ at org.eclipse.persistence.internal.oxm.record.XMLReader.parse(XMLReader.java:221)}}
{{ at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:492)}}
{{ ... 36 more}}

Environment

CentOS7, opennms installed with yum from opennms-repo-testing

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Details

Assignee

Reporter

Labels

Doc Backlog Status

Doc Backlog Grooming Date

Affects versions

Priority

PagerDuty

Created December 20, 2017 at 9:20 PM
Updated September 21, 2021 at 6:24 PM