When trying to deploy a bundle which contains both sidecar charms and pod spec charms the sidecar charms get stuck with the following status-log:
Time Type Status Message
18 May 2021 11:44:09Z juju-unit allocating
18 May 2021 11:44:11Z juju-unit allocating Started container charm-init
18 May 2021 11:44:12Z juju-unit allocating Started container dex-auth
18 May 2021 11:44:14Z juju-unit allocating Back-off pulling image "jujusolutions/charm-base:kubernetes-kubernetes"
18 May 2021 11:44:52Z juju-unit allocating Error: ErrImagePull
18 May 2021 11:45:03Z juju-unit allocating Back-off pulling image "jujusolutions/charm-base:kubernetes-kubernetes"
18 May 2021 11:45:03Z workload waiting installing agent
This does not happen when the charms are deployed one by one through the juju cli.
Steps to reproduce:
git clone https://github.com/canonical/dex-auth-operator.git
cd dex-auth-operator
git checkout sidecar
charmcraft build
cd ..
juju deploy ./bundle.yaml
With bundle.yaml being the following content:
bundle: kubernetes
applications:
dex-auth:
charm: ./dex-auth-operator/dex-auth.charm
scale: 1
resources:
oci-image: quay.io/dexidp/dex:v2.28.1
oidc-gatekeeper:
charm: cs:oidc-gatekeeper
scale: 1
relations:
- [dex-auth:oidc-client, oidc-gatekeeper:oidc-client]
So "jujusolutions/ charm-base: kubernetes- kubernetes" doesn't exist as we switched to using the ubuntu versions as the tag ("jujusolutions /charm- base:ubuntu- 21.04")
When I run charmcraft build on that tree, it generates a .charm that has this manifest: started- at: '2021-05- 18T14:15: 12.930507Z'
bases:
- architectures:
- amd64
channel: '20.04'
name: ubuntu
charmcraft-
charmcraft-version: 0.10.0
So Juju should be trying to use charm-base: ubuntu- 20.04 for dex-auth.charm
looking at /jaas.ai/ oidc-gatekeeper
https:/
That looks to be a bit mixed, in that it is a v1 style metadata: /api.jujucharms .com/charmstore /v5/oidc- gatekeeper- 53/archive/ metadata. yaml
https:/
with 'series: kubernetes' but does also have a manifest.yaml: /api.jujucharms .com/charmstore /v5/oidc- gatekeeper- 53/archive/ manifest. yaml
https:/
Which has a very similar architecture stanza.
Can you include the output from 'juju --version' for your client and 'juju status' ?