Murano/发行说明 v0.2
Murano v0.2 是 Murano 的第二个稳定版本。请查看“新增内容”、“改进”、“已修复的错误”和“已知问题”,了解 Murano 版本的详细信息。如果您感兴趣,请参阅 此版本中完整的更改列表。
目录
新增内容
Murano Conductor 中的工作流诊断
已向 XML 工作流定义语言添加了新的标签,以便对工作流执行提供更精确的控制,报告各种错误条件和警告,使规则仅适用一次等。工作流规则已获得描述,并添加了过多的日志记录,以提供任何工作流的详细执行计划。
动态 UI
动态 UI 意味着将表单定义、数据处理逻辑和文本从 Python 代码和 Django 模板移动到人类可读的 YAML 格式中的单独服务定义中。与 Python 代码分离的服务定义在添加、修改和删除服务方面提供了更大的灵活性。格式的简单性允许非程序员使用它:即使服务定义中存在一些错误,它也只是不会显示在服务列表中(并且不会使整个仪表板崩溃)。动态 UI 使用 YAML 进行表单标记,并使用 YAQL(专为 Murano 工作流开发的“又一种查询语言”)进行表单验证和初始化逻辑。
对 REST API 和 RabbitMQ 通信的支持 SSL
为了提高 Murano 的安全性,我们已在我们的组件之间的所有通信级别上添加了对 SSL 的支持。所有组件通过 RabbitMQ 进行通信,现在可以使用 SSL 对此交互进行加密。有关如何 配置 SSL 加密,请参阅我们的开发人员指南。
此外,我们还添加了通过在我们的 REST API 服务中添加对 SSL 端点支持来保护与我们的 API 的所有通信的功能。API HTTPS 配置 也可以在我们的开发人员指南中找到。
选择 Windows 镜像、可用区和实例风味的选项
已向“创建服务”UI 添加一个新的通用对话框步骤,该步骤允许选择实例风味(硬件配置)、Windows 镜像(预创建 Glance 镜像,并带有适当的元数据标签)和可用区(OpenStack 中定义的可用区之一)。Windows 镜像字段是强制选择的,而其他字段可以留空,因此 Conductor 将使用可配置的默认值。
外部 Active Directory
外部 Active Directory 作为 Conductor 的功能扩展实现:在 murano-conductor 服务中启用 ExternalAD.xml 工作流模板后可用。此功能允许使用现有的 Windows 域(应提前配置)使用 Murano 支持的大多数服务。
附加服务
Murano v0.2 支持部署几个新服务:MS SQL Server 单实例和 MS SQL Server Always On 集群。
MS SQL Server
此类型的服务提供每个实例部署 MS SQL Server 2012 的独立模式。
MS SQL Server AlwaysOn 集群
这是所有支持的服务中最复杂的一种。它实际上在底层包含两个服务,即“Active Directory”和“MS SQL Server 集群”。
从高级别来看,服务结构具有以下组件
- Active Directory Windows 域。
- Windows Server 故障转移集群。
- MS SQL Server 独立安装,每个实例一个。
- MS SQL AlwaysOn 可用性组功能。
改进
编写 XML 工作流的详细文档
Murano Workflow XML DSL 规范已创建并在 github.io 上发布。开发人员指南现在包含此部分。
在编写新工作流和修改现有工作流时,应使用此 DSL。
改进 Murano Conductor 的高可用性
Murano 的所有组件现在都是高可用的。Murano-API 是无状态的,因此可以放置在负载均衡器后面。工作流的状态是幂等的,因此,如果 Conductor 失败,辅助 Conductor 将重复未完成部署的操作,而不会产生任何不良副作用。
REST API 变更
为了支持可扩展和可插拔的架构,对 API 规范进行了一些更改
- 服务的通用端点
- 树遍历和集合语法
主要变化是所有服务的通用端点。以前,我们为每个服务都有端点,例如:“/environment/<env_id>/activeDirectories/*”,现在为所有服务引入了单个端点,例如:“/environment/<env_id>/services/*”。
为了使我们的 API 更加用户友好并减少调用和发送的数据量,我们还引入了两个互补功能:树遍历和集合语法。
有关此功能的更多详细信息,请参阅 蓝图。
已修复的错误
可以在 此处 找到 Murano v0.2 中修复的所有错误的完整列表。
需求
可以通过以下 链接 找到 Murano Release 0.2 的实际需求列表。
已知问题
可以在 Murano Launchpad 页面上找到实际的错误状态
- 由于 Heat 的当前限制,涉及负载均衡器创建的服务(农场)只能由租户管理员部署。
- 当 Heat 为 Nova、Cinder 等创建不同的客户端时,它不会将 SSL 相关选项传递给客户端的构造函数。如果 Nova 配置为具有 SSL 端点和自签名证书,Heat 将无法创建实例,因为没有办法禁用服务器证书验证,例如没有传递“insecure”标志等。
- 如果没有 KeyPair,则无法部署农场服务。如果未设置 KeyPair,负载均衡器将不会创建(错误描述链接)。部署将挂起,并且这些消息将显示在日志中
2013-08-06 09:10:07 - Unable to deploy instance ipkrmhk0vzq4b6 (asp-farm_instance_0) due to Unexpected state 2013-08-06 09:10:07 - Unable to create a Server Farm load balancer on unit ipkrmhk0vzq4b6 (asp-farm_instance_0) due to Unexpected state
- 用户可以选择服务的错误参数,例如不兼容的 flavor 和 VM 镜像,或者如果租户资源配额已超出。在这种情况下,用户将在日志中看到以下错误
Unable to deploy instance demo (demo.com_instance_0) due to Unexpected stack state NOT_FOUND
- 使用虚拟 IP 地址作为底层 MS SQL Server 集群。在 OpenStack (Grizzly) 的当前版本中,此功能默认情况下不受支持。
可以通过以下方式处理这种情况