Skip to content

ceph-radosgw Overlay Fails to Resolve Name in URL #341

@bryanfraschetti

Description

@bryanfraschetti

Generating a bundle with --ceph-rgw fails as follows:

./generate-bundle.sh -s jammy -r yoga -n ost --default-binding oam --openstack-dashboard --octavia --ceph --glance-simplestreams-swift --run

Juju model 'ost' already exists and is the current context - skipping create

INFO: maas provider detected - enabling hyperconverged deployment
Created jammy-yoga bundle and overlays:
  + openstack/glance.yaml
  + openstack/keystone.yaml
  + openstack/openstack-dashboard.yaml
  + openstack/octavia-ovn.yaml
  + openstack/octavia.yaml
  + openstack/octavia-dashboard.yaml
  + openstack/octavia-diskimage-retrofit.yaml
  + openstack/octavia-diskimage-retrofit-glance.yaml
  + openstack/octavia-ovn-provider.yaml
  + ceph/ceph.yaml
  + openstack/openstack-ceph.yaml
  + openstack/neutron-ovn.yaml
  + vault.yaml
  + openstack/vault-openstack-certificates.yaml
  + openstack/vault-openstack-certificates-octavia.yaml
  + openstack/vault-openstack-certificates-placement.yaml
  + openstack/vault-openstack-certificates-openstack-dashboard.yaml
  + ceph/vault-ceph.yaml
  + openstack/neutron-ml2dns.yaml
  + mysql-innodb-cluster.yaml
  + mysql-innodb-cluster-router.yaml
  + openstack/placement.yaml
  + openstack/glance-simplestreams-sync.yaml
  + ceph/ceph-rgw.yaml

Command to deploy:
juju deploy     /home/ubuntu/stsstack-bundles/openstack/b/ost/openstack.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/glance.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/keystone.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/openstack-dashboard.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/octavia-ovn.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/octavia.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/octavia-dashboard.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/octavia-diskimage-retrofit.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/octavia-diskimage-retrofit-glance.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/octavia-ovn-provider.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/ceph/ceph.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/openstack-ceph.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/neutron-ovn.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/vault.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/vault-openstack-certificates.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/vault-openstack-certificates-octavia.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/vault-openstack-certificates-placement.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/vault-openstack-certificates-openstack-dashboard.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/ceph/vault-ceph.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/neutron-ml2dns.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/mysql-innodb-cluster.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/mysql-innodb-cluster-router.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/placement.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/openstack/glance-simplestreams-sync.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/o/ceph/ceph-rgw.yaml --overlay /home/ubuntu/stsstack-bundles/openstack/b/ost/unit-placement.yaml 
 
ERROR cannot deploy bundle: the provided bundle has the following errors:
empty charm path
invalid charm URL in application "ceph-radosgw": cannot parse name and/or revision in URL "": name "" not valid
too many units specified in unit placement for application "ceph-radosgw"
/home/ubuntu/stsstack-bundles/openstack/common/generate_bundle_base: line 233: pop_var_context: head of shell_variables not a function context

It seems to be because in the overlay openstack/ceph/ceph-rgw.yaml, the application is defined as ceph-rgw, which differs from the charm name. The deployment succeeds when changing it to ceph-radosgw (and then also modifying the relations to reflect that name change) as follows:

# Variables
debug:                      &debug                     True
verbose:                    &verbose                   True
openstack_origin:           &openstack_origin          __OS_ORIGIN__
source:                     &source                    __SOURCE__
loglevel:                   &loglevel                  1
ssl_ca:                     &ssl_ca                    __SSL_CA__
ssl_cert:                   &ssl_cert                  __SSL_CERT__
ssl_key:                    &ssl_key                   __SSL_KEY__

applications:
  ceph-radosgw:
    charm: __CHARM_STORE____CHARM_CS_NS____CHARM_CH_PREFIX__ceph-radosgw
    num_units: __NUM_CEPH_RGW_UNITS__
    constraints: mem=1G
    options:
      loglevel: *loglevel
      source: *source
      ssl_ca: *ssl_ca
      ssl_cert: *ssl_cert
      ssl_key: *ssl_key
relations:
  - [ ceph-radosgw, keystone ]
  - [ ceph-radosgw, __CEPH_INTERFACE__ ]

Curious if someone else can reproduce this and I'll open a PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions