跳转到主要内容

安装OpenStack的实用工具

项目描述

此实用工具可用来在基于Red Hat的操作系统上安装OpenStack。有关如何为Packstack做出贡献的详细信息,请参阅https://wiki.openstack.org/wiki/Packstack。有关Packstack社区参与的更多信息,请参阅https://openstack.redhat.com/Get_involved

此实用工具可用于在单个或一组主机(通过ssh)上安装OpenStack。

此实用工具仍处于早期阶段,许多配置选项尚未添加。

packstack的安装

$ yum install -y git
$ git clone git://github.com/openstack/packstack.git
$ cd packstack && sudo python setup.py install

Puppet模块的安装(如果从源运行packstack,则必需)

$ export GEM_HOME=/tmp/somedir
$ gem install r10k
$ sudo -E /tmp/somedir/bin/r10k puppetfile install -v
$ sudo cp -r packstack/puppet/modules/packstack /usr/share/openstack-puppet/modules

选项1(一站式)

$ packstack --allinone

这将将在单个主机上安装所有OpenStack服务,而无需提示任何配置信息。这将生成一个“answers”文件(packstack-answers-<date>-<time>.txt),其中包含用于安装的所有值。

如果您需要重新运行packstack,则必须使用--answer-file选项,以便packstack使用正确的密码和其他认证凭据值

$ packstack --answer-file packstack-answers-<date>-<time>.txt

选项2(使用答案文件)

$ packstack --gen-answer-file=ans.txt

然后编辑ans.txt,例如。

  • CONFIG_SSH_KEY设置为要安装到远程机器上的公钥ssh密钥

  • 编辑IP地址,以便在另一台服务器上安装OpenStack的一部分

  • 根据您的配置情况编辑3个网络接口

    $ packstack –answer-file=ans.txt

选项3(提示配置选项)

$ packstack

这就完成了,如果一切顺利,您现在可以开始使用OpenStack了

$ cd
$ . keystonerc_admin
$ nova list
$ swift list  # if you have installed swift

配置选项

  • CONFIG_NOVA_COMPUTE_HOSTS :

    • 安装nova compute的ip地址列表,以逗号分隔

  • CONFIG_SWIFT_STORAGE_HOSTS :

    • 以逗号分隔的swift存储设备列表

      • 1.1.1.1: 创建一个测试环回设备并用于存储

      • 1.1.1.1/sdb: 使用/dev/sdb作为1.1.1.1上的存储设备

日志记录

日志文件和生成的puppet配置文件的位置在/var/tmp/packstack目录下,目录名称由运行Packstack的日期和一个随机字符串(例如/var/tmp/packstack/20131022-204316-Bf3Ek2)命名。内部,我们可以找到一个配置文件目录和openstack-setup.log文件;puppet配置文件和每个配置文件的日志文件都位于配置文件目录内。

调试

要使Packstack将更详细的信息写入日志文件,您可以使用-d开关

$ packstack -d --allinone

当升级到新的OpenStack版本并重用旧的answerfile时,了解是否有任何Packstack选项被删除是有用的。如果answerfile是手工编写的,则可能出错。使用--validate-answer-file开关可以检查提供的选项是否不被Packstack识别。

$ packstack --validate-answer-file=ans.txt

开发

为了简化Packstack的开发,可以从git安装,这样git存储库的更新可以立即生效,而无需重新安装。

为此,首先进行最小化的CentOS 7安装。然后删除可能冲突的任何相关软件包

$ yum -y erase openstack-packstack*,puppet-*

通过将/etc/sysconfig/selinux中的“enforcing”更改为“permissive”来禁用SELinux,然后重启以允许服务更改生效并切换网络。然后安装软件包

$ yum -y install git python-setuptools

安装RDO

$ yum -y install https://www.rdoproject.org/repos/rdo-release.rpm
$ yum -y update

按照上面所述安装Puppet模块。

然后我们得到Packstack

$ yum install -y python-crypto python-devel libffi-devel openssl-devel gcc-c++
$ git clone https://github.com/openstack/packstack
$ cd packstack
$ python setup.py develop

这就完成了。对Packstack源存储库内容的更改将自动由Packstack可执行文件获取,而无需进一步干预,Packstack已准备好安装。

Puppet风格指南

重要 https://docs.puppetlabs.com/guides/style_guide.html

请尽可能尊重Puppet风格指南!

运行本地Puppet-lint测试

它假设系统中已经安装了bundler以及rubygems(和ruby)。如果没有,运行此命令

$ sudo yum install rubygems rubygem-bundler ruby ruby-devel -y

进入Packstack根目录。

$ cd packstack/

一个Rakefile包含您需要自动在Packstack项目中包含的所有puppet配置文件上运行puppet-lint任务的所有内容。

$ ls -l packstack/puppet/templates/

并且

$ ls -l packstack/puppet/modules/

默认的puppet-lint模式为.pp文件是**/*.pp。因此,无需进入这些目录即可运行puppet-lint!

$ mkdir vendor
$ export GEM_HOME=vendor
$ bundle install
$ bundle exec rake lint

Packstack集成测试

Packstack在OpenStack门控中进行集成测试,并提供了一种方法,如果您愿意,可以在您的环境中重现这些测试。

场景000仅安装packstack allinone,不运行任何测试。这是当前可用的测试矩阵

场景000

场景001

场景002

场景003

keystone

FERNET

FERNET

FERNET

FERNET

glance

file

swift

file

nova

X

X

X

X

neutron

X

X

X

X

neutron插件

ovn

ovn

ovs

ovn

vpnaas

cinder

X

X

ceilometer

X

X

aodh

X

X

gnocchi

X

X

heat

X

swift

X

X

sahara

X

trove

X

horizon

X

manila

X

SSL

X

运行这些测试

export SCENARIO="scenario001"
./run_tests.sh

run_tests.sh 会负责安装所需的依赖项,配置 packstack 按照上述矩阵运行,并运行完整的安装过程。如果安装成功,tempest 也将运行烟测试。

默认情况下,run_tests.sh 将设置 delorean (RDO Trunk) 仓库。有两种方法可以覆盖默认仓库

export DELOREAN="http://someotherdomain.tld/delorean.repo"
export DELOREAN_DEPS="http://someotherdomain.tld/delorean-deps.repo"
./run_tests.sh

您还可以选择完全禁用仓库管理

<setup your own custom repositories here>
export MANAGE_REPOS="false"
./run_tests.sh

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源代码分发

packstack-23.0.0.tar.gz (227.5 kB 查看哈希值)

上传时间 源代码

构建分发

packstack-23.0.0-py3-none-any.whl (241.9 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面