canonical / canonical/charm-integration-testing

minio (ckf-1.10/stable) install hook fails with `pod-spec-set` not found under Juju 4.x

Open
#489 1 comment 0 reactions 0 assignees View on GitHub
bug charm-deployment
Dominant language
Python
Stars
6
Forks
1
Avg merge
1d 22h
Merged PRs (30d)
96

Description

**Note: This issue was generated with AI assistance (GitHub Copilot) based on automated log analysis and triage.**
Filed by @canonical/solutions-qa

---

## Problem

The `minio` charm (`ckf-1.10/stable`, rev 583) is incompatible with Juju 4.x. Its install hook calls `self.model.pod.set_spec()` which invokes the `pod-spec-set` tool — a Podspec API removed in Juju 4.0. This causes the install hook to crash on **every attempt**, preventing S3 credentials from being configured, which blocks downstream `tempo-coordinator-k8s` (and ultimately `loki-k8s`) from ever reaching active status.

**Test Observer**: https://test-observer.canonical.com/#/charms/406840?testExecutionId=486308&testResultId=10651698

---

## Evidence

### Exact traceback (from juju debug-log, repeated on every retry)

```
unit.s3-integrator-minio/0.juju-log ERROR juju-exec: charmed-minio._daemon_.service: main module raised exception
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-s3-integrator-minio-0/charm/./src/charm.py", line 153, in main
self.model.pod.set_spec(spec)
...
RuntimeError: command not found: pod-spec-set
unit.s3-integrator-minio/0.juju-log hook "install" (via hook dispatching script: dispatch) failed
```

### Juju status

```
s3-integrator-minio/0* error idle unit.s3-integrator-minio/0 hook failed: "install"
s3-integrator/0* blocked idle Missing parameters: ['access-key', 'secret-key']
neighbor/0* blocked idle tempo-coordinator-k8s/0 [s3] S3 not ready (probably misconfigured)
target/0* active idle loki-k8s/0 (healthy — not at fault)
```

### Bundle details

- **Failing charm**: `minio` rev 583, channel `ckf-1.10/stable` (deployed as `s3-integrator-minio`)
- **Environment**: `juju:4/stable ubuntu:24.04 kubernetes`, Juju version 4.0.5
- **Artefact under test**: `loki-k8s` rev 220, track `dev/edge`

---

## Root Cause

The `minio` charm from the `ckf-1.10/stable` track is a legacy Kubeflow 1.10 charm. It uses the [Juju Podspec API](https://documentation.ubuntu.com/juju/en/latest/reference/glossary/#podspec-charm) (`model.pod.set_spec()`) in its install hook (`src/charm.py` line 153). The `pod-spec-set` hook tool was **removed in Juju 4.0**, so any environment running `juju:4/stable` will consistently fail to install this charm.

---

## Impact

- **Failure rate**: 5 of the last 10 executions for `loki-k8s dev/edge` failed due to this (executions 486308, 486304, 486269, 486262, 486178)
- **Scope**: Any test bundle that uses `minio` from `ckf-1.10/stable` as an S3 backend will fail under Juju 4.x
- `loki-k8s` itself (`target/0`) reaches `active/idle` and is **not at fault**

---

## Suggested Fix

Replace the `minio` charm in the `loki-k8s` test bundle with a Juju-4-compatible S3 backend. Options:

1. Use `minio` from a more recent channel that has been rewritten as a [sidecar charm](https://documentation.ubuntu.com/juju/en/latest/reference/glossary/#sidecar-charm)
2. Use an alternative S3-compatible backend charm that supports Juju 4.x
3. Pin the `loki-k8s` Juju 4.x test environment to a version of the bundle that uses a compatible S3 backend

---

## Classification

**DEPLOYMENT_CONFIG** — test bundle includes a Juju-4-incompatible neighbor charm. The target charm (`loki-k8s`) is healthy and not at fault.

Contributor guide

Open the contributing guide

Research direction

Read the minio charm's src/charm.py around line 153 and inspect the loki-k8s Juju 4 test bundle that deploys the ckf-1.10/stable backend. Confirm the install-hook failure under Juju 4.0.5, choose a compatible S3 backend or bundle revision, then rerun the affected integration test and verify that the S3 and dependent applications reach active status.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, python
Domain
devops, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.