alcionai / corso

Free, Secure, and Open-Source Backup for Microsoft 365
https://corsobackup.io
Apache License 2.0
185 stars 41 forks source link

OneDrive backup failed: ResourceNotFound User's mysite not found #966

Closed vkamra closed 2 years ago

vkamra commented 2 years ago

Load tests failed with the following error:

=== RUN   TestRepositoryLoadTestOneDriveSuite/TestOneDrive/backup_one_drive
    repository_load_test.go:55: 
            Error Trace:    /home/runner/work/corso/corso/src/pkg/repository/repository_load_test.go:55
            Error:          Received unexpected error:
                            2 errors occurred:
                                * errors prevented the operation from processing
                                * retrieving service data: 1 error occurred:
                                * testevents@8qzvrj.onmicrosoft.com: failed to retrieve user drives. user: testevents@8qzvrj.onmicrosoft.com, details:  ResourceNotFound User's mysite not found.: error status code received from the API
                                *

Test runs with failure: https://github.com/alcionai/corso/actions/runs/3137352957/jobs/5095418592 and https://github.com/alcionai/corso/actions/runs/3132606058/jobs/5085114842

vkamra commented 2 years ago

Repro likely: corso backup create onedrive --user testevents@8qzvrj.onmicrosoft.com

dadams39 commented 2 years ago

User is classified as a member and not a group. Next steps: Create a test to query member that is known not to have a OneDrive collection.

dadams39 commented 2 years ago

Troubleshooting Notes: The following call causes the failure: UsersById(user).Drives().Get(ctx, nil) There are other calls directly to ask about the amount of root children; however, these would fail due to the end point. Checking LicenseDetails() --> service.Client().UsersById(user).LicenseDetails().Get(ctx, nil) produces no results for the failing account.

Need to find a specific call that references the OneDrive

dadams39 commented 2 years ago

Attempted to match on the known SKU for OneDrive

    skuOneDriveBasic      = "da792a53-cbc0-4184-a10d-e544dd34b3c1"
    skuOneDriveStandard   = "13696edf-5a08-49f6-8134-03083ed8ba30"
    skuOneDriveEnterprise = "afcafa6a-d966-4462-918c-ec0b4e0fe642"
    skuOneDriveGovernment = "98709c2e-96b5-4244-95f5-a0ebe139fb8a"

With test user, none of the service plans matched service plan --> pseudo code

details := UsersById(user).LicenseDetails().Get(ctx, nil)
...
item.GetSkuId() // no match
plans := item.GetServicePlans()
...
p.GetServicePlanId() // no match
VIVA_LEARNING_SEEDED
License Match: false
Nucleus
License Match: false
MIP_S_Exchange
License Match: false
MICROSOFT_COMMUNICATION_COMPLIANCE
License Match: false
GRAPH_CONNECTORS_SEARCH_INDEX
License Match: false
Content_Explorer
License Match: false
POWER_VIRTUAL_AGENTS_O365_P3
License Match: false
CDS_O365_P3
License Match: false
PROJECT_O365_P3
License Match: false
INSIDER_RISK
License Match: false
EXCEL_PREMIUM
License Match: false
MTP
License Match: false
MICROSOFT_SEARCH
License Match: false
DYN365_CDS_O365_P3
License Match: false
MICROSOFTBOOKINGS
License Match: false
RECORDS_MANAGEMENT
License Match: false
ML_CLASSIFICATION
License Match: false
INSIDER_RISK_MANAGEMENT
License Match: false
INFO_GOVERNANCE
License Match: false
DATA_INVESTIGATIONS
License Match: false
CUSTOMER_KEY
License Match: false
COMMUNICATIONS_DLP
License Match: false
COMMUNICATIONS_COMPLIANCE
License Match: false
SAFEDOCS
License Match: false
M365_ADVANCED_AUDITING
License Match: false
YAMMER_ENTERPRISE
License Match: false
WHITEBOARD_PLAN3
License Match: false
BPOS_S_TODO_3
License Match: false
SWAY
License Match: false
MCOSTANDARD
License Match: false
SHAREPOINTENTERPRISE
License Match: false
POWERAPPS_O365_P3
License Match: false
BI_AZURE_P2
License Match: false
MCOEV
License Match: false
SHAREPOINTWAC
License Match: false
OFFICESUBSCRIPTION
License Match: false
PAM_ENTERPRISE
License Match: false
THREAT_INTELLIGENCE
License Match: false
ATP_ENTERPRISE
License Match: false
ADALLOM_S_O365
License Match: false
EQUIVIO_ANALYTICS
License Match: false
INTUNE_O365
License Match: false
TEAMS1
License Match: false
STREAM_O365_E5
License Match: false
Deskless
License Match: false
PROJECTWORKMANAGEMENT
License Match: false
EXCHANGE_ANALYTICS
License Match: false
INTUNE_A
License Match: false
FORMS_PLAN_E5
License Match: false
ADALLOM_S_STANDALONE
License Match: false
MFA_PREMIUM
License Match: false
RMS_S_ENTERPRISE
License Match: false
MIP_S_CLP1
License Match: false
MIP_S_CLP2
License Match: false
FLOW_O365_P3
License Match: false
EXCHANGE_S_ENTERPRISE
License Match: false
LOCKBOX_ENTERPRISE
License Match: false
RMS_S_PREMIUM2
License Match: false
RMS_S_PREMIUM
License Match: false
ATA
License Match: false
AAD_PREMIUM_P2
License Match: false
AAD_PREMIUM
License Match: false
EXCHANGE_S_FOUNDATION
License Match: false
DYN365_CDS_VIRAL
License Match: false
FLOW_P2_VIRAL
License Match: false