Bug 1042797 - It is not possible to change "Inet Address" for management network interface from JBoss ON UI
Summary: It is not possible to change "Inet Address" for management network interface ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Operations Network
Classification: JBoss
Component: Plugin -- JBoss EAP 6
Version: JON 3.1.2
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: DR01
: JON 3.3.0
Assignee: Libor Zoubek
QA Contact: Filip Brychta
URL:
Whiteboard:
Depends On: 1042803
Blocks: 1119511
TreeView+ depends on / blocked
 
Reported: 2013-12-13 12:16 UTC by bkramer
Modified: 2018-12-03 20:56 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
A bug in the JON UI that prevented IPv4 and IPv6 inet address values from being specified as unset failed to persist the configuration change and failed to marshall configuration. A fix to the JON UI now allows changes to the inet address and fixes the originally-reported issue.
Clone Of:
: 1119511 (view as bug list)
Environment:
Last Closed: 2014-12-11 14:00:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 642703 0 None None None Never

Description bkramer 2013-12-13 12:16:27 UTC
Description of problem:
Change of the *Inet Address* property for the management interface from JBoss ON UI fails with the error:

{JBAS014653: Composite operation failed and was rolled back. Steps that failed:={Operation step-4=JBAS014677: Failed to persist configuration change: JBAS014675: Failed to marshal configuration}}, rolled-back=true

and in the server.log file:

ERROR [org.jboss.as.controller.management-operation] (HttpManagementService-threads - 1) JBAS014607: Failed to persist configuration change: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014675: Failed to marshal configuration
	at org.jboss.as.controller.persistence.AbstractFilePersistenceResource.<init>(AbstractFilePersistenceResource.java:50) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.persistence.ConfigurationFilePersistenceResource.<init>(ConfigurationFilePersistenceResource.java:45) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.persistence.BackupXmlConfigurationPersister.store(BackupXmlConfigurationPersister.java:80) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.ModelControllerImpl.writeModel(ModelControllerImpl.java:477) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.OperationContextImpl.createPersistenceResource(OperationContextImpl.java:175) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:360) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:229) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.AbstractOperationContext.finishStep(AbstractOperationContext.java:514) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:500) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:322) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:229) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:224) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:194) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:115) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.ModelControllerImpl$3.execute(ModelControllerImpl.java:398) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.ModelControllerImpl$3.execute(ModelControllerImpl.java:388) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.domain.http.server.DomainApiHandler.processRequest(DomainApiHandler.java:320) [jboss-as-domain-http-interface-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.domain.http.server.DomainApiHandler.doHandle(DomainApiHandler.java:226) [jboss-as-domain-http-interface-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.domain.http.server.DomainApiHandler.handle(DomainApiHandler.java:233) [jboss-as-domain-http-interface-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.domain.http.server.security.SubjectAssociationHandler.handle(SubjectAssociationHandler.java:51) [jboss-as-domain-http-interface-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
	at org.jboss.sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:69)
	at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
	at org.jboss.sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:710)
	at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
	at org.jboss.as.domain.http.server.RealmReadinessFilter.doFilter(RealmReadinessFilter.java:47) [jboss-as-domain-http-interface-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.domain.http.server.DmrFailureReadinessFilter.doFilter(DmrFailureReadinessFilter.java:45) [jboss-as-domain-http-interface-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
	at org.jboss.sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:682)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_15]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_15]
	at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_15]
	at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.0.Final-redhat-1.jar:2.1.0.Final-redhat-1]
Caused by: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014680: Failed to write configuration
	at org.jboss.as.controller.persistence.AbstractConfigurationPersister.marshallAsXml(AbstractConfigurationPersister.java:123) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.controller.persistence.AbstractFilePersistenceResource.<init>(AbstractFilePersistenceResource.java:43) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	... 32 more
Caused by: java.lang.RuntimeException: JBAS014794: Unknown property in interface criteria list: any-address
	at org.jboss.as.server.parsing.CommonXml.writeInterfaceCriteria(CommonXml.java:1392) [jboss-as-server-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.server.parsing.CommonXml.writeInterfaceCriteria(CommonXml.java:1342) [jboss-as-server-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.server.parsing.CommonXml.writeInterfaces(CommonXml.java:1324) [jboss-as-server-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.server.parsing.StandaloneXml.writeContent(StandaloneXml.java:1106) [jboss-as-server-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.server.parsing.StandaloneXml.writeContent(StandaloneXml.java:103) [jboss-as-server-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.staxmapper.XMLMapperImpl.doDeparse(XMLMapperImpl.java:88) [staxmapper-1.1.0.Final-redhat-2.jar:1.1.0.Final-redhat-2]
	at org.jboss.staxmapper.XMLMapperImpl.deparseDocument(XMLMapperImpl.java:83) [staxmapper-1.1.0.Final-redhat-2.jar:1.1.0.Final-redhat-2]
	at org.jboss.as.controller.persistence.AbstractConfigurationPersister.marshallAsXml(AbstractConfigurationPersister.java:117) [jboss-as-controller-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]

The agent.log file logs the following:

WARN  [ResourceContainer.invoker.nonDaemon-8] (rhq.modules.plugins.jbossas7.ASConnection)- We got a 500 with the following response body back: {"outcome" : "failed", "result" : {"step-1" : {"outcome" : "failed", "rolled-back" : true}, "step-2" : {"outcome" : "failed", "rolled-back" : true}, "step-3" : {"outcome" : "failed", "rolled-back" : true}, "step-4" : {"outcome" : "failed", "failure-description" : "JBAS014677: Failed to persist configuration change: JBAS014675: Failed to marshal configuration", "rolled-back" : true}}, "failure-description" : {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" : {"Operation step-4" : "JBAS014677: Failed to persist configuration change: JBAS014675: Failed to marshal configuration"}}, "rolled-back" : true}

The JBoss ON sends the following to the JBoss instance:

{"operation":"composite","steps":[{"operation":"write-attribute","address":[{"interface":"management"}],"name":"inet-address","value":"10.33.63.234"},{"operation":"write-attribute","address":[{"interface":"management"}],"name":"any-address","value":false},{"operation":"write-attribute","address":[{"interface":"management"}],"name":"any-ipv4-address","value":false},{"operation":"write-attribute","address":[{"interface":"management"}],"name":"any-ipv6-address","value":false}],"address":[]}

Using JBoss CLI to read parameters, I got the following for the management:


[standalone.com:9999 /] /interface=management:read-resource
{
    "outcome" => "success",
    "result" => {
        "any" => undefined,
        "any-address" => undefined,
        "any-ipv4-address" => undefined,
        "any-ipv6-address" => undefined,
        "inet-address" => expression "${jboss.bind.address.management:127.0.0.1}",
        "link-local-address" => undefined,
        "loopback" => undefined,
        "loopback-address" => undefined,
        "multicast" => undefined,
        "name" => "management",
        "nic" => undefined,
        "nic-match" => undefined,
        "not" => undefined,
        "point-to-point" => undefined,
        "public-address" => undefined,
        "site-local-address" => undefined,
        "subnet-match" => undefined,
        "up" => undefined,
        "virtual" => undefined
    }
}

and my attempt to set "any-address" to false using CLI failed:

[standalone.com:9999 /] /interface=management:write-attribute(name=any-address,value=false)
{
    "outcome" => "failed",
    "failure-description" => "JBAS014677: Failed to persist configuration change: JBAS014675: Failed to marshal configuration",
    "rolled-back" => true
}

So, it seems that this is not supported combination ("Inet Address" and "Any Address" set). However, currently, in JBoss ON UI, "Any Address", "Any Ipv 4 Address" and "Any Ipv 6 Address" can only be set to "false" (default) or "true and it is not possible to have them unset.


Version-Release number of selected component (if applicable):
JBoss ON 3.1.2

How reproducible:
Always

Steps to Reproduce:
1. Import JBoss EAP 6.1 into inventory;
2. Install management user and confirm that the server is green;
3. From the JBoss ON UI navigate to JBossAS7 Standalone Servers -> EAP -> Network Interfaces -> management and select "Configuration" tab;
4. In the "Current" attempt to change "Inet Address" and press "Save" button

Actual results:
The configuration change fails with the exception:

{JBAS014653: Composite operation failed and was rolled back. Steps that failed:={Operation step-1=JBAS014696: any-address is invalid in combination with inet-address, any-ipv4-address, any-ipv6-address}}, rolled-back=true


Expected results:
The configuration is saved and no error is thrown.

Additional info:

Comment 1 Libor Zoubek 2014-02-06 21:30:42 UTC
in master

commit f3bab1397fa23e4c2e36f79839dcbe7f57e7538d
Author: Libor Zoubek <lzoubek>
Date:   Thu Feb 6 21:53:09 2014 +0100

Comment 2 Thomas Segismont 2014-02-07 22:15:03 UTC
Tested and cherry-picked over to release/jon3.2.x

commit 4e4096af2ce3db059e1b3718d76fb1edef9b466e
Author: Libor Zoubek <lzoubek>
Date:   Thu Feb 6 21:53:09 2014 +0100

(cherry picked from commit f3bab1397fa23e4c2e36f79839dcbe7f57e7538d)
Signed-off-by: Thomas Segismont <tsegismo>

Comment 3 Simeon Pinder 2014-02-18 15:08:10 UTC
Moving to ON_QA as available for testing in the following brew build:
https://brewweb.devel.redhat.com//buildinfo?buildID=336752

Note: the installed version is still JON 3.2.0.GA by design and this represents part of the payload for JON 3.2.1 also known as cumulative patch 1 for 3.2.0.GA.  How this will be delivered to customers is still being discussed.

Comment 4 Mike Foley 2014-02-18 19:25:17 UTC
Verified JON 3.2.1 DR1

Comment 5 Filip Brychta 2014-04-03 13:29:52 UTC
This is visible again in
Version :	
3.2.0.GA update-1
Build Number :	
13f0eea:c372b58

Used eap6.1.1 and eap6.2.2

Comment 7 Larry O'Leary 2014-07-14 23:53:47 UTC
Moving back to MODIFIED as this was committed. The test failure mentioned by comment 5 would be related to the fact that a new build had not yet been produced.

Targeting to milestone ER01 of 3.3.

Comment 8 Simeon Pinder 2014-07-31 15:51:30 UTC
Moving to ON_QA as available to test with brew build of DR01: https://brewweb.devel.redhat.com//buildinfo?buildID=373993

Comment 9 Filip Brychta 2014-08-01 11:38:05 UTC
Verified on
Version :	
3.3.0.DR01
Build Number :	
6468454:dda0a47


Note You need to log in before you can comment on or make changes to this bug.