juju / charmstore

The charm store server.
http://gopkg.in/juju/charmstore.v5
GNU Affero General Public License v3.0
15 stars 37 forks source link

Unable to push bundle with kubernetes-service-annotations YAML entry to charm store #869

Open knkski opened 5 years ago

knkski commented 5 years ago

I have a bundle that contains this bit of YAML:

options:
  kubernetes-service-annotations: {...} # Some k8s-specific YAML

It works great when deploying locally with juju deploy ./bundle.yaml, but fails when pushing up to the charm store:

$ charm push . cs:~kubeflow-charmers/kubeflow
ERROR cannot post archive: bundle verification failed: ["cannot validate application \"kubeflow-jupyterhub\": configuration option \"kubernetes-service-annotations\" not found in charm \"cs:~kubeflow-charmers/kubeflow-jupyterhub\"","cannot validate application \"kubeflow-tf-job-dashboard\": configuration option \"kubernetes-service-annotations\" not found in charm \"cs:~kubeflow-charmers/kubeflow-tf-job-dashboard\""]
rogpeppe commented 5 years ago

i suspect it's about the fact that cs:~kubeflow-charmers/kubeflow-jupyterhub is a gated charm, and that bundle checking verifies based on the latest public revision when no revision is explicitly specified.

I'm not sure it could reasonably do otherwise, because it can't necessarily assume that the user pushing the bundle has the same permissions as the user that will use it.

Could you try specifying exact charm revisions in the bundle and see if that fixes the issue?

knkski commented 5 years ago

I've tried making the charms public (both stable and edge for kubeflow-jupyterhub), and specifying particular revisions, neither of which seemed to work.

knkski commented 5 years ago

@rogpeppe: I've removed the annotations in bundle.yaml in favor of setting up the annotations in pod-set-spec that @wallyworld just added support for, and the push works great.