跳转到: 导航, 搜索

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 镜像的组合,预配置在一起以进行部署


问:它需要多少费用?

从应用目录中获取或放入任何内容都不收费。 目录中的项目包括免费软件和许可软件,其中一些可能需要付款或特定的许可条款。 您将在每个特定包中看到这些信息。


问:如何更新我已放入目录的内容?

  1. 克隆 https://git.openstack.org/openstack/app-catalog
  2. 修改您的条目,请务必包含更改内容和原因
  3. 如果您正在更新二进制内容,请确保您的提交消息指向可以找到更新的二进制文件的位置。
  4. 提交更改以供审核
  5. 更改将经过审核,并在一两天内合并并发布到目录

Horizon 插件用于原生访问

社区应用目录在 https://git.openstack.org/openstack/app-catalog-ui 上提供 Horizon 插件。 当将其包含在您的 Horizon 部署中时,应用目录的内容将在 Horizon 面板的“目录”下可用。 用户可以从那里搜索目录并轻松单击“安装”按钮以在本地提供资源。

App-catalog-ui-apps-v1.png

App-catalog-ui-components-v1.png

如何使用这些资源

Glance 镜像

在 Glance 镜像中,您将找到一个预配置镜像库,可以准备在您的云上启动虚拟机。 要使用它们

  1. 浏览列表并找到您想要的镜像
  2. 复制镜像文件的 URL
  3. 使用 Glance 客户端 使用 --copy-from 选项将其添加到您的云中,或者通过指定 URL 作为镜像位置从 Horizon 添加镜像。
  4. 使用 Nova 从新镜像启动 vm

Heat 模板

在 Heat 模板中,您将找到用于在您的云中创建完整堆栈的模板。 要使用它们

  1. 浏览列表并找到您想要的镜像
  2. 将模板 yaml 文件下载到您的本地机器
  3. 使用 Heat 客户端 或 Horizon 将模板添加到您的云中
  4. 使用 Heat 客户端创建堆栈

Murano 包

在 Murano 包中,您将找到完整的应用程序,简单和集群,可以准备部署到您的云上。 要使用它们

  1. 验证您是否已安装 Murano
  2. 浏览列表并找到您想要的应用程序包
  3. 复制应用程序包的名称
  4. 在 Horizon 中导航到应用程序目录 | 包页面,然后单击下载包
  5. 粘贴应用程序包名称,然后单击下载
  6. 您现在可以使用 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

创建内容

我们积极鼓励新的提交 - 如果您有兴趣为目录创建内容,可以在以下链接找到入门指南

添加内容

如果您已经有要共享的内容,请按照以下步骤将条目添加到目录

  1. 克隆 https://git.openstack.org/openstack/app-catalog
  2. 编辑 assets YAML 文件(位于 openstack_catalog/web/static/assets.yaml 中)。 YAML 文件会针对 assets.schema.yaml YAML 模式文件进行验证,该文件位于同一目录中。 OpenStack gate 会检查文件是否符合模式,因此请确保添加的内容与模式匹配。
  3. 确保测试通过 - 运行 "tox -epy27"
  4. 确保您的编辑看起来不错 - 运行 "./run_tests.sh --runserver",然后访问 https://:18001
  5. 提交条目以供审核时,如果它包含打算托管在 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

更新内容

如果您已将资产添加到目录,然后需要更新它,可以遵循与添加内容相同的审核流程。 这适用于更新二进制资产的哈希值或更改 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"