Tìm hiểu về các khái niệm liên quan đến việc định nghĩa Metadata.
1. Metadata definition service
Từ bản Openstack Juno, dịch vụ định nghĩa metadata được thêm vào Glance.
Nó cung cấp một API cho nhà cung cấp, người quản trị, các service và user để định nghĩa các cặp key/value mà có thể được sử dụng trên nhiều loại tài nguyên. Một “định nghĩa”(definition) bao gồm một key thuộc tính, mô tả của nó, các ràng buộc của nó và các loại tài nguyên mà nó có thể liên kết được.
Một “định nghĩa” không mang giá trị cho một thuộc tính cụ thể nào.
Ví dụ một định nghĩa cho cấu trúc CPU ảo để quy định số lượng nhân cho CPU, nó sẽ bao gồm:
- Một khóa (key). Ví dụ:
cpu_cores
- Một mô tả cho định nghĩa
- Một ràng buộc cho giá trị. Ví dụ giá trị phải là một số nguyên dương.
- Và resource type ở đây là vCpu.
Khi user thêm một thuộc tính, key và value của nó sẽ được lưu tại service mà sở hữu tài nguyên được thêm thuộc tính đó(ví dụ nova sẽ lưu thuộc tính các flavor và trong Glance lưu cho các image)
2. Thuật ngữ
Ví dụ về một số ví dụ về các thuật ngữ được sử dụng cho metadata:
Nova | Cinder | Glance |
---|---|---|
Flavor <ul><li>extra specs </ul> Host Aggregate <ul><li>metadata</ul> Server<ul><li>metadata<li>scheduler_hints<li>tags<ul> |
Volume và Snapshot<ul><li>image metadata<li>metadata</ul> VolumeType<ul><li>extra specs<li>qos specs</ul> |
Image và Snapshot<ul><li>properties<li>tags</ul> |
- Namespace chứa các định nghĩa và được liên kết với 0 hoặc nhiều loại tài nguyên và làm cho nó có thể nhìn thấy bởi API/UI để áp dụng định nghĩa đó với đúng loại tài nguyên. ``` A namespace is associated with 0 to many resource types, making it visible to the API / UI for applying to that type of resource. RBAC Permissions are managed at a namespace level.
+———————————————-+ | Namespace | | | | +—————————————–+ | | | Object Definition | | | | | | +——————–+ | | +————————————-+ | | +–> | Resource Type: | | | | Property Definition A (key=integer) | | | | | e.g. Nova Flavor | | | +————————————-+ | | | +——————–+ | | | | | | | +————————————-+ | | | | | | Property Definition B (key=string) | | | | +——————–+ | | +————————————-+ | +–+–> | Resource Type: | | | | | | | e.g. Glance Image | | +—————————————–+ | | +——————–+ | | | | +————————————-+ | | | | Property Definition C (key=boolean) | | | +——————–+ | +————————————-+ | +–> | Resource Type: | | | | e.g. Cinder Volume | +———————————————-+ +——————–+
Properties may be defined standalone or within the context of an object ```
Các thuật ngữ danh mục liên quan đến metadata definition
- Namespaces: Các định nghĩa cho metadata được chứa tại namespace.
- Chỉ định quyền truy cập cho định nghĩa metadata. Cho phép hoặc không cho phép user, project,… định nghĩa và sử dụng định nghĩa. :)) (nguồn ở cuối trang, nếu bạn cảm thấy khó hiểu :))))
- Liên kết định nghĩa với các loại tài nguyên.
- Properties: Tính chất mô tả tính chất và ràng buộc nguyên thủy của nó. Mỗi tính chất chỉ có thể là một loại ràng buộc nguyên thủy: string, interger, number, boolean, array.
- Objects: một object mô tả một nhóm từ một đến nhiều tính chất và ràng buộc nguyên thủy của nó.
- Resource type Association: chỉ định mối quan hệ giữa namespace và loại tài nguyên được áp dụng
Nguồn: https://docs.openstack.org/glance/train/user/metadefs-concepts.html#terminology