canonical / grafana-agent-k8s-operator

https://charmhub.io/grafana-agent-k8s
Apache License 2.0
8 stars 18 forks source link

(machine) Error when relating to to a principal charm #174

Closed Abuelodelanada closed 1 year ago

Abuelodelanada commented 1 year ago

Bug Description

After relation zookeeper to grafana-agent, the charm ends up in error state

╭─ubuntu@charm-dev-juju-30 ~ [lxd:applications]
╰─$ juju status --color --relations  -m lxd:applications           
Model         Controller  Cloud/Region         Version  SLA          Timestamp
applications  lxd         localhost/localhost  3.0.3    unsupported  17:39:46-03:00

SAAS                             Status  Store     URL
grafana-dashboards               active  microk8s  admin/cos.grafana-dashboards
loki-logging                     active  microk8s  admin/cos.loki-logging
prometheus-receive-remote-write  active  microk8s  admin/cos.prometheus-receive-remote-write

App            Version  Status  Scale  Charm          Channel  Rev  Exposed  Message
grafana-agent           error       1  grafana-agent  edge       7  no       hook failed: "cos-agent-relation-joined"
zookeeper               active      1  zookeeper      edge      96  no       

Unit                Workload  Agent  Machine  Public address  Ports  Message
zookeeper/0*        active    idle   0        10.201.4.178           
  grafana-agent/3*  error     idle            10.201.4.178           hook failed: "cos-agent-relation-joined" for grafana-agent:cos-agent

Machine  State    Address       Inst id        Base          AZ  Message
0        started  10.201.4.178  juju-028aca-0  ubuntu@22.04      Running

Relation provider    Requirer                 Interface              Type         Message
grafana-agent:peers  grafana-agent:peers      grafana_agent_replica  peer         
zookeeper:cluster    zookeeper:cluster        cluster                peer         
zookeeper:cos-agent  grafana-agent:cos-agent  cos_agent              subordinate  
zookeeper:restart    zookeeper:restart        rolling_op             peer          

To Reproduce

  1. juju deploy zookeeper --channel edge
  2. juju deploy grafana-agent --channel edge
  3. juju relate zookeeper:cos-agent grafana-agent

Environment

Relevant log output

unit-grafana-agent-3: 17:39:32.674 WARNING unit.grafana-agent/3.juju-log cos-agent:12: An incoming 'cos-agent' relation does not yet have any matching outgoing relation(s): [send-remote-write|grafana-cloud-config]
unit-grafana-agent-3: 17:39:32.800 ERROR unit.grafana-agent/3.juju-log cos-agent:12: Uncaught exception while in charm code:
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-grafana-agent-3/charm/./src/charm.py", line 473, in <module>
    main(GrafanaAgentMachineCharm)
  File "/var/lib/juju/agents/unit-grafana-agent-3/charm/venv/ops/main.py", line 441, in main
    _emit_charm_event(charm, dispatcher.event_name)
  File "/var/lib/juju/agents/unit-grafana-agent-3/charm/venv/ops/main.py", line 149, in _emit_charm_event
    event_to_emit.emit(*args, **kwargs)
  File "/var/lib/juju/agents/unit-grafana-agent-3/charm/venv/ops/framework.py", line 354, in emit
    framework._emit(event)
  File "/var/lib/juju/agents/unit-grafana-agent-3/charm/venv/ops/framework.py", line 830, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-grafana-agent-3/charm/venv/ops/framework.py", line 919, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-grafana-agent-3/charm/lib/charms/grafana_agent/v0/cos_agent.py", line 477, in _on_relation_data_changed
    provider_data = CosAgentProviderUnitData(**json.loads(raw))
  File "/var/lib/juju/agents/unit-grafana-agent-3/charm/venv/pydantic/main.py", line 341, in __init__
    raise validation_error
pydantic.error_wrappers.ValidationError: 5 validation errors for CosAgentProviderUnitData
metrics_alert_rules
  field required (type=value_error.missing)
log_alert_rules
  field required (type=value_error.missing)
dashboards
  field required (type=value_error.missing)
metrics_scrape_jobs
  field required (type=value_error.missing)
log_slots
  field required (type=value_error.missing)
unit-grafana-agent-3: 17:39:33.148 ERROR juju.worker.uniter.operation hook "cos-agent-relation-joined" (via hook dispatching script: dispatch) failed: exit status 1
unit-grafana-agent-3: 17:39:33.149 INFO juju.worker.uniter awaiting error resolution for "relation-joined" hook

Additional context

No response

sed-i commented 1 year ago

This is a pydantic validation error. Fixed in zookeeper revision 97.

Duplicates https://github.com/canonical/grafana-agent-k8s-operator/issues/172. Closing.