所需要的参数:
  $secret_key,
  $bind_address = '127.0.0.1',
  $cache_server_ip = '127.0.0.1',
  $cache_server_port = '11211',
  $swift = false,
  $quantum = false,
  $package_ensure = present,
  $horizon_app_links = false,
  $keystone_host = '127.0.0.1',
  $keystone_port = 5000,
  $keystone_scheme = 'http',
  $keystone_default_role = 'Member',
  $django_debug = false,
  $django_verbose = false,
  $api_result_limit = 1000,
  $http_port = 80,
  $https_port = 443,
  $use_ssl = false,
  $log_level = 'WARNING',
  $use_syslog = false,
 
$logdir = '/var/log/horizon'
      $http_service = 'httpd'
      $vhosts_file = '/etc/httpd/conf.d/ssl.conf'
      $http_modwsgi = 'mod_wsgi'
      $package_name = 'openstack-dashboard'
      $horizon_additional_packages = ['nodejs', 'nodejs-less', 'python-lesscpy']
      $httpd_listen_config_file = '/etc/httpd/conf.d/ports.conf'
      $local_settings_path = '/etc/openstack-dashboard/local_settings'
      $root_url = '/dashboard'
      $apache_user = 'apache'
      $apache_group = 'apache'
      $apache_confdir = ['/etc/httpd', '/etc/httpd/conf.d']
      $ssl_key_group = 'root'
      $ssl_cert_file = '/etc/pki/tls/certs/localhost.crt'
      $ssl_key_file = '/etc/pki/tls/private/localhost.key'
      $ssl_cert_type = 'crt'
      $dashboard_http_conf_file = '/etc/httpd/conf.d/openstack-dashboard.conf'
      $apache_tuning_file = '/etc/httpd/conf.d/zzz_performance_tuning.conf'
 
安装流程:
1、安装 apache和mod_wsgi
2、安装 openstack-dashboard(必须在1安装完成后)
3、为dashboard添加用户和用户组apache
4、为/etc/openstack-dashboard/local_settings添加内容和644权限
5、创建/usr/share/openstack-dashboard/目录
6、执行chrown -r apache:apache /usr/share/openstack-dashboard/
7、用户证书判断 case $use_ssl {...} 默认$use_ssl为false,这里采用默认的 package certificate生成$generate_sslcert_name和$inject_certs
8、设置 $ssl_cert_file和 $ssl_key_file 根据上面的默认选项生成的$generate_sslcert_name 
9、注入签名证书 默认生成的$inject_certs为FALSE  所以这不会执行
10、生成/var/log/horizon目录,接着生成horizon.log文件,他们所属的用户用户组为apache
11、确认资源间的执行顺序Package["dashboard"] -> File[$horizon::params::logdir]
  File["${horizon::params::logdir}/horizon.log"] -> Service['httpd']
12、/etc/httpd/conf.d/ssl.conf文件,内容为模板horizon/vhosts.erb,权限644,修改这个文件后重启httpd服务
13、/etc/httpd/conf.d/openstack-dashboard.conf文件,内容为horizon/openstack-dashboard.conf.erb模板,权限644,修改后重启httpd服务,需要'/etc/httpd', '/etc/httpd/conf.d存在
14、/etc/httpd/conf.d/zzz_performance_tuning.conf文件,内容horizon/zzz_performance_tuning.conf.erb模板,模式644,修改后重启httpd服务,需要'/etc/httpd', '/etc/httpd/conf.d存在
15、/etc/httpd/conf.d/ports.conf文件,为内容horizon/ports.conf.erb,所属用户、用户组均为root,修改后重启httpd服务,需要在httpd安装前执行,需要'/etc/httpd', '/etc/httpd/conf.d存在
16、['/etc/httpd', '/etc/httpd/conf.d']目录,所属用户、用户组均为root
17、安装nodejs', 'nodejs-less', 'python-lesscpy‘
18、/etc/httpd/conf.d/wsgi.conf文件,模式644,所属用户、用户组均为root,内容:"LoadModule wsgi_module modules/mod_wsgi.so\n",需要在apache和mod_wsgi安装后,在dashboard安装前执行
19、在httpd服务启动前,安装mod_ssl
20、文件/etc/sysconfig/httpd 模式644,所属用户、用户组均为root,内容:horizon/redhat_sysconfig_httpd.erb模板,需要安装httpd,修改后重启httpd服务
21、修改"/files/etc/httpd/conf/httpd.conf",删除Listen指令,需要在httpd服务启动前
22、horizon_compress_styles命令:在/usr/share/openstack-dashboard  python manage.py compress
安装 dashboard后执行命令  安装完nodejs', 'nodejs-less', 'python-lesscpy后执行命令  
执行完 horizon_compress_styles命令 重启httpd服务
23、确定httpd服务开启
24、文件执行顺序  File[$::horizon::params::local_settings_path, $::horizon::params::logdir] ~> Service['httpd']
  Package[$::horizon::params::http_service, $::horizon::params::http_modwsgi] -> Service['httpd']
  Package<| title == $::horizon::params::http_service or title == $::horizon::params::http_modwsgi|> ~>
  Service<| title == 'httpd'|>
25 如果$cache_server_ip 不是127.0.0.1 就先执行 Class['memcached']

puppet 部署 horizon server 所需的参数和部署逻辑的更多相关文章

  1. 图解:SQL Server SSIS包和job的部署攻略

    原文:图解:SQL Server SSIS包和job的部署攻略 以下将建立一个SQL Server SSIS包 然后在job中使用这个包,并将job部署到目标机器 1. 首先建立ssis包,使用sql ...

  2. Windows Server 2008 R2之一活动目录服务部署

    测试环境: 服务器:计算机名Win2008R2CNDC,已安装Windows Server 2008 R2.IPV4:192.168.1.13,255.255.255.0,网关地址192.168.1. ...

  3. SQL Server存储过程 对数组参数的循环处理

    方法一 分割 例:通过SQL Server存储过程传送数组参数删除多条记录 eg. ID 值为'1,2,3' 以下存储过程就是删除表中id号为1,2,3的记录: CREATE PROCEDURE De ...

  4. 如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

    如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...

  5. Cas(02)——部署Cas Server

    部署Cas Server Cas应用都需要有一个Cas Server.Cas Server是基于Java Servlet实现的,其要求部署在Servlet2.4以上版本的Web容器中.在此笔者将其部署 ...

  6. SQL Server 2008 表变量参数(表值参数)用法

    表值参数是 SQL Server 2008 中的新参数类型.表值参数是使用用户定义的表类型来声明的.使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程 ...

  7. Appium Server 传递的基本参数

    Appium Server  传递的基本参数 官方列表 Appium server capabilities Capability Description Values automationName ...

  8. 部署Win Server 2012十项注意

    博文来自 http://server.zol.com.cn/351/3511746.html Windows Server 2012是微软公司在2012年推出的面向中小企业应用一款全新的服务器操作系统 ...

  9. Weblogic Server 的下载,安装配置与部署

    下载 下载页面: http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html 目前 ...

随机推荐

  1. eclipse中不能找到dubbo.xsd解决方法

    使用dubbo时遇到问题: org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'htt ...

  2. EasyMock 使用方法与原理剖析--转载

    原文地址:http://www.ibm.com/developerworks/cn/opensource/os-cn-easymock/ Mock 方法是单元测试中常见的一种技术,它的主要作用是模拟一 ...

  3. c++中运算符重载,+,-,--,+=,-=,*,/,*=,/=,

    #include<iostream> #include<stdlib.h> using namespace std; class Complex { public: Compl ...

  4. 轻松学习Ionic (一) 搭建开发环境,并创建工程

    1.准备工作     下载 Node.js(下载包),WebStorm(IDE,编写代码,浏览器调试),JDK(webstorm 运行环境),Android SDK (Android编译)     不 ...

  5. Delphi推出Delphi XE4支持IOS开发

    Delphi 新推出 Delphi XE4 ,这是一个支持 iOS 应用开发的新版本.Delphi XE4 带来 Embarcadero 全新的 ARM 编译器 下载地址

  6. Android四大组件之BroadcastReceiver

    什么是BroadcastReceiver? BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播. 在Android系统中,广播体现在方方面面, ...

  7. SQLSERVER 数据库性能的基本

    很久没有写文章了,在系统正式上线之前,DBA一般都要测试一下服务器的性能 比如你有很多的服务器,有些做web服务器,有些做缓存服务器,有些做文件服务器,有些做数据库服务器 做数据库服务器的那台服务器性 ...

  8. 【JAVA】接口(一)

    一.接口的概念 接口是一种更彻底的抽象.接口是从多个相似类中抽象出来的规范,接口不提供任何实现,接口体现的是规范和实现分离的设计哲学. 二.接口的定义 接口定义不再使用class关键字,而是使用int ...

  9. (转)Quartz.NET管理类

    最近做项目设计到Quartz.NET,写了一个Quartz.NET管理类,在此记录下. public class QuartzManager<T> where T : class,IJob ...

  10. [.Net MVC] 使用SQL Server数据库代替LocalDb

    之前开发的时候一直用的VS2013,所以数据库也用的LocalDb,这给开发带来很大便利.不过由于开发后还要进行部署,就改用了SQL Server 2012,这里总结下过程. 基本环境:VS2013, ...