The "Patching JBoss" section of the Users Guide did not suggest that all Agents required read write permissions on EAP directories to be able to fully patch the JON Server. Customers were experiencing difficulties patching the JON Server using the Agent GUI. The Users Guide now calls out what directories require read write access, which removes any uncertainty in the patching pre-requisites.
[Install_Guide] Ready for Review
Description of problem:
After applying two patches from JBOSS-CLI, attempted to Deploy 3rd patch via UI, which resulted in the following error:
java.io.IOException: JBAS016842: Failed to create directory (/home/hudson/jboss-eap6-standalone/bundles/system/layers/base/.overlays/layer-base-jboss-eap-6.2.2.CP/org/jboss/as/osgi/configadmin/main)
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. From JBOSS-CLI: Patch Apply 6.2.0.GA.one-off-patch-1
2. JBOSS-CLI: Patch Apply jboss-eap-6.2.1.CP
3. From UI: Deploy 6.2.3 GA
Deploy from UI results in Error
No Error expected when deploying from UI
Judging by the error message this looks like a bug in EAP patching, not in JON.
I assume the error should also happen when trying all 3 of the steps using JBoss CLI. If not, we have something to look into, but if this is reproducable just using JBoss CLI, we can be sure it's an EAP bug.
I could not reproduce this with CR01.
I'm flipping this to ON_QA so that it could be re-tested. I suspect this being something environmental in the automation environment.
I think that we'd probably want to document is the fact that the agent needs write permissions into $EAP/.installation and actually into $EAP as a whole in order to be able to patch it. This is because the agent user invokes the jboss-cli.(sh|bat) with its user and thus that user needs write permissions into the $EAP directories so that it can carry out patching and also store metadata about it.
This is not specifically called out in the documentation, I believe, and IMHO is worth adding so that people are explicitly notified about that.
(In reply to Lukas Krejci from comment #9)
> I think that we'd probably want to document is the fact that the agent needs
> write permissions into $EAP/.installation and actually into $EAP as a whole
> in order to be able to patch it. This is because the agent user invokes the
> jboss-cli.(sh|bat) with its user and thus that user needs write permissions
> into the $EAP directories so that it can carry out patching and also store
> metadata about it.
> This is not specifically called out in the documentation, I believe, and
> IMHO is worth adding so that people are explicitly notified about that.
I've been looking through the Installation Guide for a spot for this content, and I've found a potential home.
http://documentation-devel.engineering.redhat.com/site/documentation/en-US/Red_Hat_JBoss_Operations_Network/3.3/html-single/Installation_Guide/index.html#upgrade-notes seems like a logical place to put this.
This section would cover Agent install requirements for both standalone and managed domains, correct?
Proposed Text (additional bullet point):
* Ensure the Agent has write permissions for $EAP/.installation, and to the EAP directory in general, to allow JON Agents to patch the EAP server.
I'm not sure that's a correct place, because the installation of the agent might precede the installation of the EAPs in question.
I'd maybe rewrite the NOTE about the metadata location in http://documentation-devel.engineering.redhat.com/site/documentation/en-US/Red_Hat_JBoss_Operations_Network/3.3/html/Users_Guide/eap6-patch.html#idp18426560
Ensure the Agent has read and write permissions for $EAP/.installation, $EAP/.installation/.rhq (where agent stores its metadata), and to the EAP directory in general, to allow JON Agents to patch the EAP server.