This is an automated email from the ASF dual-hosted git repository.
pradeep pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 03043c1 RANGER-2382 :Improvement to Access Audit page-Add
‘agentHostname’ column to audit log table, which records IP-address/hostname of
the plugin
03043c1 is described below
commit 03043c1c611b9d2177786855864a5471e14ecf50
Author: Nikhil P <[email protected]>
AuthorDate: Fri Apr 12 19:30:56 2019 +0530
RANGER-2382 :Improvement to Access Audit page-Add ‘agentHostname’ column to
audit log table, which records IP-address/hostname of the plugin
Signed-off-by: Pradeep <[email protected]>
---
LICENSE.txt | 4 ++--
.../audit/destination/SolrAuditDestination.java | 1 +
.../audit/provider/solr/SolrAuditProvider.java | 1 +
agents-common/pom.xml | 15 +++++++++++++++
.../plugin/audit/RangerDefaultAuditHandler.java | 4 ++++
.../apache/ranger/plugin/util/RangerRESTUtils.java | 20 +++++++++++++++++++-
pom.xml | 3 +++
.../main/java/org/apache/ranger/rest/AssetREST.java | 1 +
.../apache/ranger/service/XAccessAuditService.java | 2 ++
.../apache/ranger/solr/SolrAccessAuditsService.java | 8 ++++++++
.../java/org/apache/ranger/view/VXAccessAudit.java | 11 +++++++++++
.../webapp/scripts/modules/globalize/message/en.js | 3 ++-
.../webapp/scripts/views/reports/AuditLayout.js | 21 +++++++++++++++++++--
.../java/org/apache/ranger/rest/TestAssetREST.java | 4 ++--
src/main/assembly/admin-web.xml | 3 +++
src/main/assembly/hbase-agent.xml | 3 +++
src/main/assembly/hdfs-agent.xml | 3 +++
src/main/assembly/hive-agent.xml | 3 +++
src/main/assembly/kms.xml | 6 ++++++
src/main/assembly/knox-agent.xml | 3 +++
src/main/assembly/plugin-atlas.xml | 3 +++
src/main/assembly/plugin-elasticsearch.xml | 3 +++
src/main/assembly/plugin-kafka.xml | 3 +++
src/main/assembly/plugin-kms.xml | 3 +++
src/main/assembly/plugin-kylin.xml | 3 +++
src/main/assembly/plugin-solr.xml | 3 +++
src/main/assembly/plugin-sqoop.xml | 3 +++
src/main/assembly/plugin-yarn.xml | 3 +++
src/main/assembly/ranger-tools.xml | 3 +++
src/main/assembly/storm-agent.xml | 3 +++
src/main/assembly/tagsync.xml | 3 +++
src/main/assembly/usersync.xml | 3 +++
32 files changed, 147 insertions(+), 8 deletions(-)
diff --git a/LICENSE.txt b/LICENSE.txt
index 7aa4bf4..a424ebe 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -246,8 +246,8 @@ This product includes Sizzle (http://sizzlejs.com/ ),
Copyright 2005, 2013 jQuer
This product includes ES5 15.5.4.20 (https://github.com/kriskowal/es5-shim ),
Copyright 2009, 2010 Kristopher Michael Kowal.
This product includes PURE CSS GUI ICONS
1.0.1(http://nicolasgallagher.com/pure-css-gui-icons/ - Dual licensed under MIT
and GNU GPLv2), by Nicolas Gallagher
This product includes libpam4j 1.8 (https://github.com/kohsuke/libpam4j ),
Copyright Kohsuke Kawaguchi.
-This product bundles VisualSearch.js 0.4.0
(http://documentcloud.github.io/visualsearch/docs/visualsearch.html ), © 2011
Samuel Clay, @samuelclay, DocumentCloud Inc.
-
+This product bundles VisualSearch.js 0.4.0
(http://documentcloud.github.io/visualsearch/docs/visualsearch.html ), © 2011
Samuel Clay, @samuelclay, DocumentCloud Inc.
+This product bundles gethostname4j 0.0.2
(https://github.com/mattsheppard/gethostname4j ), Copyright (c) 2017 Matt
Sheppard.
All rights reserved.
diff --git
a/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
b/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
index 80a6d9e..35487e9 100644
---
a/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
+++
b/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
@@ -285,6 +285,7 @@ public class SolrAuditDestination extends AuditDestination {
doc.setField("tags", auditEvent.getTags());
doc.setField("cluster", auditEvent.getClusterName());
doc.setField("zoneName", auditEvent.getZoneName());
+ doc.setField("agentHost", auditEvent.getAgentHostname());
doc.setField("policyVersion", auditEvent.getPolicyVersion());
return doc;
diff --git
a/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
b/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
index ee95800..dac006c 100644
---
a/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
+++
b/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
@@ -283,6 +283,7 @@ public class SolrAuditProvider extends AuditDestination {
doc.addField("tags", auditEvent.getTags());
doc.addField("cluster", auditEvent.getClusterName());
doc.addField("zone", auditEvent.getZoneName());
+ doc.addField("agentHost", auditEvent.getAgentHostname());
return doc;
}
diff --git a/agents-common/pom.xml b/agents-common/pom.xml
index 4486af3..27be45f 100644
--- a/agents-common/pom.xml
+++ b/agents-common/pom.xml
@@ -82,6 +82,21 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>net.java.dev.jna</groupId>
+ <artifactId>jna</artifactId>
+ <version>${jna.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.java.dev.jna</groupId>
+ <artifactId>jna-platform</artifactId>
+ <version>${jna-platform.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.kstruct</groupId>
+ <artifactId>gethostname4j</artifactId>
+ <version>${kstruct.gethostname4j.version}</version>
+ </dependency>
+ <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
diff --git
a/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java
b/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java
index 4421442..5de13bd 100644
---
a/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java
+++
b/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java
@@ -36,6 +36,7 @@ import
org.apache.ranger.plugin.contextenricher.RangerTagForEval;
import org.apache.ranger.plugin.policyengine.*;
import org.apache.ranger.plugin.service.RangerBasePlugin;
import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
+import org.apache.ranger.plugin.util.RangerRESTUtils;
import org.codehaus.jackson.map.ObjectMapper;
@@ -49,6 +50,8 @@ public class RangerDefaultAuditHandler implements
RangerAccessResultProcessor {
private static String UUID = MiscUtil.generateUniqueId();
private static AtomicInteger counter = new AtomicInteger(0);
+ RangerRESTUtils restUtils = new RangerRESTUtils();
+
public RangerDefaultAuditHandler() {
}
@@ -124,6 +127,7 @@ public class RangerDefaultAuditHandler implements
RangerAccessResultProcessor {
ret.setAdditionalInfo(getAdditionalInfo(request));
ret.setClusterName(request.getClusterName());
ret.setZoneName(result.getZoneName());
+ ret.setAgentHostname(restUtils.getAgentHostname());
ret.setPolicyVersion(result.getPolicyVersion());
populateDefaults(ret);
}
diff --git
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTUtils.java
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTUtils.java
index 65f5c01..40bf1bd 100644
---
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTUtils.java
+++
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTUtils.java
@@ -27,6 +27,7 @@ import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ranger.authorization.hadoop.config.RangerConfiguration;
+import com.kstruct.gethostname4j.Hostname;
/**
* Since this class does not retain any state. It isn't a singleton for
testability.
@@ -66,6 +67,18 @@ public class RangerRESTUtils {
public static final String REST_PARAM_ZONE_NAME = "zoneName";
+ public static String hostname;
+
+ static {
+ try {
+ hostname = Hostname.getHostname();
+ }
+ catch(Exception e) {
+ LOG.error("ERROR: Unable to find hostname for the agent
", e);
+ hostname = "unknownHost";
+ }
+ }
+
public String getPolicyRestUrl(String propertyPrefix) {
String url =
RangerConfiguration.getInstance().get(propertyPrefix + ".policy.rest.url");
@@ -123,7 +136,6 @@ public class RangerRESTUtils {
return url;
}
-
public String getPluginId(String serviceName, String appId) {
String hostName = null;
@@ -146,6 +158,12 @@ public class RangerRESTUtils {
return ret ;
}
+ /*
+ * This method returns the hostname of agents.
+ */
+ public String getAgentHostname() {
+ return hostname;
+ }
public String getHostnameFromPluginId(String pluginId, String serviceName)
{
String ret = "";
diff --git a/pom.xml b/pom.xml
index 2a45f8b..c0a480c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -181,6 +181,9 @@
<codehaus.woodstox.stax2api.version>3.1.4</codehaus.woodstox.stax2api.version>
<fasterxml.woodstox.version>5.0.3</fasterxml.woodstox.version>
<fasterxml.jackson.version>2.9.8</fasterxml.jackson.version>
+
<kstruct.gethostname4j.version>0.0.2</kstruct.gethostname4j.version>
+ <jna.version>5.2.0</jna.version>
+ <jna-platform.version>5.2.0</jna-platform.version>
</properties>
<profiles>
<profile>
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index ce577e0..703d30b 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -652,6 +652,7 @@ public class AssetREST {
searchUtil.extractString(request, searchCriteria, "tags",
"tags", null);
searchUtil.extractString(request, searchCriteria, "cluster",
"Cluster Name", StringUtil.VALIDATION_TEXT);
searchUtil.extractString(request, searchCriteria, "zoneName",
"Zone Name", StringUtil.VALIDATION_TEXT);
+ searchUtil.extractString(request, searchCriteria, "agentHost",
"Agent Host Name", StringUtil.VALIDATION_TEXT);
boolean isKeyAdmin = msBizUtil.isKeyAdmin();
boolean isAuditKeyAdmin = msBizUtil.isAuditKeyAdmin();
diff --git
a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
index 6687b19..5afe299 100644
---
a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
+++
b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
@@ -93,6 +93,8 @@ public class XAccessAuditService extends
XAccessAuditServiceBase<XXAccessAudit,
SearchField.DATA_TYPE.STRING,
SearchField.SEARCH_TYPE.FULL));
searchFields.add(new SearchField("zoneName", "obj.zoneName",
SearchField.DATA_TYPE.STRING,
SearchField.SEARCH_TYPE.FULL));
+ searchFields.add(new SearchField("agentHost", "obj.agentHost",
+ SearchField.DATA_TYPE.STRING,
SearchField.SEARCH_TYPE.PARTIAL));
sortFields.add(new SortField("eventTime", "obj.eventTime",
true, SORT_ORDER.DESC));
}
diff --git
a/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java
b/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java
index cf2a3b4..9be2ef4 100644
---
a/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java
+++
b/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java
@@ -128,6 +128,8 @@ public class SolrAccessAuditsService {
SearchField.DATA_TYPE.STRING,
SearchField.SEARCH_TYPE.FULL));
searchFields.add(new SearchField("zoneName", "zoneName",
SearchField.DATA_TYPE.STRING,
SearchField.SEARCH_TYPE.FULL));
+ searchFields.add(new SearchField("agentHost", "agentHost",
+ SearchField.DATA_TYPE.STRING,
SearchField.SEARCH_TYPE.PARTIAL));
sortFields.add(new SortField("eventTime", "evtTime", true,
SORT_ORDER.DESC));
@@ -225,6 +227,7 @@ public class SolrAccessAuditsService {
*/
private VXAccessAudit populateViewBean(SolrDocument doc) {
VXAccessAudit accessAudit = new VXAccessAudit();
+
Object value = null;
if(logger.isDebugEnabled()) {
logger.debug("doc=" + doc.toString());
@@ -246,6 +249,11 @@ public class SolrAccessAuditsService {
accessAudit.setZoneName(value.toString());
}
+ value = doc.getFieldValue("agentHost");
+ if (value != null) {
+ accessAudit.setAgentHost(value.toString());
+ }
+
value = doc.getFieldValue("policyVersion");
if (value != null) {
accessAudit.setPolicyVersion(solrUtil.toLong(value));
diff --git
a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
index 7b63a63..a7ffb98 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
@@ -137,6 +137,8 @@ public class VXAccessAudit extends VXDataObject implements
java.io.Serializable
// Security Zone
protected String zoneName;
+ // Host Name
+ protected String agentHost;
// Policy Version
@@ -541,6 +543,14 @@ public class VXAccessAudit extends VXDataObject implements
java.io.Serializable
this.zoneName = zoneName;
}
+ public String getAgentHost() {
+ return agentHost;
+ }
+
+ public void setAgentHost(String agentHost) {
+ this.agentHost = agentHost;
+ }
+
/**
* @return the policyVersion
*/
@@ -589,6 +599,7 @@ public class VXAccessAudit extends VXDataObject implements
java.io.Serializable
str += "tags={" + tags + "}";
str += "clusterName={" + clusterName + "}";
str += "zoneName={" + zoneName + "}";
+ str += "agentHost={" + agentHost + "}";
str += "}";
return str;
}
diff --git
a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
index d4d87d7..19bb04b 100644
--- a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
+++ b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
@@ -266,7 +266,8 @@ define(function(require) {
totalUsersSynced : 'Total number of users
synced',
totalGroupsSynced : 'Total number of groups
synced',
addPolicyCondition : 'Add Policy Condition',
- editPolicyCondition : 'Edit Policy Condition'
+ editPolicyCondition : 'Edit Policy Condition',
+ agentHost :'Agent Host Name',
},
btn : {
diff --git
a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
index daf6924..7589bfa 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
@@ -182,6 +182,7 @@ define(function(require) {
<th class="renderable cip"> </th>\
<th class="renderable aip" > </th>\
<th class="renderable aip" > </th>\
+ <th class="renderable aip" > </th>\
<th class="renderable ruser"></th>\
<th class="renderable ruser"></th>\
<th class="renderable ruser"></th>\
@@ -328,9 +329,9 @@ define(function(require) {
{text : 'Access Type',label
:'accessType'},{text : 'Access Enforcer',label :'aclEnforcer'},
{text : 'Client IP',label
:'clientIP'},{text : 'Tags',label :'tags'},
{text : 'Resource Type',label :
'resourceType'},{text : 'Cluster Name',label : 'cluster'},
- {text : 'Zone Name',label : 'zoneName'}];
+ {text : 'Zone Name',label :
'zoneName'},{text : localization.tt("lbl.agentHost"), label :"agentHost"}];
var searchOpt = ['Resource Type','Start Date','End
Date','User','Service Name','Service Type','Resource Name','Access
Type','Result','Access Enforcer',
- 'Client IP','Tags','Cluster Name', 'Zone Name'];//,'Policy ID'
+ 'Client IP','Tags','Cluster Name', 'Zone Name',
localization.tt("lbl.agentHost")];//,'Policy ID'
this.clearVisualSearch(this.accessAuditList,
serverAttrName);
this.searchInfoArr =[{text :'Access Enforcer', info
:localization.tt('msg.accessEnforcer')},
{text :'Access Type' , info
:localization.tt('msg.accessTypeMsg')},
@@ -1176,6 +1177,22 @@ define(function(require) {
sortable:false,
editable:false
},
+ agentHost : {
+ cell : 'html',
+ label :
localization.tt("lbl.agentHost"),
+ editable : false,
+ sortable : false,
+ formatter : _.extend({},
Backgrid.CellFormatter.prototype, {
+ fromRaw : function
(rawValue, model) {
+ rawValue =
_.escape(rawValue);
+
if(_.isUndefined(rawValue)){
+ return
'<center>--</center>';
+ }else{
+ return
'<span title="'+rawValue+'">'+rawValue+'</span>';
+ }
+ }
+ }),
+ },
clientIP : {
label : 'Client IP',
cell: "string",
diff --git
a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
index ef149d5..1f73709 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
@@ -761,7 +761,7 @@ public class TestAssetREST {
Mockito.verify(msBizUtil).isKeyAdmin();
Mockito.verify(assetMgr).getAccessLogs(searchCriteria);
Mockito.verify(daoManager).getXXServiceDef();
- Mockito.verify(searchUtil,
Mockito.times(14)).extractString((HttpServletRequest) Mockito.any(),
+ Mockito.verify(searchUtil,
Mockito.times(15)).extractString((HttpServletRequest) Mockito.any(),
(SearchCriteria) Mockito.any(),
Mockito.anyString(), Mockito.anyString(), Mockito.nullable(String.class));
Mockito.verify(searchUtil,
Mockito.times(4)).extractInt((HttpServletRequest) Mockito.any(),
(SearchCriteria) Mockito.any(),
Mockito.anyString(), Mockito.anyString());
@@ -804,7 +804,7 @@ public class TestAssetREST {
Mockito.verify(msBizUtil).isKeyAdmin();
Mockito.verify(assetMgr).getAccessLogs(searchCriteria);
Mockito.verify(daoManager).getXXServiceDef();
- Mockito.verify(searchUtil,
Mockito.times(14)).extractString((HttpServletRequest) Mockito.any(),
+ Mockito.verify(searchUtil,
Mockito.times(15)).extractString((HttpServletRequest) Mockito.any(),
(SearchCriteria) Mockito.any(),
Mockito.anyString(), Mockito.anyString(), Mockito.nullable(String.class));
Mockito.verify(searchUtil,
Mockito.times(4)).extractInt((HttpServletRequest) Mockito.any(),
(SearchCriteria) Mockito.any(),
Mockito.anyString(), Mockito.anyString());
diff --git a/src/main/assembly/admin-web.xml b/src/main/assembly/admin-web.xml
index 06ba8c4..c862155 100644
--- a/src/main/assembly/admin-web.xml
+++ b/src/main/assembly/admin-web.xml
@@ -224,6 +224,9 @@
<include>com.fasterxml.woodstox:woodstox-core:jar:${fasterxml.woodstox.version}</include>
<include>org.codehaus.woodstox:stax2-api:jar:${codehaus.woodstox.stax2api.version}</include>
<include>org.apache.commons:commons-configuration2:jar:${commons.configuration.version}</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+ <include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>
diff --git a/src/main/assembly/hbase-agent.xml
b/src/main/assembly/hbase-agent.xml
index fa79283..6ce2cb3 100644
--- a/src/main/assembly/hbase-agent.xml
+++ b/src/main/assembly/hbase-agent.xml
@@ -56,6 +56,9 @@
<include>org.noggit:noggit:jar:${noggit.version}</include>
<include>org.apache.solr:solr-solrj</include>
<include>com.google.guava:guava:jar:${google.guava.version}</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>
diff --git a/src/main/assembly/hdfs-agent.xml b/src/main/assembly/hdfs-agent.xml
index add00e6..8bd77f2 100644
--- a/src/main/assembly/hdfs-agent.xml
+++ b/src/main/assembly/hdfs-agent.xml
@@ -89,6 +89,9 @@
<include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
<include>org.noggit:noggit:jar:${noggit.version}</include>
<include>org.apache.solr:solr-solrj</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>
diff --git a/src/main/assembly/hive-agent.xml b/src/main/assembly/hive-agent.xml
index 4f80a95..059c6a3 100644
--- a/src/main/assembly/hive-agent.xml
+++ b/src/main/assembly/hive-agent.xml
@@ -54,6 +54,9 @@
<include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
<include>org.noggit:noggit:jar:${noggit.version}</include>
<include>org.apache.solr:solr-solrj</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>
diff --git a/src/main/assembly/kms.xml b/src/main/assembly/kms.xml
index 17d6786..468bede 100755
--- a/src/main/assembly/kms.xml
+++ b/src/main/assembly/kms.xml
@@ -149,6 +149,9 @@
<include>org.apache.htrace:htrace-core4:jar:${htrace-core.version}</include>
<include>org.apache.solr:solr-solrj</include>
<include>org.apache.ranger:ranger-plugins-common</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>
@@ -220,6 +223,9 @@
<include>org.noggit:noggit:jar:${noggit.version}</include>
<include>org.apache.zookeeper:zookeeper:jar:${zookeeper.version}</include>
<include>org.apache.solr:solr-solrj</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
</dependencySet>
<dependencySet>
diff --git a/src/main/assembly/knox-agent.xml b/src/main/assembly/knox-agent.xml
index 9e30c4f..5a0a49e 100644
--- a/src/main/assembly/knox-agent.xml
+++ b/src/main/assembly/knox-agent.xml
@@ -62,6 +62,9 @@
<include>org.codehaus.jackson:jackson-core-asl:jar:${codehaus.jackson.version}</include>
<include>org.codehaus.jackson:jackson-mapper-asl:jar:${codehaus.jackson.version}</include>
<include>org.apache.solr:solr-solrj</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>
diff --git a/src/main/assembly/plugin-atlas.xml
b/src/main/assembly/plugin-atlas.xml
index 73b624b..4de27b0 100644
--- a/src/main/assembly/plugin-atlas.xml
+++ b/src/main/assembly/plugin-atlas.xml
@@ -59,6 +59,9 @@
<include>org.apache.ranger:ranger-plugins-audit</include>
<include>org.apache.ranger:ranger-plugins-cred</include>
<include>org.apache.ranger:ranger-plugins-common</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+ <include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>
diff --git a/src/main/assembly/plugin-elasticsearch.xml
b/src/main/assembly/plugin-elasticsearch.xml
index 41f73a3..4a9ded2 100644
--- a/src/main/assembly/plugin-elasticsearch.xml
+++ b/src/main/assembly/plugin-elasticsearch.xml
@@ -83,6 +83,9 @@
<include>org.codehaus.jackson:jackson-xc</include>
<include>org.apache.solr:solr-solrj</include>
<include>commons-codec:commons-codec</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+ <include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
</dependencySet>
<dependencySet>
diff --git a/src/main/assembly/plugin-kafka.xml
b/src/main/assembly/plugin-kafka.xml
index ca50e6b..c8af00f 100644
--- a/src/main/assembly/plugin-kafka.xml
+++ b/src/main/assembly/plugin-kafka.xml
@@ -79,6 +79,9 @@
<include>org.codehaus.woodstox:stax2-api</include>
<include>com.fasterxml.woodstox:woodstox-core</include>
<include>org.apache.htrace:htrace-core4</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
</dependencySet>
<dependencySet>
diff --git a/src/main/assembly/plugin-kms.xml b/src/main/assembly/plugin-kms.xml
index f3473b3..f7778dd 100755
--- a/src/main/assembly/plugin-kms.xml
+++ b/src/main/assembly/plugin-kms.xml
@@ -62,6 +62,9 @@
<include>org.noggit:noggit:jar:${noggit.version}</include>
<include>org.apache.zookeeper:zookeeper:jar:${zookeeper.version}</include>
<include>org.apache.solr:solr-solrj</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+ <include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
</dependencySet>
<dependencySet>
diff --git a/src/main/assembly/plugin-kylin.xml
b/src/main/assembly/plugin-kylin.xml
index 87a8154..7469401 100644
--- a/src/main/assembly/plugin-kylin.xml
+++ b/src/main/assembly/plugin-kylin.xml
@@ -56,6 +56,9 @@
<include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
<include>org.noggit:noggit:jar:${noggit.version}</include>
<include>org.apache.solr:solr-solrj</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+ <include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
</dependencySet>
<dependencySet>
diff --git a/src/main/assembly/plugin-solr.xml
b/src/main/assembly/plugin-solr.xml
index 16a0696..2c35b00 100644
--- a/src/main/assembly/plugin-solr.xml
+++ b/src/main/assembly/plugin-solr.xml
@@ -52,6 +52,9 @@
<include>org.codehaus.jackson:jackson-jaxrs</include>
<include>org.codehaus.jackson:jackson-mapper-asl</include>
<include>org.codehaus.jackson:jackson-xc</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
</dependencySet>
<dependencySet>
diff --git a/src/main/assembly/plugin-sqoop.xml
b/src/main/assembly/plugin-sqoop.xml
index 7ce714b..890fc0c 100644
--- a/src/main/assembly/plugin-sqoop.xml
+++ b/src/main/assembly/plugin-sqoop.xml
@@ -56,6 +56,9 @@
<include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
<include>org.noggit:noggit:jar:${noggit.version}</include>
<include>org.apache.solr:solr-solrj</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+ <include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
</dependencySet>
<dependencySet>
diff --git a/src/main/assembly/plugin-yarn.xml
b/src/main/assembly/plugin-yarn.xml
index 04d252e..545e787 100644
--- a/src/main/assembly/plugin-yarn.xml
+++ b/src/main/assembly/plugin-yarn.xml
@@ -56,6 +56,9 @@
<include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
<include>org.noggit:noggit:jar:${noggit.version}</include>
<include>org.apache.solr:solr-solrj</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+ <include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
</dependencySet>
<dependencySet>
diff --git a/src/main/assembly/ranger-tools.xml
b/src/main/assembly/ranger-tools.xml
index 03d58bf..d8b6cf7 100644
--- a/src/main/assembly/ranger-tools.xml
+++ b/src/main/assembly/ranger-tools.xml
@@ -61,6 +61,9 @@
<include>org.codehaus.jackson:jackson-xc</include>
<include>org.apache.ranger:ranger-plugins-common</include>
<include>org.apache.ranger:ranger-plugins-audit</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+ <include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>
diff --git a/src/main/assembly/storm-agent.xml
b/src/main/assembly/storm-agent.xml
index 0e1e946..9b19959 100644
--- a/src/main/assembly/storm-agent.xml
+++ b/src/main/assembly/storm-agent.xml
@@ -72,6 +72,9 @@
<include>org.codehaus.jackson:jackson-mapper-asl</include>
<include>org.apache.solr:solr-solrj</include>
<include>commons-codec:commons-codec</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+ <include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
</dependencySet>
<dependencySet>
diff --git a/src/main/assembly/tagsync.xml b/src/main/assembly/tagsync.xml
index 985b99a..80188e8 100644
--- a/src/main/assembly/tagsync.xml
+++ b/src/main/assembly/tagsync.xml
@@ -81,6 +81,9 @@
<include>org.codehaus.woodstox:stax2-api</include>
<include>com.fasterxml.woodstox:woodstox-core</include>
<include>org.apache.htrace:htrace-core4</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>
diff --git a/src/main/assembly/usersync.xml b/src/main/assembly/usersync.xml
index 9e6a882..220126c 100644
--- a/src/main/assembly/usersync.xml
+++ b/src/main/assembly/usersync.xml
@@ -56,6 +56,9 @@
<include>org.codehaus.woodstox:stax2-api</include>
<include>com.fasterxml.woodstox:woodstox-core</include>
<include>org.apache.htrace:htrace-core4</include>
+
<include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
+
<include>net.java.dev.jna:jna:jar:${jna.version}</include>
+
<include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
</includes>
<unpack>false</unpack>
</dependencySet>