Help Center> ModelArts> Troubleshooting> General Issues> Incorrect OBS Path on ModelArts
Updated on 2024-06-15 GMT+08:00

Incorrect OBS Path on ModelArts

Symptom

  • When an OBS bucket path is used in ModelArts, a message indicating that the created OBS bucket cannot be found or message "ModelArts.2791: Invalid OBS path" is reported.
  • "Error: stat:403" is reported when you perform operations on an OBS bucket.
  • "Permission denied" is reported when a file is downloaded from OBS to Notebook.

Possible Causes

  • The OBS bucket and ModelArts are in different regions.
  • You do not have access to OBS buckets of other users.
  • Access authorization has not been configured on ModelArts.
  • Encrypted files are to upload to OBS. ModelArts does not support encrypted OBS files.
  • The permissions and access control lists (ACLs) of the OBS bucket are incorrectly configured.
  • When a training job is created, the code directory and boot file are configured incorrectly.

Solution

Check whether the OBS bucket and ModelArts are in the same region.

  1. Check the region where the created OBS bucket is located.
    1. Log in to OBS management console.
    2. On the Buckets page, enter the name of created OBS bucket in the search box or locate the bucket in the Bucket Name column.

      In the Region column, view the region where the created OBS bucket is located.

  2. Check the region where ModelArts is deployed.

    Log in to the ModelArts management console and view the region where ModelArts is located in the upper left corner.

  3. Check whether the region of the created OBS bucket is the same as that of ModelArts. Ensure that they are the same.

Check whether you have the permission to access the OBS bucket.

Check whether you have the permission to access OBS buckets of other users from a notebook instance.

Check delegation authorization.

Go to the Global Configuration page and check whether you have the OBS access authorization. If you do not, see Configuring Access Authorization (Global Configuration).

Check whether the OBS bucket is encrypted.

  1. Log in to the OBS management console and click the bucket name to go to the Overview page.
  2. Ensure that default encryption is disabled for the OBS bucket. If the OBS bucket is encrypted, click Default Encryption and disable it.

    When you create an OBS bucket, do not select Archive or Deep Archive. Otherwise, training models will fail.

    Figure 1 Bucket encryption status

Check whether the OBS file is encrypted.

  1. Log in to the OBS management console and click the bucket name to go to the Overview page.
  2. In the navigation pane on the left, choose Objects. The object list is displayed. Click the name of the object that stores files and find the target file. In the Encrypted column of the file list, check whether the file is encrypted. File encryption cannot be canceled. In this case, cancel bucket encryption and upload images or files again.

Check the ACLs of the OBS bucket.

  1. Log in to the OBS management console and click the bucket name to go to the Overview page.
  2. In the navigation pane, choose Permissions and click Bucket ACLs. Then, check whether the current account has the read and write permissions. If it does not, contact the bucket owner to obtain the permissions.
  3. In the navigation pane on the left, choose Permissions > Bucket Policy, and check whether the current OBS bucket can be accessed by IAM users.

Check the code directory and boot file of a training job.

  1. Log in to the ModelArts management console, choose Training Management > Training Jobs, locate the failed training job, and click its name or ID to go to the job details page.
  2. In the pane on the left, check whether the code directory and startup file are correct, and ensure that the OBS file name does not contain spaces.
    • Select an OBS directory for code directory. If a file is selected, the system will display a message indicating an invalid OBS path.
    • The boot file must be in the .py format. Otherwise, the system will display a message indicating an invalid OBS path.
    Figure 2 Code Directory and Boot File of a training job

If the fault persists, see Why Can't I Access OBS (403 AccessDenied) After Being Granted with the OBS Access Permission? for further troubleshooting.