Provider VDC creation fails with error: Could not find the wildcard storage profile
search cancel

Provider VDC creation fails with error: Could not find the wildcard storage profile

book

Article ID: 395911

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

While attempting to create a Provider VDC in VMware Cloud Director, the operation fails with the following error message: Error: [1b43b7f5-76fd-4406-8046-c07984f74c81] Could not find the wildcard storage profile

The failure was observed during the Provider VDC creation workflow. The container-debug.log file recorded a FATAL error message indicating an "unrecoverable error" caused by a missing wildcard storage profile (*).

Stack trace pointed to a failure in the StorageFabricImpl.getWildcardStorageClass() method.

2025-04-23 14:10:27,597 | FATAL    | task-service-activity-pool-164 | TaskActivity                   | [Activity Execution] Encountered unrecoverable error in com.vmware.vcloud.backendbase.management.system.TaskActivity- Handle: urn:uuid:<uuid>, Current Phase: TaskActivity$ExecutePhase | requestId=<request-id>,request=POST https://<vcd-fqdn>/api/admin/extension/providervdc/storageProfiles,requestTime=1745381427135,remoteAddress=##.##.##.##:11984,,task=<task-uuid> activity=(com.vmware.vcloud.backendbase.management.system.TaskActivity,)
java.lang.InternalError: Could not find the wildcard storage profile
        at com.vmware.vcloud.fabric.storage.impl.StorageFabricImpl.getWildcardStorageClass(StorageFabricImpl.java:363)

Environment

VMware Cloud Director (vCD) 10.x

Cause

The wildcard storage class (*) is missing from the storage_class table in the vCD database. This default entry is normally created during vCD installation or upgrade. Without it, vCD cannot proceed with operations that rely on default or unspecified storage profiles.

Resolution

Note: It is recommended to take a snapshot of the vCD Cells before proceeding with the following steps.

Proceed with the steps below to manually add the missing entry:

SSH into the vCD cell.

Switch to the PostgreSQL user:

sudo -i -u postgres

Access the vCD database (replace vcloud with the actual DB name if different):

psql -d vcloud

Run the below query to check the table storage_class to find the wildcard /(Any) /(*) storage class:

select * from storage_class;

Run the following SQL query to insert the missing entry:

INSERT INTO storage_class (id, name) VALUES ('47e3e07e3a7a4a3591a94c9b469ba1c5', '*');

Note: The UUID 47e3e07e3a7a4a3591a94c9b469ba1c5 is same to the instance named '*'

Verify if this is added by running the below query(below is the example output):

select * from storage_class;

db=# select * from storage_class;
                  id                  |         name         | version_number
--------------------------------------+----------------------+----------------
 47e3e07e-3a7a-4a35-91a9-4c9b469ba1c5 | *                    |             10

Exit the DB session and retry creating the Provider VDC from the vCD UI.