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
feat: Migrate container registries from etcd
to postgreSQL
#1917
base: main
Are you sure you want to change the base?
Conversation
51b64c8
to
497bc32
Compare
etcd
to postgreSQL
etcd
to postgreSQL
etcd
to postgreSQL
ecff04f
to
d8a29c4
Compare
e6d9ef0
to
127221c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Current implementation does not have a flag field at container_registry
table which should indicate if this registry is available for every users. Please update the branch accordingly.
src/ai/backend/manager/models/alembic/versions/1d42c726d8a3_add_container_registry_tables.py
Outdated
Show resolved
Hide resolved
|
||
maybe_registries = queue.sync_q.get() | ||
|
||
if isinstance(maybe_registries, Exception): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is any unhandled exception inside asyncio.run()
stored as a queue item?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The exception is stored in the queue only when the backup method fails currently.
Should we catch all exceptions occurring in the thread and put them into the queue?
src/ai/backend/manager/models/alembic/versions/1d42c726d8a3_add_container_registry_tables.py
Outdated
Show resolved
Hide resolved
src/ai/backend/manager/models/alembic/versions/1d42c726d8a3_add_container_registry_tables.py
Outdated
Show resolved
Hide resolved
src/ai/backend/manager/models/alembic/versions/1d42c726d8a3_add_container_registry_tables.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some comments about typing
9891e05
to
9fd2e2a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a little suggestion about type hint in is_known_registry()
. How about accepting only dict
(or Mapping
) type as known_registries
parameter?
Please enlighten me how the known_registries
looks like in list type and dict type
Note: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good!
in the future, we can apply more strict typing about container image data such as ImageRef
, ImageRegistry
or ContainerRegistry
etc, and revamp codes
…stry_info` -> `get_container_registry_info`
20be322
to
ea2ea64
Compare
etcd
to postgreSQL
etcd
to postgreSQL
560c2e7
to
9cbb0c3
Compare
I am postponing milestone to 24.09. We managed to meet our internal deadline for per-user image customization feature (#1973). From now on, at this PR, let's focus on forming concrete definitions and stabilizing things rather than rushing for the merge approval. |
Checklist: (if applicable)
Resolves #1907.
Changes
etcd
toPostgreSQL
ContainerRegistry
graphql API argument fromhostname
toid (UUID)
hostname
is changed intoregistry_name
is_global
column to theContainerRegistry
table