Openstack ovn-chassis hook failed: "install"

I am getting hook failed “install” on the ovn-chassis segment on juju when adding a new compute node on a ppc64el architecture. Existing setup is up and running on s390x architecture.

Before running the two installation steps from I ran : juju set-model-constraints arch=ppc64el Then: juju add-machine

juju add-unit --to 19 nova-compute

The two error logs are the following: tail -50 /var/log/juju/unit-ovn-chassis-25.log

2024-02-15 14:46:10 WARNING unit.ovn-chassis/25.install logger.go:60   File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/basic.py", line 226, in bootstrap_charm_deps
2024-02-15 14:46:10 WARNING unit.ovn-chassis/25.install logger.go:60     check_call([pip, 'install', '-U', reinstall_flag, '--no-index',
2024-02-15 14:46:10 WARNING unit.ovn-chassis/25.install logger.go:60   File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
2024-02-15 14:46:10 WARNING unit.ovn-chassis/25.install logger.go:60     raise CalledProcessError(retcode, cmd)
2024-02-15 14:46:10 WARNING unit.ovn-chassis/25.install logger.go:60 subprocess.CalledProcessError: Command '['/var/lib/juju/agents/unit-ovn-chassis-25/.venv/bin/pip', 'install', '-U', '--force-reinstall', '--no-index', '--no-cache-dir', '-f', 'wheelhouse', 'wheel==0.41.3', 'MarkupSafe==2.1.3']' returned non-zero exit status 1.
2024-02-15 14:46:10 ERROR juju.worker.uniter.operation runhook.go:180 hook "install" (via explicit, bespoke hook script) failed: exit status 1
2024-02-15 14:46:10 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 14:48:02 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 14:51:10 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60 ERROR: Could not find a version that satisfies the requirement MarkupSafe==2.1.3 (from versions: none)
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60 ERROR: No matching distribution found for MarkupSafe==2.1.3
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60 Traceback (most recent call last):
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60   File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/hooks/install", line 8, in <module>
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60     basic.bootstrap_charm_deps()
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60   File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/basic.py", line 226, in bootstrap_charm_deps
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60     check_call([pip, 'install', '-U', reinstall_flag, '--no-index',
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60   File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60     raise CalledProcessError(retcode, cmd)
2024-02-15 14:51:14 WARNING unit.ovn-chassis/25.install logger.go:60 subprocess.CalledProcessError: Command '['/var/lib/juju/agents/unit-ovn-chassis-25/.venv/bin/pip', 'install', '-U', '--force-reinstall', '--no-index', '--no-cache-dir', '-f', 'wheelhouse', 'MarkupSafe==2.1.3', 'wheel==0.41.3']' returned non-zero exit status 1.
2024-02-15 14:51:15 ERROR juju.worker.uniter.operation runhook.go:180 hook "install" (via explicit, bespoke hook script) failed: exit status 1
2024-02-15 14:51:15 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 14:53:50 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 14:56:15 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60 ERROR: Could not find a version that satisfies the requirement MarkupSafe==2.1.3 (from versions: none)
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60 ERROR: No matching distribution found for MarkupSafe==2.1.3
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60 Traceback (most recent call last):
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60   File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/hooks/install", line 8, in <module>
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60     basic.bootstrap_charm_deps()
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60   File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/basic.py", line 226, in bootstrap_charm_deps
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60     check_call([pip, 'install', '-U', reinstall_flag, '--no-index',
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60   File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60     raise CalledProcessError(retcode, cmd)
2024-02-15 14:56:19 WARNING unit.ovn-chassis/25.install logger.go:60 subprocess.CalledProcessError: Command '['/var/lib/juju/agents/unit-ovn-chassis-25/.venv/bin/pip', 'install', '-U', '--force-reinstall', '--no-index', '--no-cache-dir', '-f', 'wheelhouse', 'MarkupSafe==2.1.3', 'wheel==0.41.3']' returned non-zero exit status 1.
2024-02-15 14:56:19 ERROR juju.worker.uniter.operation runhook.go:180 hook "install" (via explicit, bespoke hook script) failed: exit status 1
2024-02-15 14:56:19 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 14:59:37 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 15:01:19 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60 ERROR: Could not find a version that satisfies the requirement MarkupSafe==2.1.3 (from versions: none)
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60 ERROR: No matching distribution found for MarkupSafe==2.1.3
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60 Traceback (most recent call last):
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60   File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/hooks/install", line 8, in <module>
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60     basic.bootstrap_charm_deps()
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60   File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/basic.py", line 226, in bootstrap_charm_deps
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60     check_call([pip, 'install', '-U', reinstall_flag, '--no-index',
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60   File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60     raise CalledProcessError(retcode, cmd)
2024-02-15 15:01:24 WARNING unit.ovn-chassis/25.install logger.go:60 subprocess.CalledProcessError: Command '['/var/lib/juju/agents/unit-ovn-chassis-25/.venv/bin/pip', 'install', '-U', '--force-reinstall', '--no-index', '--no-cache-dir', '-f', 'wheelhouse', 'wheel==0.41.3', 'MarkupSafe==2.1.3']' returned non-zero exit status 1.
2024-02-15 15:01:24 ERROR juju.worker.uniter.operation runhook.go:180 hook "install" (via explicit, bespoke hook script) failed: exit status 1
2024-02-15 15:01:24 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
2024-02-15 15:04:55 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook

cd /var/lib/juju/agents/unit-ovn-chassis-25/charm ./hooks/install

Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/./hooks/install", line 8, in <module>
    basic.bootstrap_charm_deps()
  File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/basic.py", line 80, in bootstrap_charm_deps
    execd_preinstall()
  File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/execd.py", line 114, in execd_preinstall
    execd_run('charm-pre-install', execd_dir=execd_dir)
  File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/execd.py", line 71, in execd_run
    for submodule_path in execd_submodule_paths(command, execd_dir):
  File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/execd.py", line 52, in execd_submodule_paths
    for module_path in execd_module_paths(execd_dir):
  File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/execd.py", line 38, in execd_module_paths
    execd_dir = default_execd_dir()
  File "/var/lib/juju/agents/unit-ovn-chassis-25/charm/lib/charms/layer/execd.py", line 32, in default_execd_dir
    return os.path.join(os.environ['JUJU_CHARM_DIR'], 'exec.d')
  File "/usr/lib/python3.10/os.py", line 680, in __getitem__
    raise KeyError(key) from None
KeyError: 'JUJU_CHARM_DIR'

Is there anything i can do to fix this?

@Steve I edited your comment to make your pasted output be formatted as code blocks.

@fnordahl Do you have any thoughts on this?