This is an automated email from the ASF dual-hosted git repository.
wuzhiguo pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new e6576c8c4d AMBARI-25731: HdfsResource didn't chown again when reupload
local file in resource_management (#3365)
e6576c8c4d is described below
commit e6576c8c4d260e770bb92fef6e9e7595061173c2
Author: timyuer <[email protected]>
AuthorDate: Sat Oct 8 16:42:37 2022 +0800
AMBARI-25731: HdfsResource didn't chown again when reupload local file in
resource_management (#3365)
---
.../libraries/providers/hdfs_resource.py | 27 ++++++++++++++--------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git
a/ambari-common/src/main/python/resource_management/libraries/providers/hdfs_resource.py
b/ambari-common/src/main/python/resource_management/libraries/providers/hdfs_resource.py
index af6218a591..9db0ebf885 100644
---
a/ambari-common/src/main/python/resource_management/libraries/providers/hdfs_resource.py
+++
b/ambari-common/src/main/python/resource_management/libraries/providers/hdfs_resource.py
@@ -422,16 +422,25 @@ class HdfsResourceWebHDFS:
def _create_resource(self):
is_create = (self.main_resource.resource.source == None)
+ source = self.main_resource.resource.source
+ type = self.main_resource.resource.type
+ target = self.main_resource.resource.target
+ refresh_status = True
- if is_create and self.main_resource.resource.type == "directory":
- self._create_directory(self.main_resource.resource.target)
- elif is_create and self.main_resource.resource.type == "file":
- self._create_file(self.main_resource.target, mode=self.mode)
- elif not is_create and self.main_resource.resource.type == "file":
- self._create_file(self.main_resource.resource.target,
source=self.main_resource.resource.source, mode=self.mode)
- elif not is_create and self.main_resource.resource.type == "directory":
- self._create_directory(self.main_resource.resource.target)
- self._copy_from_local_directory(self.main_resource.resource.target,
self.main_resource.resource.source)
+ if is_create and type == "directory":
+ self._create_directory(target)
+ elif is_create and type == "file":
+ self._create_file(target, mode=self.mode)
+ elif not is_create and type == "file":
+ self._create_file(target, source=source, mode=self.mode)
+ elif not is_create and type == "directory":
+ self._create_directory(target)
+ self._copy_from_local_directory(target, source)
+ else:
+ refresh_status = False
+
+ if refresh_status:
+ self.target_status = self._get_file_status(target)
def _copy_from_local_directory(self, target, source):
for next_path_part in sudo.listdir(source):
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]