[PR #9774/ddc1ea6a backport][stable-9] Fix proxy settings for elasticsearch_plugin.py (#9785)

Fix proxy settings for elasticsearch_plugin.py (#9774)

elasticsearch_plugin: fix error when setting proxy settings

Co-authored-by: Tim Hovius <w.hovius@rechtspraak.nl>
(cherry picked from commit ddc1ea6ae4)

Co-authored-by: Tim Hovius <timhovius@gmail.com>
pull/9792/head
patchback[bot] 2025-02-20 22:27:19 +01:00 committed by GitHub
parent b418b2c00d
commit dd63fb5347
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 13 deletions

View File

@ -0,0 +1,2 @@
bugfixes:
- "elasticsearch_plugin - fix ``ERROR: D is not a recognized option`` issue when configuring proxy settings (https://github.com/ansible-collections/community.general/pull/9774, https://github.com/ansible-collections/community.general/issues/9773)."

View File

@ -166,33 +166,38 @@ def parse_error(string):
def install_plugin(module, plugin_bin, plugin_name, version, src, url, proxy_host, proxy_port, timeout, force): def install_plugin(module, plugin_bin, plugin_name, version, src, url, proxy_host, proxy_port, timeout, force):
cmd_args = [plugin_bin, PACKAGE_STATE_MAP["present"]] cmd = [plugin_bin, PACKAGE_STATE_MAP["present"]]
is_old_command = (os.path.basename(plugin_bin) == 'plugin') is_old_command = (os.path.basename(plugin_bin) == 'plugin')
# Timeout and version are only valid for plugin, not elasticsearch-plugin # Timeout and version are only valid for plugin, not elasticsearch-plugin
if is_old_command: if is_old_command:
if timeout: if timeout:
cmd_args.append("--timeout %s" % timeout) cmd.append("--timeout")
cmd.append(timeout)
if version: if version:
plugin_name = plugin_name + '/' + version plugin_name = plugin_name + '/' + version
cmd_args[2] = plugin_name cmd[2] = plugin_name
if proxy_host and proxy_port: if proxy_host and proxy_port:
cmd_args.append("-DproxyHost=%s -DproxyPort=%s" % (proxy_host, proxy_port)) java_opts = ["-Dhttp.proxyHost=%s" % proxy_host,
"-Dhttp.proxyPort=%s" % proxy_port,
"-Dhttps.proxyHost=%s" % proxy_host,
"-Dhttps.proxyPort=%s" % proxy_port]
module.run_command_environ_update = dict(CLI_JAVA_OPTS=" ".join(java_opts), # Elasticsearch 8.x
ES_JAVA_OPTS=" ".join(java_opts)) # Older Elasticsearch versions
# Legacy ES 1.x # Legacy ES 1.x
if url: if url:
cmd_args.append("--url %s" % url) cmd.append("--url")
cmd.append(url)
if force: if force:
cmd_args.append("--batch") cmd.append("--batch")
if src: if src:
cmd_args.append(src) cmd.append(src)
else: else:
cmd_args.append(plugin_name) cmd.append(plugin_name)
cmd = " ".join(cmd_args)
if module.check_mode: if module.check_mode:
rc, out, err = 0, "check mode", "" rc, out, err = 0, "check mode", ""
@ -207,9 +212,7 @@ def install_plugin(module, plugin_bin, plugin_name, version, src, url, proxy_hos
def remove_plugin(module, plugin_bin, plugin_name): def remove_plugin(module, plugin_bin, plugin_name):
cmd_args = [plugin_bin, PACKAGE_STATE_MAP["absent"], parse_plugin_repo(plugin_name)] cmd = [plugin_bin, PACKAGE_STATE_MAP["absent"], parse_plugin_repo(plugin_name)]
cmd = " ".join(cmd_args)
if module.check_mode: if module.check_mode:
rc, out, err = 0, "check mode", "" rc, out, err = 0, "check mode", ""