juju / amulet

Testing harness and tools for Juju Charms
Other
17 stars 33 forks source link

wait_for_messages should detect and surface hook errors #149

Open johnsca opened 8 years ago

johnsca commented 8 years ago

It currently surfaces a timeout because the status message doesn't match, but that can be misleading.

2016-08-30 20:44:18 Starting deployment of charm-testing-gce
2016-08-30 20:44:19 Deploying services...
2016-08-30 20:44:30 Adding relations...
2016-08-30 20:44:31 Deployment complete in 14.07 seconds
/usr/lib/python3/dist-packages/path.py:1719: DeprecationWarning: path is deprecated. Use Path instead.
  warnings.warn(msg, DeprecationWarning)
Timeout occurred, printing juju status...environment: charm-testing-gce
machines:
  "0":
    agent-state: started
    agent-version: 1.25.6
    dns-name: 104.199.6.154
    instance-id: juju-ec8adfe5-eac1-4931-881d-65488d7fd1c2-machine-0
    instance-state: RUNNING
    series: trusty
    hardware: arch=amd64 cpu-cores=8 cpu-power=2200 mem=7200M root-disk=10240M availability-zone=europe-west1-b
    state-server-member-status: has-vote
  "1":
    agent-state: started
    agent-version: 1.25.6
    dns-name: 104.155.86.172
    instance-id: juju-ec8adfe5-eac1-4931-881d-65488d7fd1c2-machine-1
    instance-state: RUNNING
    series: xenial
    hardware: arch=amd64 cpu-cores=4 cpu-power=1100 mem=3600M root-disk=10240M availability-zone=europe-west1-c
  "2":
    agent-state: started
    agent-version: 1.25.6
    dns-name: 104.199.2.158
    instance-id: juju-ec8adfe5-eac1-4931-881d-65488d7fd1c2-machine-2
    instance-state: RUNNING
    series: xenial
    hardware: arch=amd64 cpu-cores=4 cpu-power=1100 mem=3600M root-disk=10240M availability-zone=europe-west1-b
  "3":
    agent-state: started
    agent-version: 1.25.6
    dns-name: 104.155.105.142
    instance-id: juju-ec8adfe5-eac1-4931-881d-65488d7fd1c2-machine-3
    instance-state: RUNNING
    series: xenial
    hardware: arch=amd64 cpu-cores=4 cpu-power=1100 mem=3600M root-disk=10240M availability-zone=europe-west1-d
services:
  zookeeper:
    charm: local:xenial/zookeeper-0
    exposed: false
    service-status:
      current: error
      message: 'hook failed: "config-changed"'
      since: 30 Aug 2016 20:45:57Z
    relations:
      zkpeer:
      - zookeeper
    units:
      zookeeper/0:
        workload-status:
          current: error
          message: 'hook failed: "config-changed"'
          since: 30 Aug 2016 20:45:57Z
        agent-status:
          current: idle
          since: 30 Aug 2016 20:45:57Z
          version: 1.25.6
        agent-state: error
        agent-state-info: 'hook failed: "config-changed"'
        agent-version: 1.25.6
        machine: "1"
        open-ports:
        - 2181/tcp
        - 9998/tcp
        public-address: 104.155.86.172
      zookeeper/1:
        workload-status:
          current: error
          message: 'hook failed: "config-changed"'
          since: 30 Aug 2016 20:45:57Z
        agent-status:
          current: idle
          since: 30 Aug 2016 20:45:57Z
          version: 1.25.6
        agent-state: error
        agent-state-info: 'hook failed: "config-changed"'
        agent-version: 1.25.6
        machine: "2"
        open-ports:
        - 2181/tcp
        - 9998/tcp
        public-address: 104.199.2.158
      zookeeper/2:
        workload-status:
          current: error
          message: 'hook failed: "config-changed"'
          since: 30 Aug 2016 20:45:57Z
        agent-status:
          current: idle
          since: 30 Aug 2016 20:45:57Z
          version: 1.25.6
        agent-state: error
        agent-state-info: 'hook failed: "config-changed"'
        agent-version: 1.25.6
        machine: "3"
        open-ports:
        - 2181/tcp
        - 9998/tcp
        public-address: 104.155.105.142
Es
======================================================================
ERROR: test_bind_port (__main__.TestBindClientPort)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/bundletester-Eut7sH/zookeeper/tests/10-bind-address", line 45, in test_bind_port
    self.d.sentry.wait_for_messages({'zookeeper': 'updating network interface'}, timeout=60)
  File "/usr/lib/python3/dist-packages/amulet/sentry.py", line 598, in wait_for_messages
    for i in helpers.timeout_gen(timeout):
  File "/usr/lib/python3/dist-packages/amulet/helpers.py", line 108, in timeout_gen
    raise TimeoutError()
amulet.helpers.TimeoutError

----------------------------------------------------------------------
Ran 2 tests in 157.637s

FAILED (errors=1, skipped=1)