Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DataStore::physical_disk_update_policy() doesn't update time_modified #7502

Open
jgallagher opened this issue Feb 7, 2025 · 0 comments · May be fixed by #7286
Open

DataStore::physical_disk_update_policy() doesn't update time_modified #7502

jgallagher opened this issue Feb 7, 2025 · 0 comments · May be fixed by #7286

Comments

@jgallagher
Copy link
Contributor

While investigating #7501, we found a disk that claimed to be expunged 11 months ago:

root@[fd00:1122:3344:105::3]:32221/omicron> select * from physical_disk where serial = 'A084A5EE';
                   id                  |         time_created          |         time_modified         | time_deleted | rcgen | vendor |  serial  |      model      | variant |               sled_id                | disk_policy |   disk_state
---------------------------------------+-------------------------------+-------------------------------+--------------+-------+--------+----------+-----------------+---------+--------------------------------------+-------------+-----------------
  0bffef3c-56b1-4b01-b897-161bbf766bea | 2023-08-30 18:57:23.655377+00 | 2024-03-27 21:18:20.906665+00 | NULL         |     1 | 1b96   | A084A5EE | WUS4C6432DSP3X3 | u2      | 0c7011f7-a4bf-4daf-90cc-1c2410103300 | expunged    | decommissioned
(1 row)

but subsequent digging found that it was actually expunged a few days ago:

2025-02-03 07:04:17.560Z DEBG 20b100d0-84c3-4119-aa9b-0c632b0b6a3a/11421 (dropshot_internal) on oxz_nexus_20b100d0-84c3-4119-aa9b-0c632b0b6a3a: authorize result
    action = Modify
    actor = Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002, .. })
    actor_id = 001de000-05e4-4000-8000-000000000002
    authenticated = true
    local_addr = [fd00:1122:3344:104::3]:12221
    method = POST
    remote_addr = [fd00:1122:3344:108::2]:34294
    req_id = c2350d2d-86b1-4232-b3f4-b5a139d2c4f9
    resource = PhysicalDisk { parent: Fleet, key: 0bffef3c-56b1-4b01-b897-161bbf766bea (physical_disk), lookup_type: ById(0bffef3c-56b1-4b01-b897-161bbf766bea) }
    result = Ok(())
    uri = /physical-disk/expunge
2025-02-03 07:04:17.612Z INFO 20b100d0-84c3-4119-aa9b-0c632b0b6a3a/11421 (dropshot_internal) on oxz_nexus_20b100d0-84c3-4119-aa9b-0c632b0b6a3a: request completed
    file = /home/build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dropshot-0.15.1/src/server.rs:867
    latency_us = 73067
    local_addr = [fd00:1122:3344:104::3]:12221
    method = POST
    remote_addr = [fd00:1122:3344:108::2]:34294
    req_id = c2350d2d-86b1-4232-b3f4-b5a139d2c4f9
    response_code = 204
    uri = /physical-disk/expunge

physical_disk_update_policy() only updates disk_policy; it should also update time_modified.

@andrewjstone andrewjstone linked a pull request Feb 8, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant