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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions