App-Catalog
目录
已不再提供服务
OpenStack 社区应用目录 (http://apps.openstack.org) 已移除,详情请参阅 [1]。 此页面的其余部分保留,供参考。
使命
OpenStack 社区应用目录 (http://apps.openstack.org) 将帮助您在 OpenStack 云上提供应用程序,通过提供社区驱动的目录,其中包含 Glance 镜像、Heat 模板和 Murano 应用程序。
通过提供一个公共位置,OpenStack 用户可以在其中发布和使用工件来共享和添加其他功能,所有 OpenStack 云都将变得更有价值。 例如,供应商可以发布用于启动新 VM 的 Glance 镜像,用于创建新堆栈的 Heat 模板,或用于安装完整应用程序的 Murano 应用包。 当许多 OpenStack 社区成员发布用户可以轻松下载和安装到其云中的工件时,这将使他们的 OpenStack 云的价值倍增。 轻松访问镜像、模板和应用程序将解决一些用户在成功部署 OpenStack 环境后考虑的“接下来该怎么办”的问题。
常见问题解答
问:社区应用目录是什么?
社区应用目录是可立即部署到您的 OpenStack 云中的即用型应用程序、Heat 模板和虚拟机镜像的集合。 通过该目录(目前处于 Beta 版),您无需收集要部署的应用程序和服务的各个部分,弄清楚它们的详细基础设施设置,或创建脚本来处理它们的依赖关系。 例如,要部署 Murano 应用程序,只需浏览并选择您需要的应用程序,然后将名称复制到您的 OpenStack 环境中的 Murano 中。 然后单击几个参数,您的应用程序就部署完成了
问:我可以在其中找到什么?
该目录包含有用的应用程序和组件,可用于您的 OpenStack 云,并预配置了部署和运行它们所需的设置
- Murano 应用程序包:完整的应用程序,可以是商业的或开源的,可以部署到您的云上(也称为“Murano 包”)
- Heat 模板:用于编排基础设施服务(网络、VM、存储等)以在您的云上创建完整堆栈的 YAML 文件
- Glance 镜像:带有 VM 和可引导操作系统的可挂载文件,可准备在您的云上启动
- 应用程序包:应用程序、Heat 模板和 Glance 镜像的组合,预配置在一起以进行部署
问:它需要多少费用?
从应用目录中获取或放入任何内容都不收费。 目录中的项目包括免费软件和许可软件,其中一些可能需要付款或特定的许可条款。 您将在每个特定包中看到这些信息。
问:如何更新我已放入目录的内容?
- 克隆 https://git.openstack.org/openstack/app-catalog
- 修改您的条目,请务必包含更改内容和原因
- 如果您正在更新二进制内容,请确保您的提交消息指向可以找到更新的二进制文件的位置。
- 提交更改以供审核
- 更改将经过审核,并在一两天内合并并发布到目录
Horizon 插件用于原生访问
社区应用目录在 https://git.openstack.org/openstack/app-catalog-ui 上提供 Horizon 插件。 当将其包含在您的 Horizon 部署中时,应用目录的内容将在 Horizon 面板的“目录”下可用。 用户可以从那里搜索目录并轻松单击“安装”按钮以在本地提供资源。
如何使用这些资源
Glance 镜像
在 Glance 镜像中,您将找到一个预配置镜像库,可以准备在您的云上启动虚拟机。 要使用它们
- 浏览列表并找到您想要的镜像
- 复制镜像文件的 URL
- 使用 Glance 客户端 使用 --copy-from 选项将其添加到您的云中,或者通过指定 URL 作为镜像位置从 Horizon 添加镜像。
- 使用 Nova 从新镜像启动 vm
Heat 模板
在 Heat 模板中,您将找到用于在您的云中创建完整堆栈的模板。 要使用它们
- 浏览列表并找到您想要的镜像
- 将模板 yaml 文件下载到您的本地机器
- 使用 Heat 客户端 或 Horizon 将模板添加到您的云中
- 使用 Heat 客户端创建堆栈
Murano 包
在 Murano 包中,您将找到完整的应用程序,简单和集群,可以准备部署到您的云上。 要使用它们
- 验证您是否已安装 Murano
- 浏览列表并找到您想要的应用程序包
- 复制应用程序包的名称
- 在 Horizon 中导航到应用程序目录 | 包页面,然后单击下载包
- 粘贴应用程序包名称,然后单击下载
- 您现在可以使用 Horizon 或 Murano 客户端 将应用程序部署到您的云中
如何贡献
OpenStack 社区应用目录旨在与 OpenStack 其他项目使用相同的提交和审核工具。 因此,我们遵循 OpenStack 开发工作流程。 新贡献者应遵循 入门 步骤,因为需要 Launchpad ID 和已签名的贡献者许可才能添加新条目。
社区应用目录 Launchpad 页面可以在 https://launchpad.net/app-catalog 上找到。
提供了一个 gerrit 审核仪表板,方便贡献者/审核者使用。
我们还使用 IRC 进行沟通,请加入 Freenode 上的 #openstack-app-catalog。 该频道已记录,对话可以在 http://eavesdrop.openstack.org/irclogs/%23openstack-app-catalog/ 上找到
每周会议
参与或对社区应用目录感兴趣的人员鼓励参加每周会议。 会议安排在每周四 17:00 UTC 在 #openstack-meeting-3 上举行 (http://eavesdrop.openstack.org/#App_Catalog_Team_Meeting)。 议程可以在这里找到:https://wiki.openstack.org/wiki/Meetings/app-catalog#Agenda
创建内容
我们积极鼓励新的提交 - 如果您有兴趣为目录创建内容,可以在以下链接找到入门指南
- 创建 Glance 镜像:https://docs.openstack.org/image-guide/content/ch_creating_images_manually.html
- 创建 Heat 模板:https://docs.openstack.org/developer/heat/template_guide/hot_guide.html
- 创建 Murano 包:http://murano.readthedocs.org/en/latest/
添加内容
如果您已经有要共享的内容,请按照以下步骤将条目添加到目录
- 克隆 https://git.openstack.org/openstack/app-catalog
- 编辑 assets YAML 文件(位于 openstack_catalog/web/static/assets.yaml 中)。 YAML 文件会针对 assets.schema.yaml YAML 模式文件进行验证,该文件位于同一目录中。 OpenStack gate 会检查文件是否符合模式,因此请确保添加的内容与模式匹配。
- 确保测试通过 - 运行 "tox -epy27"
- 确保您的编辑看起来不错 - 运行 "./run_tests.sh --runserver",然后访问 https://:18001
- 提交条目以供审核时,如果它包含打算托管在 storage.apps.openstack.org 上的二进制文件,则提交消息必须包括目录条目名称、检索资产的 URL 以及 md5 总和。
- 例如,如果您想添加名为“MyLAMPStack.zip”的 Murano 包,则提交消息必须显示可以检索该资产的位置以及 SHA 或 md5 哈希值
- url: http://<your-hostname>/MyLAMPStack.zip
- hash: 7237de38ebf827e234ca643b725779e4f38f0ef0
- [可选] 如果图像旨在存储在 OpenStack CDN 上,则 Glance 图像 URL 和哈希值也必须以类似的方式包含在提交消息中,如下例所示 注意:Glance 条目的图像检查 gate 测试不具有投票权,因此如果它失败,您可以安全地忽略它)
- Image-URL: http://<your-hostname>/images/ubuntu-14.04-m-agent.qcow2
- Image-hash: cbd9ded8587b98d144d9cf0faea991a9
- 例如,如果您想添加名为“MyLAMPStack.zip”的 Murano 包,则提交消息必须显示可以检索该资产的位置以及 SHA 或 md5 哈希值
更新内容
如果您已将资产添加到目录,然后需要更新它,可以遵循与添加内容相同的审核流程。 这适用于更新二进制资产的哈希值或更改 URL(如果 URL 已更改)之类的事情。
如果您正在更新与存储在 OpenStack CDN 上的二进制文件相关的资产,则应提交审核以更新 assets.yaml 中的哈希条目,并在提交消息中包含检索二进制文件的 URL 以传输到 http://storage.apps.openstack.org。
Glance 条目的结构
Glance 条目会针对在 app-catalog 存储库中找到的 openstack_catalog/web/static/assets.schema.yaml 文件进行验证。 例如,Debian glance 条目的格式如下
name: Debian Jessie 8.0.0 x64
tags: ['app']
provided_by:
name: Debian
href: http://debian.org
company: Debian Community
description: >
Debian is a Unix-like computer operating system
and a Linux distribution that is composed entirely
of free and open-source software, most of which is
under the GNU General Public License, and packaged
by a group of individuals known as the Debian
project.
This is a Debian Stable 8.0.0 (aka Jessie) official
base image with cloud_init, cloud-utils, and
cloud-initramfs-growroot pre-installed.
service:
type: glance
disk_format: qcow2
container_format: bare
icon:
url: https://www.debian.org/logos/openlogo-nd-100.jpg
top: 0
left: 10
height: 124
license: Multi-licensed OpenSource
hash: 0fcf78a066da0fe489b61176eba11f12e55f60081556693a0c5652d1acfbda57
attributes:
url: http://cdimage.debian.org/cdimage/openstack/archive/8.0.0/debian-8.0.0-openstack-amd64.qcow2
“attributes”部分可以包含其他元素。 “attributes”没有预定义的结构,它们唯一的条件是必须是 YAML 有效的条目。 因此,在上面的示例中,将“url”更改为“图像 URL”仍然可以正确地将其渲染为链接。 请随时添加文档链接(如果有任何关于图像的文档)。
Heat 条目的结构
Heat 条目会针对在 app-catalog 存储库中找到的 openstack_catalog/web/static/assets.schema.yaml 文件进行验证。 Heat 条目的示例格式如下
name: Chef - Standalone Server
tags: ['app']
provided_by:
name: Chef
href: https://chef.io/openstack
company: Chef
service:
type: heat
format: HOT
description: >
This is a template to build a Standalone Chef server instance.
It uses Ubuntu 14.04 as the base image to build it.
Documentation on how to install it located here:
http://docs.chef.io/server/install_server.html
If you would like more details on how to configure the image
please take a look at the https://github.com/chef-partners/chef-heat-templates/blob/master/README.md.
release:
- Kilo
supported_by:
name: Community and Chef Partner Engineering
icon:
url: http://apps.openstack.org/static/images/Chef-124x90-logo.png
top: 5
left: -45
height: 170
license: Apache 2.0
attributes:
url: https://raw.githubusercontent.com/chef-partners/chef-heat-templates/master/single_chef_server-HOT.yml
Murano 条目的结构
Murano 条目会针对在 app-catalog 存储库中找到的 openstack_catalog/web/static/assets.schema.yaml 文件进行验证。 Murano 条目的示例格式如下
name: Apcera
tags: ['app']
provided_by:
name: Austin Mills
href: "mailto:austin@apcera.com"
company: Apcera, Inc.
description: >
Apcera Hybrid Cloud Operating System (HCOS) delivers seamless workload
mobility and pervasive policy and governance across any cloud - public
or private. Built on a foundation of trust, Apcera HCOS enables you to
securely develop, deploy, orchestrate and govern diverse workloads
across multiple cloud providers resulting in lower cost, simplified
operations and assured compliance.
service:
type: murano
format: package
package_name: com.apcera.Apcera
release:
- Kilo
license: Unknown
depends:
- name: Apcera HCOS Trial Edition
hash: 1055116f26f2ea36a51217ab33ddec3f
attributes:
"Package URL": "http://storage.apps.openstack.org/apps/com.apcera.Apcera.zip"

