The METADATA procedure fails with "ERROR: Library I0000004 does not exist"


Attempts to create an External Identity for user or group defined in metadata fail with the following error:

ERROR: The I/O subsystem returned error message '
ERROR: Library I0000004 does not exist.' while attempting to create the extrnldn container in the Foundation repository.

This error can occur from any of the following:

Cause

This failure occurs because the underlying table that stores external identity information does not exist in the Foundation repository.

Workaround

To work around this issue, complete the following steps: 

1. Restart the metadata server primary node as a single node, as described in Using Scripts to Operate SAS Servers Individually:

./MetadataServer.sh -startNoCluster 

2. Log on to SAS Management Console as the unrestricted user sasadm@saspw.

3. Create a new external identity for a user, as described in Include a User in Batch Synchronization. 

4. Save this change and verify that it persisted. This step proves that the underlying table has been created.

5. At this point, you can delete the external identity if you want.

6. Take an adhoc metadata backup, as described in SAS Metadata Server Backup Tasks.

7. Stop the metadata server

8. Restart each node in the metadata server cluster with the -recover option, as described in Using Scripts to Operate SAS Servers Individually: 

./MetadataServer.sh -recover 

9. Restart the rest of your environment.