FYI I was able to easily and immediately reproduce the nova-compute/0 hook error by deploying the nova-compute disco-stein functional test in my bastion on our dev cloud (serverstack):
2019-09-05 17:08:34 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2019-09-05 17:08:34 INFO juju-log Setting up the apparmor profile for usr.bin.nova-compute in enforce mode.
2019-09-05 17:08:34 DEBUG config-changed Setting /etc/apparmor.d/usr.bin.nova-compute to enforce mode.
2019-09-05 17:08:35 DEBUG config-changed mkfs.xfs: cannot open /dev/vdb: Device or resource busy
2019-09-05 17:08:35 DEBUG config-changed Traceback (most recent call last):
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/config-changed", line 751, in <module>
2019-09-05 17:08:35 DEBUG config-changed main()
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/config-changed", line 744, in main
2019-09-05 17:08:35 DEBUG config-changed hooks.execute(sys.argv)
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/charmhelpers/core/hookenv.py", line 914, in execute
2019-09-05 17:08:35 DEBUG config-changed self._hooks[hook_name]()
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/charmhelpers/contrib/openstack/utils.py", line 1560, in wrapped_f
2019-09-05 17:08:35 DEBUG config-changed stopstart, restart_functions)
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/charmhelpers/core/host.py", line 741, in restart_on_change_helper
2019-09-05 17:08:35 DEBUG config-changed r = lambda_f()
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/charmhelpers/contrib/openstack/utils.py", line 1559, in <lambda>
2019-09-05 17:08:35 DEBUG config-changed (lambda: f(*args, **kwargs)), __restart_map_cache['cache'],
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/charmhelpers/contrib/hardening/harden.py", line 93, in _harden_inner2
2019-09-05 17:08:35 DEBUG config-changed return f(*args, **kwargs)
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/config-changed", line 264, in config_changed
2019-09-05 17:08:35 DEBUG config-changed configure_local_ephemeral_storage()
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/nova_compute_utils.py", line 1015, in configure_local_ephemeral_storage
2019-09-05 17:08:35 DEBUG config-changed mkfs_xfs(dev, force=True)
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/juju/agents/unit-nova-compute-0/charm/hooks/charmhelpers/contrib/storage/linux/utils.py", line 128, in mkfs_xfs
2019-09-05 17:08:35 DEBUG config-changed check_call(cmd)
2019-09-05 17:08:35 DEBUG config-changed File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
2019-09-05 17:08:35 DEBUG config-changed raise CalledProcessError(retcode, cmd)
2019-09-05 17:08:35 DEBUG config-changed subprocess.CalledProcessError: Command '['mkfs.xfs', '-f', '-i', 'size=1024', '/dev/vdb']' returned non-zero exit status 1.
2019-09-05 17:08:35 ERROR juju.worker.uniter.operation runhook.go:132 hook "config-changed" failed: exit status 1
2019-09-05 17:08:35 DEBUG juju.machinelock machinelock.go:180 machine lock released for uniter (run config-changed hook)
FYI I was able to easily and immediately reproduce the nova-compute/0 hook error by deploying the nova-compute disco-stein functional test in my bastion on our dev cloud (serverstack):
2019-09-05 17:08:34 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log" nova-compute in enforce mode. d/usr.bin. nova-compute to enforce mode. juju/agents/ unit-nova- compute- 0/charm/ hooks/config- changed" , line 751, in <module> juju/agents/ unit-nova- compute- 0/charm/ hooks/config- changed" , line 744, in main sys.argv) juju/agents/ unit-nova- compute- 0/charm/ hooks/charmhelp ers/core/ hookenv. py", line 914, in execute hook_name] () juju/agents/ unit-nova- compute- 0/charm/ hooks/charmhelp ers/contrib/ openstack/ utils.py" , line 1560, in wrapped_f juju/agents/ unit-nova- compute- 0/charm/ hooks/charmhelp ers/core/ host.py" , line 741, in restart_ on_change_ helper juju/agents/ unit-nova- compute- 0/charm/ hooks/charmhelp ers/contrib/ openstack/ utils.py" , line 1559, in <lambda> map_cache[ 'cache' ], juju/agents/ unit-nova- compute- 0/charm/ hooks/charmhelp ers/contrib/ hardening/ harden. py", line 93, in _harden_inner2 juju/agents/ unit-nova- compute- 0/charm/ hooks/config- changed" , line 264, in config_changed local_ephemeral _storage( ) juju/agents/ unit-nova- compute- 0/charm/ hooks/nova_ compute_ utils.py" , line 1015, in configure_ local_ephemeral _storage juju/agents/ unit-nova- compute- 0/charm/ hooks/charmhelp ers/contrib/ storage/ linux/utils. py", line 128, in mkfs_xfs python3. 7/subprocess. py", line 347, in check_call ror(retcode, cmd) CalledProcessEr ror: Command '['mkfs.xfs', '-f', '-i', 'size=1024', '/dev/vdb']' returned non-zero exit status 1. uniter. operation runhook.go:132 hook "config-changed" failed: exit status 1
2019-09-05 17:08:34 INFO juju-log Setting up the apparmor profile for usr.bin.
2019-09-05 17:08:34 DEBUG config-changed Setting /etc/apparmor.
2019-09-05 17:08:35 DEBUG config-changed mkfs.xfs: cannot open /dev/vdb: Device or resource busy
2019-09-05 17:08:35 DEBUG config-changed Traceback (most recent call last):
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed main()
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed hooks.execute(
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed self._hooks[
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed stopstart, restart_functions)
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed r = lambda_f()
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed (lambda: f(*args, **kwargs)), __restart_
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed return f(*args, **kwargs)
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed configure_
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed mkfs_xfs(dev, force=True)
2019-09-05 17:08:35 DEBUG config-changed File "/var/lib/
2019-09-05 17:08:35 DEBUG config-changed check_call(cmd)
2019-09-05 17:08:35 DEBUG config-changed File "/usr/lib/
2019-09-05 17:08:35 DEBUG config-changed raise CalledProcessEr
2019-09-05 17:08:35 DEBUG config-changed subprocess.
2019-09-05 17:08:35 ERROR juju.worker.
2019-09-05 17:08:35 DEBUG juju.machinelock machinelock.go:180 machine lock released for uniter (run config-changed hook)