前言: 目前redhat推出了openstack的课程—CL210,主要针对企业的openstack的管理和应用,其目前应用于生产的版本是RHOSP6,即社区版的Juno,其中CL210中需要有4台虚拟机,分别是workstation、ceph、servera和serverb,对于机器的硬件要求较高,且需要有上课环境,本文主要针对CL210考试的人而准备,需要在上课所在环境download三个ISO,分别是:RHEL7OSP-6.0-2015-02-23.2-x86_64.iso、rhel-server-7.0-x86_64-dvd.iso和rhel-server-7.1-x86_64-dvd.iso(根据提供的版本而定)。


环境介绍:  

系统:    CentOS Linux release 7.0.1406 (Core) 

配置:    2vcpu+4Gmemery+100Gdisk+2张nic

主机信息:eth0:10.16.4.59(管理网和外部网络)    eth1(instance内部网络,采用vlan模式隔离)    hostname:controller

软件版本:RHEL7OSP-6.0,对应社区办的Juno版,可通过RDO的方式安装,详情参考Juno手动安装http://happylab.blog.51cto.com/1730296/1704460


1. 构建软件仓库

     1.1 挂载ISO到系统中(将准备的ISO放置到系统的某个目录下,本文假定放在/data1目录下)

[root@controller ~]# vim /etc/fstab 
/data1/rhel-server-7.0-x86_64-dvd.iso           /var/www/html/rhel7.0     iso9660       defaults        0 0
/data1/RHEL7OSP-6.0-2015-02-23.2-x86_64.iso     /var/www/html/rhel7osp    iso9660       defaults        0 0 
/data1/rhel-server-7.1-x86_64-dvd.iso   /var/www/html/rhel7.1   iso9660 defaults        0       0
#创建挂载目录
[root@controller ~]# mkdir -p /var/www/html/rhel7.0
[root@controller ~]# mkdir -p /var/www/html/rhel7.1
[root@controller ~]# mkdir -p /var/www/html/rhel7osp
#执行挂载
[root@controller ~]# mount -a
[root@controller ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda3       8.6G  1.3G  7.3G  15% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  8.4M  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/vda1       497M   90M  408M  18% /boot
/dev/vdc1       100G  4.1G   96G   5% /data1
/dev/loop0      3.5G  3.5G     0 100% /var/www/html/rhel7.0
/dev/loop3      3.7G  3.7G     0 100% /var/www/html/rhel7.1
/dev/loop1      515M  515M     0 100% /var/www/html/rhel7osp


    1.2 配置yum客户端

a、基本yum源
[root@controller ~]# vim /etc/yum.repos.d/rhel7.repo 
[rhel7.0]
name=redhat rhel7.0 base reposity
baseurl=file:///var/www/html/rhel7.0
enabled=1
gpgcheck=file:///var/www/html/rhel7.0/RPM-GPG-KEY-redhat-release
gpgcheck=0

[rhel7.1]
name=rhel7.1
baseurl=file:///var/www/html/rhel7.1
enabled=1
gpgcheck=0

b、配置openstack的yum源
[root@controller ~]# cat /etc/yum.repos.d/rhel7osp.repo 
[RH7-RHOS-6.0]
name=redhat openstack 6 RH7-RHOS-6.0 reposity
baseurl=file:///var/www/html/rhel7osp/RH7-RHOS-6.0
enabled=1
gpgcheck=0

[RH7-RHOS-6.0-Installer]
name=RH7-RHOS-6.0-Installer
baseurl=file:///var/www/html/rhel7osp/RH7-RHOS-6.0-Installer
enabled=1
gpcheck=0

[RHEL7-Errata]
name=RHEL7-Errata
baseurl=file:///var/www/html/rhel7osp/RHEL7-Errata
enabled=1
gpgcheck=0

[RHEL-7-RHSCL-1.2]
name=RHEL-7-RHSCL-1.2
baseurl=file:///var/www/html/rhel7osp/RHEL-7-RHSCL-1.2
enabled=1
gpgcheck=0

c、测试yum源仓库   
RH7-RHOS-6.0                                                                                                                                                         393/393
RH7-RHOS-6.0-Installer                                                                                                                                               194/194
repo id                                                                     repo name                                                                                status
RH7-RHOS-6.0                                                                redhat openstack 6 RH7-RHOS-6.0 reposity                                                 393
RH7-RHOS-6.0-Installer                                                      RH7-RHOS-6.0-Installer                                                                   194
RHEL-7-RHSCL-1.2                                                            RHEL-7-RHSCL-1.2                                                                         1,766
RHEL7-Errata                                                                RHEL7-Errata                                                                             11
rhel7.0                                                                     redhat rhel7.0 base reposity                                                             4,305
rhel7.1                                                                     rhel7.1                                                                                  4,371

注意事项:如果yum源不可用,请校验firewalld,校验httpd服务配置是否正确,挂载路径,是否有其他的仓库影响(建议将其他仓库删除),如果发现由上面所注册的6个频道,说明yum源配置完毕,下面可以开启redhat openstack之juno之旅了!


2. 通过packstack构建all-in-one环境—neutron

    packstack是redhat推出的一款自动化部署和配置openstack的管理工具,其底层基于puppet来实现。此外,openstack中neutron可以用多种模式实现网络的隔离,如vlan,vxlan,gre,flat,此处采用vlan的模式部署(eth1网卡用于tenant instance的网络,eth0网卡用于管理网和instance外部网络)。

    2.1,安装和配置packstack

[root@controller ~]# yum install openstack-packstack -y
[root@controller ~]# packstack --gen-answer-file /root/answer.txt        #生成应答文件
Packstack changed given value  to required value /root/.ssh/id_rsa.pub

    修改应答文件内容:

[root@controller ~]# vim /root/answer.txt 
 67 CONFIG_NTP_SERVERS=ntp服务器地址         ntp服务器地址,一般指向局域网内的ntp服务器,或者是controller
246 CONFIG_KEYSTONE_ADMIN_PW=redhat          admin管理员的密码
249 CONFIG_KEYSTONE_DEMO_PW=redhat           demo用户的密码
282 CONFIG_CINDER_VOLUMES_CREATE=y           是否创建VG,上课环境已经有cinder-volumes,应设置为n,自己搭建的环境没有,应保留为yes
485 CONFIG_LBAAS_INSTALL=y                   是否启用LBaaS功能,默认关闭,有需要可以启用
489 CONFIG_NEUTRON_METERING_AGENT_INSTALL=n  Ceilometer监控的agent
492 CONFIG_NEUTRON_FWAAS=y                   是否要启用FWaaS功能
496 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vlan     配置OVS网络驱动类型为vlan,多个可以用逗号分隔
501 CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vlan        设置tenant能够使用的网络类型,多种类型,可用逗号,分隔
506 CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch    使用OVS网络机制驱动,保障网络命名空间
517 CONFIG_NEUTRON_ML2_VLAN_RANGES=physnet1:1:1000      定义物理网卡的vlan id范围,其中physnet1需要和某个网桥关联,网桥需要和某个外部接口关联
545 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-eth1 定义physnet1和网桥br-eth1关联,网卡和网桥br-eth1关联
549 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-eth1:eth1       定义网卡和网桥br-eth1关联,操作命令为:ovs-vsctl add-port br-eth1 eth1
629 CONFIG_PROVISION_DEMO=n                             关闭自动测试功能

    开始安装,基于应答文件来实现:

[root@controller ~]# packstack --answer-file /root/answer.txt 
Welcome to the Packstack setup utility
The installation log file is available at: /var/tmp/packstack/20151029-141031-iTUrA5/openstack-setup.log
Installing:
Clean Up                                             [ DONE ]
Setting up ssh keys                                  [ DONE ]
Discovering hosts' details                           [ DONE ]
Adding pre install manifest entries                  [ DONE ]
Installing time synchronization via NTP              [ DONE ]
Preparing servers                                    [ DONE ]
Adding AMQP manifest entries                         [ DONE ]
Adding MariaDB manifest entries                      [ DONE ]
Adding Keystone manifest entries                     [ DONE ]
Adding Glance Keystone manifest entries              [ DONE ]
Adding Glance manifest entries                       [ DONE ]
Adding Cinder Keystone manifest entries              [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Adding Cinder manifest entries                       [ DONE ]
Adding Nova API manifest entries                     [ DONE ]
Adding Nova Keystone manifest entries                [ DONE ]
Adding Nova Cert manifest entries                    [ DONE ]
Adding Nova Conductor manifest entries               [ DONE ]
Creating ssh keys for Nova migration                 [ DONE ]
Gathering ssh host keys for Nova migration           [ DONE ]
Adding Nova Compute manifest entries                 [ DONE ]
Adding Nova Scheduler manifest entries               [ DONE ]
Adding Nova VNC Proxy manifest entries               [ DONE ]
Adding OpenStack Network-related Nova manifest entries[ DONE ]
Adding Nova Common manifest entries                  [ DONE ]
Adding Neutron API manifest entries                  [ DONE ]
Adding Neutron Keystone manifest entries             [ DONE ]
Adding Neutron L3 manifest entries                   [ DONE ]
Adding Neutron L2 Agent manifest entries             [ DONE ]
Adding Neutron DHCP Agent manifest entries           [ DONE ]
Adding Neutron LBaaS Agent manifest entries          [ DONE ]
Adding Neutron Metering Agent manifest entries       [ DONE ]
Adding Neutron Metadata Agent manifest entries       [ DONE ]
Checking if NetworkManager is enabled and running    [ DONE ]
Adding OpenStack Client manifest entries             [ DONE ]
Adding Horizon manifest entries                      [ DONE ]
Adding Swift Keystone manifest entries               [ DONE ]
Adding Swift builder manifest entries                [ DONE ]
Adding Swift proxy manifest entries                  [ DONE ]
Adding Swift storage manifest entries                [ DONE ]
Adding Swift common manifest entries                 [ DONE ]
Adding MongoDB manifest entries                      [ DONE ]
Adding Redis manifest entries                        [ DONE ]
Adding Ceilometer manifest entries                   [ DONE ]
Adding Ceilometer Keystone manifest entries          [ DONE ]
Adding Nagios server manifest entries                [ DONE ]
Adding Nagios host manifest entries                  [ DONE ]
Adding post install manifest entries                 [ DONE ]

说明:可能会遇到openstack-selinux无法安装的问题,解决方法:到光盘中找到该对应的包,然后使用rpm -ivh openstack-selinux.*.rpm --nodeps的方式将其安装,如下:
[root@controller ~]# rpm -ivh /var/www/html/rhel7osp/RH7-RHOS-6.0/Packages/openstack-selinux-0.6.23-1.el7ost.noarch.rpm --nodeps
warning: /var/www/html/rhel7osp/RH7-RHOS-6.0/Packages/openstack-selinux-0.6.23-1.el7ost.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:openstack-selinux-0.6.23-1.el7ost################################# [100%]

 说明:当看到"**** Installation completed successfully ******"字样的时候,表示openstack已经成功安装,安装过程中,可以回遇到一些错误,根据错误提示将错误修复即可。安装之后,可以通过浏览器,输入地址http://10.16.4.59/dashboard,用户名密码为admin:redhat,或者demo:redhat即可登录。 


附录:关于packstack选项的解释

  1. 通用配置选项(相当于开关)

7 CONFIG_SSH_KEY=/root/.ssh/id_rsa.pub             SSH公钥所在路径,packstack用该公钥实现远程无密码登陆,需要输入远程主机的root密码(如部署多个compute时使用)

12 CONFIG_DEFAULT_PASSWORD=                        设置所有服务的密码,设置之后,将会覆盖掉所有认证相关的密码,比如admin,database,keystone密码

15 CONFIG_MARIADB_INSTALL=y                        是否安装DB

19 CONFIG_GLANCE_INSTALL=y                         是否安装glance

23 CONFIG_CINDER_INSTALL=y                         是否安装cinder

27 CONFIG_NOVA_INSTALL=y                           是否安装nova

31 CONFIG_NEUTRON_INSTALL=y                        是否安装neutron,设置为n则安装nova-network

35 CONFIG_HORIZON_INSTALL=y                        是否安装dashboard

39 CONFIG_SWIFT_INSTALL=y                          是否安装swift

43 CONFIG_CEILOMETER_INSTALL=y                     是否安装ceilometor

47 CONFIG_HEAT_INSTALL=n                           是否安装heat

51 CONFIG_SAHARA_INSTALL=n                         是否安装Sahara

55 CONFIG_TROVE_INSTALL=n                          是否安装trove

59 CONFIG_IRONIC_INSTALL=n                         是否安装ironic

63 CONFIG_CLIENT_INSTALL=y                         是否安装客户端,如nova的客户端的包是novaclient,keystone对应的包则是keystoneclient,并配置rc环境变量文件

71 CONFIG_NAGIOS_INSTALL=y                         是否安装nagios监控

77 EXCLUDE_SERVERS=                                排除的服务器地址,用于基于相同的answer文件执行重复安装时使用,例如某台已经安装好,可以将其排除

81 CONFIG_DEBUG_MODE=n                             是否配置为debug模式,相对应每个服务设置verbose = True,打印更多的日志信息,便于调试和排错

85 CONFIG_CONTROLLER_HOST=10.16.4.59               控制器的地址

89 CONFIG_COMPUTE_HOSTS=10.16.4.59                 计算节点地址,多个可以用逗号分隔

93 CONFIG_NETWORK_HOSTS=10.16.4.59                 网络节点地址

119 CONFIG_STORAGE_HOST=10.16.4.59                 存储节点地址

123 CONFIG_SAHARA_HOST=10.16.4.59                  sahara服务地址


2. 消息队列的设置

192 CONFIG_AMQP_BACKEND=rabbitmq                   使用消息队列的类型,支持rabbitmq和qpid

195 CONFIG_AMQP_HOST=10.16.4.59                    rabbitmq服务器地址

198 CONFIG_AMQP_ENABLE_SSL=n                       是否启用rabbitmq SSL安全认证,安全环境,生产建议启用

201 CONFIG_AMQP_ENABLE_AUTH=n                      启用rabbitmq认证,即基于username+password的认证方式,生产建议启用

207 CONFIG_AMQP_SSL_PORT=5671                      rabbitmq SSL使用的端口号,不启用SSL是rabbitmq使用的端口号是5672


启用SSL之后相关的安全配置:

211 CONFIG_AMQP_SSL_CERT_FILE=/etc/pki/tls/certs/amqp_selfcert.pem    证书

215 CONFIG_AMQP_SSL_KEY_FILE=/etc/pki/tls/private/amqp_selfkey.pem    私钥

218 CONFIG_AMQP_SSL_SELF_SIGNED=y                                     SSL自签名证书

221 CONFIG_AMQP_AUTH_USER=amqp_user                                   rabbitmq认证的用户名

224 CONFIG_AMQP_AUTH_PASSWORD=PW_PLACEHOLDER                          rabbitmq认证的密码


3. 数据库的设置

228 CONFIG_MARIADB_HOST=10.16.4.59                 MariaDB服务地址

231 CONFIG_MARIADB_USER=root                       MariaDB管理员root用户

234 CONFIG_MARIADB_PW=redhat                       管理员密码

237 CONFIG_KEYSTONE_DB_PW=83245a860f804f3e         keystone访问DB的密码——会建立一个keystone的用户,授权访问数据库中的keystone库

258 CONFIG_GLANCE_DB_PW=fbcbac3d199f4ac6           glance数据库密码

270 CONFIG_CINDER_DB_PW=bd0671ed093f425d           cinder数据库密码

412 CONFIG_IRONIC_DB_PW=PW_PLACEHOLDER             ironic数据库密码

418 CONFIG_NOVA_DB_PW=6e1f1ff388b74816             nova数据库密码

474 CONFIG_NEUTRON_DB_PW=13355c5563f74715          neutron数据库密码

602 CONFIG_HEAT_DB_PW=PW_PLACEHOLDER               heat数据库密码

677 CONFIG_SAHARA_DB_PW=PW_PLACEHOLDER             sahara数据库密码


4. 关于keystone认证设置

240 CONFIG_KEYSTONE_REGION=RegionOne               keystone默认的区域region,多区域比较复杂,区域内可以划分zone,zone内可以划分aggregate

243 CONFIG_KEYSTONE_ADMIN_TOKEN=107f34837b2147338d8713c71627a228    TOKEN密码,用于admin账户初始化配置keystone

246 CONFIG_KEYSTONE_ADMIN_PW=redhat                admin用户的密码

249 CONFIG_KEYSTONE_DEMO_PW=redhat                 demo用户的密码

252 CONFIG_KEYSTONE_TOKEN_FORMAT=UUID              keystone认证的格式,支持UUID和PKI,乐视测试过,据说region多的时候,需要用PKI比较好

255 CONFIG_KEYSTONE_SERVICE_NAME=keystone          keystone的服务名称

261 CONFIG_GLANCE_KS_PW=6c683af7421d4558           glance和keystone认证的密码,默认会建立一个和服务同名的用户和keystone交互,如glance服务会建立一个glance的用户,其他同理

273 CONFIG_CINDER_KS_PW=a95498c3a55f4768           cinder和keystone认证的密码

415 CONFIG_IRONIC_KS_PW=PW_PLACEHOLDER             ironic和keystone认证的密码

421 CONFIG_NOVA_KS_PW=03f1ac205b914225             nova和keystone认证的密码

471 CONFIG_NEUTRON_KS_PW=0a28b4aaa4424f2e          neutron和keystone认证的密码

608 CONFIG_HEAT_KS_PW=PW_PLACEHOLDER               heat和keystone认证的密码

662 CONFIG_CEILOMETER_KS_PW=b68f0bf0a8c547d9       ceilometer和keystone认证的密码

680 CONFIG_SAHARA_KS_PW=PW_PLACEHOLDER             sahara和keystone认证的密码

686 CONFIG_TROVE_KS_PW=PW_PLACEHOLDER              trove和keystone认证的密码


5. nova与VMware联动

97 CONFIG_VMWARE_BACKEND=n                         是否使用VMware作为hypervisor,设置为yes之后,需要设置vCenter相关的信息,nova支持两种方式和VMware联动:1.vCenter,2.EXSi

105 CONFIG_VCENTER_HOST=                           vCenter所在的主机

108 CONFIG_VCENTER_USER=                           连接vCenter所使用的用户名

111 CONFIG_VCENTER_PASSWORD=                       连接vCenter所需的密码

114 CONFIG_VCENTER_CLUSTER_NAME=                   连接至vSphere中的集群名字


6. 关于yum源的设置

126 CONFIG_USE_EPEL=n                              是否使用EPEL的yum源,有使用则设置为y,上课环境则设置为n

130 CONFIG_REPO=                                   仓库的名字,为空表示所有的repo

134 CONFIG_RH_USER=                                支持RHN的方式安装,指定RHN的用户名

143 CONFIG_RH_PW=                                  RHN的密码

139 CONFIG_SATELLITE_URL=                          RHN认证的路径

146 CONFIG_RH_OPTIONAL=y                           配置RHN的选项

149 CONFIG_RH_PROXY=                               RHN代理服务器地址

152 CONFIG_RH_PROXY_PORT=                          RHN代理服务器的端口

156 CONFIG_RH_PROXY_USER=                          代理服务器的用户名

160 CONFIG_RH_PROXY_PW=                            代理服务器的密码


7. glance的设置

267 CONFIG_GLANCE_BACKEND=file                    glance默认使用的存储后端,支持file和swift


8. cinder的设置

277 CONFIG_CINDER_BACKEND=lvm                    cinder使用的后端,支持lvm,glusterfs,netapp等多种方式

282 CONFIG_CINDER_VOLUMES_CREATE=y               和使用lvm有关,表示是否要创建卷组,即volume group,上课环境创建了一个cinder-volume的VG,需要设置为n

286 CONFIG_CINDER_VOLUMES_SIZE=20G               分配给cinder-volume这个VG的空间大小

290 CONFIG_CINDER_GLUSTER_MOUNTS=                当CONFIG_CINDER_BACKEND设置为glusterfs时,需要制定glusterfs服务的存储路径,方式为: ip-address:/vol-name

294 CONFIG_CINDER_NFS_MOUNTS=                    当CONFIG_CINDER_BACKEND设置为nfs时,需要设定nfs的存储路径,方式为:ip_address:/export-name


当CONFIG_CINDER_BACKEND设置为netapp时,需要设置如下参数:

298 CONFIG_CINDER_NETAPP_LOGIN=                  NetApp存储服务器的登陆用户名

302 CONFIG_CINDER_NETAPP_PASSWORD=               登陆密码

306 CONFIG_CINDER_NETAPP_HOSTNAME=               主机名

313 CONFIG_CINDER_NETAPP_SERVER_PORT=80          端口

319 CONFIG_CINDER_NETAPP_STORAGE_FAMILY=ontap_cluster    NetApp存储厂商的产品系列

324 CONFIG_CINDER_NETAPP_TRANSPORT_TYPE=http     和管理节点使用的协议

328 CONFIG_CINDER_NETAPP_STORAGE_PROTOCOL=nfs    数据存储使用的协议,支持nfs,iSCSI

334 CONFIG_CINDER_NETAPP_SIZE_MULTIPLIER=1.0     实际的存储空间和分配的存储空间的比率


10. nova的设置

425 CONFIG_NOVA_SCHED_CPU_ALLOC_RATIO=16.0        CPU超额分配的比率,比如compute有两个core,按照16.0的分配比率,可以分配16*2个vcpu

429 CONFIG_NOVA_SCHED_RAM_ALLOC_RATIO=1.5         内存分配的比率

435 CONFIG_NOVA_COMPUTE_MIGRATE_PROTOCOL=tcp      迁移使用的协议,支持tcp和ssh,因为nova用户默认的shell使用/sbin/nologin,

438 CONFIG_NOVA_COMPUTE_MANAGER=nova.compute.manager.ComputeManager    Nova Compute默认使用的类,管理后端的各种hypervisor


11. neutron的设置

479 CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex            OVS和外部网络通信的网桥

482 CONFIG_NEUTRON_METADATA_PW=74ab5b3c8fe24e46   neutron元数据密码

485 CONFIG_LBAAS_INSTALL=y                        是否安装LBaaS服务,即LoadBalancer As A Service,负载均衡即服务,基于haproxy等外部插件实现

489 CONFIG_NEUTRON_METERING_AGENT_INSTALL=n       是否启用ceilometer监控agent

492 CONFIG_NEUTRON_FWAAS=y                        是否启用FWaaS服务,即Firewalld As A Service,防火墙即服务,为tenant提供防火墙的功能

496 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vlan          OVS二层驱动类型,用户租户网络隔离的命名空间,多种类型,可以使用逗号分隔,此处采用vlan驱动类型

501 CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vlan  tenant能够使用OVS网络类型,此处采用vlan模式隔离

506 CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch OVS二层驱动机制,使用ovs这种软件交换机,openvswitch是个多层的分布式交换机,支持常见各种常见的协议


以上的关于neutron的配置相当于一个开关和支持的类型,如下是针对具体网络类型的配置。

a、VLAN模式的设置

517 CONFIG_NEUTRON_ML2_VLAN_RANGES=physnet1:1:1000            定义物理网络支持的vlan号码的范围

545 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-eth1       定义物理网络和网桥的映射关系,如physnet1连接至虚拟交换机br-eth1上

549 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-eth1:eth1             定义虚拟机交换机和实际的物理网口(上联)的映射关系


b、FLAT模式的设置

CONFIG_NEUTRON_ML2_FLAT_NETWORKS=*                FLAT支持的网络,此处还需要和对应的接口相互关联


c、GRE模式的设置

CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=              定义GRE使用的id号码范围

CONFIG_NEUTRON_OVS_TUNNEL_IF=                     定义GRE建立隧道的网络接口或者ip地址,packstack会自动根据定义的网卡


d、VXLAN模式的设置

CONFIG_NEUTRON_ML2_VNI_RANGES=10:100              定义vxlan使用的vni范围,即vxlan id号使用范围

CONFIG_NEUTRON_ML2_VXLAN_GROUP=                   vxlan使用的组播通信地址,为空表示禁用组播

CONFIG_NEUTRON_OVS_TUNNEL_IF=                     和GRE相类似,vxlan也是基于三层网络,建立vxlan隧道的

CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789            vxlan使用udp通信的端口


12. horizon的设置

CONFIG_HORIZON_SSL=n                              是否使用SSL加密http,生产建议使用,设置为SSL之后,会自动生成自签名证书

CONFIG_SSL_CERT=                                  SSL自签名证书

CONFIG_SSL_KEY=                                   SSL私钥文件

CONFIG_SSL_CACHAIN=                               CA认证签名中心


13. swift的设置

582 CONFIG_SWIFT_STORAGES=                        swift使用的磁盘,如/dev/vdb

586 CONFIG_SWIFT_STORAGE_ZONES=1                  swift支持zone的个数

590 CONFIG_SWIFT_STORAGE_REPLICAS=1               swift数据复制的replica数目

593 CONFIG_SWIFT_STORAGE_FSTYPE=ext4              swift后端的文件系统格式

596 CONFIG_SWIFT_HASH=68a1782cbdd4485a            共享hash字符串

599 CONFIG_SWIFT_STORAGE_SIZE=2G                  swift分配的存储空间


14. heat的设置

605 CONFIG_HEAT_AUTH_ENC_KEY=a3bd291b4ede4e21     heat加密的字符串

612 CONFIG_HEAT_CLOUDWATCH_INSTALL=n              安装AWS自动化魔板

616 CONFIG_HEAT_CFN_INSTALL=n                     是否安装CloudFormation API

619 CONFIG_HEAT_DOMAIN=heat                       heat所在的域

622 CONFIG_HEAT_DOMAIN_ADMIN=heat_admin           域管理员

625 CONFIG_HEAT_DOMAIN_PASSWORD=PW_PLACEHOLDER    域管理员密码


15. 自动演示设置

CONFIG_PROVISION_DEMO=n                           是否要执行自动演示,如下载镜像,配置网络,启动instance,建存储等

CONFIG_PROVISION_TEMPEST_USER=                    零时用户

CONFIG_PROVISION_TEMPEST_USER_PW=ee4c1a0253344892 零时用户的密码

CONFIG_PROVISION_DEMO_FLOATRANGE=172.24.4.224/28  浮动ip的网络地址范围

CONFIG_PROVISION_CIRROS_URL=http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img    Cirros演示镜像路径地址

CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE=n          是否配置外部网桥,即br-ex的配置


16. ceilometer的设置

CONFIG_CEILOMETER_SECRET=4d138198cb25415a        ceilometer的共享秘钥

CONFIG_CEILOMETER_COORDINATION_BACKEND=redis     ceilometer数据存储类型,支持redis和mongoDB

CONFIG_REDIS_HOST=10.16.4.59                     redis服务器地址

CONFIG_REDIS_PORT=6379                           redis服务的端口

CONFIG_MONGODB_HOST=10.16.4.59                   MongDB服务器的地址


17. trove的设置

CONFIG_TROVE_NOVA_USER=admin                    trove和nova交互的用户名

CONFIG_TROVE_NOVA_TENANT=services               租户名

CONFIG_TROVE_NOVA_PW=PW_PLACEHOLDER             密码


18. nagios的设置

CONFIG_NAGIOS_PW=8650ca10d0a64604               nagios管理员的密码


说明:packstack是一个基于puppet的自动化配置管理工具,通常用于demo演示环境,能支持的配置也很多,基本囊括了openstack的大部分配置,对于测试环境来说,非常便利,在实际的环境中,不建议使用。此外,对于考试的环境中,主要是网络的配置,需要看清楚,采取哪种网络类型,是vlan还是vxlan,则根据对应的要求去修改packstack的应答文件。