canonical / zookeeper-operator

Source for Zookeeper VM Charm
Apache License 2.0
3 stars 7 forks source link

Zookeeper /etc/environment update crashes #159

Closed acsgn closed 1 week ago

acsgn commented 1 week ago

Steps to reproduce

  1. juju deploy zookeeper
  2. juju deploy ntp
  3. juju integrate ntp zookeeper

Expected behavior

NTP configures the VM

Actual behavior

NTP fails to setup due to /etc/environment file's format source /etc/environment returns -Dzookeeper.requireClientAuthScheme=sasl: command not found, exit code 127

Versions

Operating system: Ubuntu 22.04.4 LTS

Juju CLI: 3.4.5-genericlinux-amd64

Juju agent: 3.4.5

Charm revision: 138

LXD: 5.21.2 LTS

Log output

Juju debug log:

unit-ntp-0: 15:02:03 INFO unit.ntp/0.juju-log Making dir /opt root:root 555
unit-ntp-0: 15:02:03 INFO unit.ntp/0.juju-log /usr/bin/rsync -r --delete --executability src/ /opt/ntpmon-ntp-charm/
unit-ntp-0: 15:02:03 INFO unit.ntp/0.juju-log Invoking reactive handler: reactive/ntp.py:112:install
unit-ntp-0: 15:02:03 INFO unit.ntp/0.juju-log Installing ['chrony'] with options: ['--option=Dpkg::Options::=--force-confold']
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install /etc/environment: line 2: -Dzookeeper.requireClientAuthScheme=sasl: command not found
unit-ntp-0: 15:02:03 ERROR unit.ntp/0.juju-log Hook error:
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charms/reactive/__init__.py", line 74, in main
    bus.dispatch(restricted=restricted_mode)
  File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charms/reactive/bus.py", line 390, in dispatch
    _invoke(other_handlers)
  File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charms/reactive/bus.py", line 359, in _invoke
    handler.invoke()
  File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charms/reactive/bus.py", line 181, in invoke
    self._action(*args)
  File "/var/lib/juju/agents/unit-ntp-0/charm/reactive/ntp.py", line 116, in install
    fetch.apt_install(pkgs, fatal=True)
  File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/fetch/ubuntu.py", line 369, in apt_install
    _run_apt_command(cmd, fatal, quiet=quiet)
  File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/fetch/ubuntu.py", line 945, in _run_apt_command
    _run_with_retries(
  File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/fetch/ubuntu.py", line 903, in _run_with_retries
    env = get_apt_dpkg_env()
  File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/fetch/ubuntu.py", line 1003, in get_apt_dpkg_env
    'PATH': get_system_env('PATH', '/usr/sbin:/usr/bin:/sbin:/bin')}
  File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/core/host.py", line 1295, in get_system_env
    output = subprocess.check_output(
  File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['env', '-i', '/bin/bash', '-c', 'set -a && source /etc/environment && env']' returned non-zero exit status 127.

unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install Traceback (most recent call last):
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/charm/hooks/install", line 22, in <module>
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     main()
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charms/reactive/__init__.py", line 74, in main
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     bus.dispatch(restricted=restricted_mode)
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charms/reactive/bus.py", line 390, in dispatch
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     _invoke(other_handlers)
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charms/reactive/bus.py", line 359, in _invoke
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     handler.invoke()
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charms/reactive/bus.py", line 181, in invoke
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     self._action(*args)
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/charm/reactive/ntp.py", line 116, in install
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     fetch.apt_install(pkgs, fatal=True)
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/fetch/ubuntu.py", line 369, in apt_install
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     _run_apt_command(cmd, fatal, quiet=quiet)
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/fetch/ubuntu.py", line 945, in _run_apt_command
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     _run_with_retries(
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/fetch/ubuntu.py", line 903, in _run_with_retries
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     env = get_apt_dpkg_env()
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/fetch/ubuntu.py", line 1003, in get_apt_dpkg_env
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     'PATH': get_system_env('PATH', '/usr/sbin:/usr/bin:/sbin:/bin')}
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/var/lib/juju/agents/unit-ntp-0/.venv/lib/python3.10/site-packages/charmhelpers/core/host.py", line 1295, in get_system_env
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     output = subprocess.check_output(
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install   File "/usr/lib/python3.10/subprocess.py", line 526, in run
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install     raise CalledProcessError(retcode, process.args,
unit-ntp-0: 15:02:03 WARNING unit.ntp/0.install subprocess.CalledProcessError: Command '['env', '-i', '/bin/bash', '-c', 'set -a && source /etc/environment && env']' returned non-zero exit status 127.
unit-ntp-0: 15:02:03 ERROR juju.worker.uniter.operation hook "install" (via explicit, bespoke hook script) failed: exit status 1
unit-ntp-0: 15:02:03 INFO juju.worker.uniter awaiting error resolution for "install" hook

Additional context

Double quotes are needed at this function https://github.com/canonical/zookeeper-operator/blob/dd042b899e6406b3680d585073e60de45b300060/src/managers/config.py#L310

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
SERVER_JVMFLAGS=-Dcharmed.zookeeper.log.level=INFO -Dzookeeper.requireClientAuthScheme=sasl -Dzookeeper.superUser=super -Djava.security.auth.login.config=/var/snap/charmed-zookeeper/current/etc/zookeeper/zookeeper-jaas.cfg -Dcom.sun.management.jmxremote -javaagent:/snap/charmed-zookeeper/current/opt/zookeeper/lib/jmx_prometheus_javaagent.jar=9998:/var/snap/charmed-zookeeper/current/etc/zookeeper/jmx_prometheus.yaml

=>

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
SERVER_JVMFLAGS="-Dcharmed.zookeeper.log.level=INFO -Dzookeeper.requireClientAuthScheme=sasl -Dzookeeper.superUser=super -Djava.security.auth.login.config=/var/snap/charmed-zookeeper/current/etc/zookeeper/zookeeper-jaas.cfg -Dcom.sun.management.jmxremote -javaagent:/snap/charmed-zookeeper/current/opt/zookeeper/lib/jmx_prometheus_javaagent.jar=9998:/var/snap/charmed-zookeeper/current/etc/zookeeper/jmx_prometheus.yaml"
syncronize-issues-to-jira[bot] commented 1 week ago

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/DPE-5463.

This message was autogenerated