Sahara API 中的对象更新支持¶
https://blueprints.launchpad.net/sahara/+spec/api-for-objects-update
本规范建议添加 API 调用,以允许更新当前无法通过这种方式更新的对象。
问题描述¶
当前的 Sahara API 不支持某些对象的更新,而这些更新可能由其他功能需要(例如,它需要用于稍后将在 ACL 规范中提出的共享和受保护资源实现)。
节点组模板、集群模板、作业二进制文件、数据源已经实现了更新功能,并且应该为集群、作业、作业执行和作业二进制文件内部对象实现更新功能。
提议的变更¶
将为集群、作业、作业执行和作业二进制文件内部对象添加更新操作。
对于集群和作业,目前仅允许更新描述和名称。对于作业二进制文件内部对象,仅允许更新名称。对于作业执行,将不允许更新任何内容,只会添加相应的接口方法。
还将添加对 PATCH HTTP 方法的支持,以修改现有资源。其实现方式与当前的 PUT 方法相同。
替代方案¶
无
数据模型影响¶
无
REST API 影响¶
将添加以下 API 调用
PATCH /v1.1/{tenant_id}/clusters/{cluster_id}
PATCH /v1.1/{tenant_id}/jobs/{job_id}
PATCH /v1.1/{tenant_id}/job-executions/{job_execution_id}
PATCH /v1.1/{tenant_id}/job-binary-internals/{job_binary_internal_id}
其他最终用户影响¶
这些更新方法将添加到 saharaclient API 中。
部署者影响¶
无
开发者影响¶
无
Sahara-image-elements impact¶
无
Sahara-dashboard / Horizon 影响¶
这些更新方法目前不会添加到 Horizon 中,但将在 ACL 规范的一部分中稍后添加。
实现¶
负责人¶
- 主要负责人
apavlov-n
工作项¶
添加 PATCH 方法;
添加新的 API 调用;
将操作添加到 saharaclient;
在 api-ref 中更新文档。
依赖项¶
无
测试¶
将添加 tempest 中的单元测试和 API 测试。
文档影响¶
将在 api-ref 中更新 Sahara REST API 文档。
参考资料¶
无