管理配置¶
配置类型可以被视为 配置 对象的元类型。当集群服务启动时,会构建一个配置类型注册表。创建 配置 对象时,您将在其 spec 属性中指定使用的配置类型。
列出配置¶
要查看配置列表
def list_profiles(conn):
print("List Profiles:")
for profile in conn.clustering.profiles():
print(profile.to_dict())
for profile in conn.clustering.profiles(sort='name:asc'):
print(profile.to_dict())
在列出配置时,您可以使用 sort 参数指定排序选项,并可以使用 limit 和 marker 参数进行分页。
完整示例:管理配置
创建配置¶
创建配置时,您将提供一个字典,其中键和值根据引用的配置类型指定。
def create_profile(conn):
print("Create Profile:")
spec = {
'profile': 'os.nova.server',
'version': 1.0,
'name': 'os_server',
'properties': {
'name': SERVER_NAME,
'flavor': FLAVOR_NAME,
'image': IMAGE_NAME,
'networks': {'network': NETWORK_NAME},
},
}
profile = conn.clustering.create_profile(spec)
print(profile.to_dict())
可选地,您可以指定一个 metadata 关键字参数,其中包含一些键值对,这些键值对将与配置相关联。
完整示例:管理配置
查找配置¶
要根据其名称或 ID 查找配置
def find_profile(conn):
print("Find Profile:")
profile = conn.clustering.find_profile('os_server')
print(profile.to_dict())
集群服务不允许更新配置的 spec。实现此目的的唯一方法是创建一个新的配置。
完整示例:管理配置
获取配置¶
要根据其名称或 ID 获取配置
def get_profile(conn):
print("Get Profile:")
profile = conn.clustering.get_profile('os_server')
print(profile.to_dict())
完整示例:管理配置
更新配置¶
创建配置后,其大部分属性都是不可变的。不过,您可以更新配置的 name 和/或 metadata。
def update_profile(conn):
print("Update Profile:")
profile = conn.clustering.update_profile('os_server', name='old_server')
print(profile.to_dict())
集群服务不允许更新配置的 spec。实现此目的的唯一方法是创建一个新的配置。
完整示例:管理配置
删除配置¶
创建配置后可以删除它,前提是它未被任何活动集群或节点引用。如果您尝试删除仍在使用的配置,将收到错误消息。
def delete_profile(conn):
print("Delete Profile:")
conn.clustering.delete_profile('os_server')
print("Profile deleted.")