modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DeploymentComponent.java | 12 ++++- modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DomainDeploymentComponent.java | 23 ++++++++++ modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml | 13 +++-- 3 files changed, 40 insertions(+), 8 deletions(-)
New commits: commit 581bb4295d1a6bc3c991493a38f35ad9ef9073b7 Author: Heiko W. Rupp hwr@redhat.com Date: Fri Jan 27 17:28:43 2012 +0100
Also allow to deploy to domain deployments.
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DeploymentComponent.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DeploymentComponent.java index 2e6163d..abf40fa 100644 --- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DeploymentComponent.java +++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DeploymentComponent.java @@ -15,6 +15,7 @@ import org.rhq.core.domain.configuration.Configuration; import org.rhq.core.domain.content.PackageDetailsKey; import org.rhq.core.domain.content.PackageType; import org.rhq.core.domain.content.transfer.ContentResponseResult; +import org.rhq.core.domain.content.transfer.DeployIndividualPackageResponse; import org.rhq.core.domain.content.transfer.DeployPackageStep; import org.rhq.core.domain.content.transfer.DeployPackagesResponse; import org.rhq.core.domain.content.transfer.RemovePackagesResponse; @@ -89,11 +90,13 @@ public class DeploymentComponent extends BaseComponent implements OperationFacet public DeployPackagesResponse deployPackages(Set<ResourcePackageDetails> packages, ContentServices contentServices) {
+ log.info("Starting deployment.."); DeployPackagesResponse response = new DeployPackagesResponse();
if (packages.size()!=1) { response.setOverallRequestResult(ContentResponseResult.FAILURE); response.setOverallRequestErrorMessage("Can only deploy one package at a time"); + log.warn("deployPackages can only deploy one package at a time"); }
ResourcePackageDetails detail = packages.iterator().next(); @@ -102,7 +105,7 @@ public class DeploymentComponent extends BaseComponent implements OperationFacet OutputStream out = uploadConnection.getOutputStream(detail.getFileName()); ResourceType resourceType = context.getResourceType();
- log.info("trying " + resourceType.getName() + ", " + detail.getKey() ); + log.info("trying deployment of" + resourceType.getName() + ", key=" + detail.getKey() );
contentServices.downloadPackageBits(context.getContentContext(), detail.getKey(), out, true); @@ -128,11 +131,15 @@ public class DeploymentComponent extends BaseComponent implements OperationFacet try { redeployOnServer(detail.getKey().getName(), hash); response.setOverallRequestResult(ContentResponseResult.SUCCESS); + DeployIndividualPackageResponse packageResponse = new DeployIndividualPackageResponse(detail.getKey(), ContentResponseResult.SUCCESS); + response.addPackageResponse(packageResponse); + } catch (Exception e) { response.setOverallRequestResult(ContentResponseResult.FAILURE); }
+ log.info(".. result is " + response);
return response; } @@ -172,8 +179,9 @@ public class DeploymentComponent extends BaseComponent implements OperationFacet Map<String,Object> deployments = cres.getResult(); for (String key : deployments.keySet()) { Map<String,Object> deployment = (Map<String, Object>) deployments.get(key); + log.info("Discover package [" + key + "] for type [" + type + "]");
- List<Map> contentList = (List<Map>) deployment.get("content"); + List<Map> contentList = (List<Map>) deployment.get("content"); // deployments on SG or ManagedServer level have no hash Map<String,Map> hashMap = contentList.get(0); Map<String,String> bvMap = hashMap.get("hash"); String content = bvMap.get("BYTES_VALUE"); diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DomainDeploymentComponent.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DomainDeploymentComponent.java new file mode 100644 index 0000000..8db86c7 --- /dev/null +++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DomainDeploymentComponent.java @@ -0,0 +1,23 @@ +package org.rhq.modules.plugins.jbossas7; + +import org.rhq.core.domain.measurement.AvailabilityType; +import org.rhq.modules.plugins.jbossas7.json.Operation; +import org.rhq.modules.plugins.jbossas7.json.ReadResource; +import org.rhq.modules.plugins.jbossas7.json.Result; + +/** + * Handle domain deployments + * @author Heiko W. Rupp + */ +public class DomainDeploymentComponent extends DeploymentComponent{ + + @Override + public AvailabilityType getAvailability() { + // Domain deployments have no 'enabled' attribute + + Operation op = new ReadResource(getAddress()); + Result res = getASConnection().execute(op); + + return (res!=null && res.isSuccess()) ? AvailabilityType.UP: AvailabilityType.DOWN; + } +} diff --git a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml index fdebf0a..2e6aba3 100644 --- a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml +++ b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml @@ -284,7 +284,9 @@ <operation name="server:add" displayName="Create server" description="Add a new server to this host."> <parameters> <c:simple-property name="name" description="Name of this new server" required="true"/> - <c:simple-property name="group" displayName="Server Group" description="Server group to put this sever in" default="" required="false"/> + <c:simple-property name="group" displayName="Server Group" description="Server group to put this sever in" default="" required="true"> + <c:option-source target="resource" expression="type=ServerGroup"/> + </c:simple-property> <c:simple-property name="auto-start" displayName="Autostart" description="Should this server start at boot?" type="boolean" default="false" required="true"/> </parameters> <results> @@ -293,7 +295,7 @@ </operation> <operation name="server:remove" displayName="Delete server" description="Deletes a server on this host."> <parameters> - <c:simple-property name="name" description="Name of this new server" required="true"/> + <c:simple-property name="name" description="Name of the server to be removed" required="true"/> </parameters> <results> <c:simple-property name="operationResult" description="Outcome of the delete server operation"/> @@ -366,7 +368,7 @@ </server>
<service name="DomainDeployment" - class="BaseComponent" + class="DomainDeploymentComponent" discovery="SubsystemDiscovery" createDeletePolicy="both" creationDataType="content"> @@ -2125,11 +2127,10 @@ working area for individual server instances</li></ul>"/> createDeletePolicy="both" creationDataType="content">
- <runs-inside> - <parent-resource-type name="ServerGroup" plugin="jboss-as-7"/> + <parent-resource-type name="ServerGroup" plugin="jboss-as-7"/> <!-- TODO --> <parent-resource-type name="JBossAS7 Standalone Server" plugin="jboss-as-7"/> - <parent-resource-type name="Managed Server" plugin="jboss-as-7"/> + <parent-resource-type name="Managed Server" plugin="jboss-as-7"/> <!-- TODO --> </runs-inside> <plugin-configuration> <c:simple-property name="path" default="deployment" readOnly="true"/>
rhq-commits@lists.fedorahosted.org