packstack, 在多台主机上,安装实用程序来部署 OpenStack

分享于 

10分钟阅读

GitHub

  繁體 雙語
Install utility to deploy openstack on multiple hosts.
  • 源代码名称:packstack
  • 源代码网址:http://www.github.com/openstack/packstack
  • packstack源代码文档
  • packstack源代码下载
  • Git URL:
    git://www.github.com/openstack/packstack.git
    Git Clone代码到本地:
    git clone http://www.github.com/openstack/packstack
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/openstack/packstack
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Packstack

    使用基于 operating的操作系统安装收费的OpenStack。 查看其他分支机构,了解更多的高清版。 Details https://wiki.openstack.org/wiki/Packstack Packstack 可以在 中找到如何贡献英镑的详情。有关参与社区的额外信息,请参见 https://openstack.redhat.com/Get_involved的。

    这个工具可以用来在一个或者多个主机上安装 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 ( all-in-one )

    
    $ packstack --allinone
    
    
    
    

    这将在一个主机上安装所有收费的OpenStack服务,不需要任何配置信息。 这将生成一个"解答"文件( 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 作为适当的e.g.

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

    • 在其他服务器上将IP地址编辑到你想安装的任何地方

    • 将 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计算机的逗号分隔的ip地址列表
    • CONFIG_SWIFT_STORAGE_HOSTS:
      • Swift 存储设备的逗号分隔列表
        • 1.1.1.1: 创建测试环回设备并将它的用于存储
        • 1.1.1.1/sdb: 在 1.1.1.1 上使用 /dev/sdb 作为存储设备

    日志记录

    在run目录中运行的日志文件的位置和生成的Puppet 清单位于运行的目录下,并随机字符串( 比如 )。/var/tmp/packstack/20131022-204316-Bf3Ek2 ) inside 我们找到清单目录和 openstack-setup.log 文件;Puppet 清单和每个日志文件的日志文件在清单目录中找到。

    命令行调试

    要使 Packstack 写入更详细的信息到日志文件中,你可以使用 -d switch:

    
    $ packstack -d --allinone
    
    
    
    

    如果升级到新的OpenStack版本并重用旧的应答器,那么知道是否删除了任何收费的Packstack选项是很有用的。 如果手写是手工写的,就有可能出错。 如果提供的选项不被 Packstack 识别,--validate-answer-file switch 允许检查提供的选项。

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

    开发

    为了简化英镑的开发,从安装可以很有用,这样就可以立即更新git库,而不需要重新安装。

    为此,从最小收费的CentOS安装开始。 然后删除可能冲突的所有相关软件包:

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

    通过在中更改" 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 source源库的内容由的Packstack可执行文件提取,无需进一步干预,并准备好安装 Packstack。

    Puppet 风格指南

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

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

    运行本地 puppet-lint测试

    假设 bundlerrubygems ( 还有 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/
    
    
    
    

    .pp 文件的默认 puppet Pattern 是 **/*.pp。 所以不需要去 inside 去运行 puppet-lint !

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

    Packstack集成测试

    在OpenStack的gate中测试了 Packstack,并提供了在你的环境中重现这些测试的方法如果你希望。

    Scenario000只安装packstack文档,不运行任何测试。 这是可用测试的当前矩阵:

    - scenario000 scenario001 scenario002 scenario003
    keystoneFERNETFERNETFERNETFERNET
    环视文件swift文件
    新星XXXX
    中子XXXX
    中子插件ovsovnovsovs
    lbaasv2X
    vpnaas
    煤渣XX
    ceilometerXX
    aodhXX
    gnocchiXX
    pankoX
    X
    swiftXX
    saharaX
    troveX
    地平线X
    马尼拉X
    SSLX

    要运行这些测试:

    
    export SCENARIO="scenario001"
    
    
    ./run_tests.sh
    
    
    
    

    run_tests.sh 将负责安装所需的依赖项,配置packstack以根据 上面 矩阵运行,并运行完整的安装过程。 如果安装成功,storm还将运行冒烟测试。

    默认情况下,run_tests.sh 将设置 delorean ( RDO主干) 存储库。 有两种重写默认存储库的方法:

    
    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
    
    
    
    

    DEP  UTIL  UTI  工具  HOST  Openstack  
    相关文章