- 摘要:本文將詳細介紹Openstack的Havana版的安裝部署,此處假定您已經熟悉Openstack的各個組件。
- 本文部署方案優點:
- 部署速度快,滿足日常項目的資源虛擬化管理要求
- 計算節點可伸縮(Nova-compute/Nova-network多點部署)
- 部署局限性:
- Keystone, Mysql, RabbitMQ, Glance, Nova-API 等服務存在單點
- 節省機器資源,存在控制節點和計算節點在同一台Host部署
- 沒有部署Cinder,Quantum/Neutron, Swift等服務
- 物理部署示意圖(TBD)
- 安裝過程參考文檔
- 本文部署方案優點:
- 環境准備
- 下面紅色標注的地方,請根據自己的情況調整
- 2台物理主機, 內存最好是4G(測試用足夠,生產環境需要重新估計),每台Host帶有2塊網卡
- BIOS里面設置允許虛擬化VT(如果不支持,后面虛擬化必須設置成qemu)
- Ubuntu 12.04(LTS)x86 64位, 安裝過程中選擇安裝Openssh
- OS環境設置
-
Hostname: ubuntu58,eth0(外網): 20.0.0.58, eth1 (內網,not set yet)
-
Hostanme: ubuntu59,eth0(外網): 20.0.0.59 ,eth1 (內網,not set yet)
- 控制節點:ubuntu58
- 計算節點:ubuntu58,ubuntu59
- 如果上面的設置不一樣,下面的Example里面的參數需要作相應的調整
- 設置允許root用戶通過ssh鏈接登錄OS
- 包裝每台OS可以連接Internet,這里Openstack相關的一些包需要網絡安裝, 企業內部用戶需要配置代理。
-
- 虛擬網絡規划:為所有的虛擬機創建私有網絡 192.168.22.0/24 (可以設置成其它的, 但是下面相應的示例中的參數需要修改)
- 所有節點環境配置
- Update OS
#apt-get update #apt-get upgrade Then restart server and set proxy policy as above again #reboot
- Configure software repository for openstack version "havana"
# apt-get install python-software-properties # apt-get install ubuntu-cloud-keyring # add-apt-repository cloud-archive:havana
- Change config file "/etc/sysctl.conf" and enable ip route
-
net.ipv4.ip_forward = 1
-
Change "/etc/security/limits.conf" and copy below 2 lines:
* soft nofile 10240 * hard nofile 10240
-
Install kvm support
# apt-get install qemu-utils # apt-get install cpu-checker # kvm-ok INFO: /dev/kvm exists KVM acceleration can be used # lsmod | grep kvm kvm_intel 137899 0 kvm 455932 1 kvm_intel
- Install bridge utils
# apt-get install bridge-utils
- 同步2台Host上的時間,設置成一樣就可以(你可以搭建NTP Server來同步)
- Update OS
- 控制節點Ubuntu58環境配置
- Check hostname
# cat /etc/hosts 127.0.0.1 localhost ubuntu58
- edit interfaces as
# cat /etc/network/interfaces ## The loopback network interface## auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 20.0.0.58 netmask 255.255.255.0 network 20.0.0.0 broadcast 20.0.0.255 gateway 20.0.0.1 auto eth1 iface eth1 inet manual up ifconfig eth1 up # /etc/init.d/networking restart
- 防火牆設置
##執行如下命令## ufw allow 22/tcp ufw allow 80/tcp ufw allow 3306/tcp ufw allow 5000/tcp ufw allow 5672/tcp ufw allow 8080/tcp ufw allow 8773/tcp ufw allow 8774/tcp ufw allow 8775/tcp ufw allow 8776/tcp ufw allow 8777/tcp ufw allow 9292/tcp ufw allow 9696/tcp ufw allow 15672/tcp ufw allow 55672/tcp ufw allow 35357/tcp ufw allow 6080/tcp #/etc/init.d/ufw restart #ufw enabale #ufw status
- Configure software repository for openstack version "havana"
# apt-get install python-software-properties # apt-get install ubuntu-cloud-keyring # add-apt-repository cloud-archive:havana
- Install Mysql
#apt-get install python-mysqldb mysql-server
##Then set root password to 'openstack'### vim /etc/mysql/my.cnf and delete below line to accept req from all network adaptersbind-address = 127.0.0.1#/etc/init.d/mysql restart##Verify it by### mysql -u root -popenstack - Install RabbitMQ
# apt-get install rabbitmq-server ##create a new file "/etc/rabbitmq/enabled_plugins" and copy below line: ## [rabbitmq_management].
#chkconfig rabbitmq-server on#service rabbitmq-server restartAccess " http://20.0.0.58:55672" to verify Rabbit server status with guest/guest - Install Keystone
#apt-get install keystone
# mysql -u root -popenstack CREATE DATABASE keystone; GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone'; GRANT ALL ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
##create service token for keystone##export SERVICE_TOKEN=$(openssl rand -hex 10)echo $SERVICE_TOKEN >/root/ks_admin_token# echo $SERVICE_TOKENff4a8fd60e1824bfd08a
##配置"/etc/keystone/keystone.conf" 如下(admin_token 與上面的一致)
admin_token = ff4a8fd60e1824bfd08a
connection = mysql://keystone:keystone@20.0.0.58/keystone
##Sync data to mysql database "keystone"
keystone-manage db_sync
##修改文件屬性##chown -R keystone:keystone /etc/keystonechown -R keystone:keystone /var/log/keystone
##Restart keystone### /etc/init.d/keystone restart# service keystone status##Config keystone service in database### export SERVICE_TOKEN=`cat /root/ks_admin_token`
# export SERVICE_ENDPOINT=http://20.0.0.58:35357/v2.0
# keystone service-create --name=keystone --type=identity --description="Keystone Identity Service"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Keystone Identity Service |
| id | 96934a7c8e31458aa2919e3f6a1ce974 |
| name | keystone |
| type | identity |
+-------------+----------------------------------+##change id and IP@ here##
# keystone endpoint-create --service_id 96934a7c8e31458aa2919e3f6a1ce974 --publicurl 'http://20.0.0.58:5000/v2.0' --adminurl 'http://20.0.0.58:35357/v2.0' --internalurl 'http://20.0.0.58:5000/v2.0' --region shanghai##Create user, tenant for admin
#keystone user-create --name admin --pass openstack
+----------+-------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+----------+-------------------------------------------------------------------------------------------------------------------------+
| email | None |
| enabled | True |
| id | a582b6832ff245c0b54a81268f8094db |
| name | admin |
| password | $6$rounds=40000$/J9HmGD1qWfeCom5$XkNYO3r33CkUTfzdacrCwwbz5pT0OyyzlghsjuCnuPL5uvPy8ecCKievToxaKoib5bKotItLFIBeXapzCQRhO0 |
| tenantId | None |
+----------+-------------------------------------------------------------------------------------------------------------------------+#keystone role-create --name admin
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| id | ea878347211945a68304fa3954e8a153 |
| name | admin |
+----------+----------------------------------+#keystone tenant-create --name admin
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | None |
| enabled | True |
| id | 61bafc18ba26451f853d6dc85292e09c |
| name | admin |
+-------------+----------------------------------+##change id here##
# keystone user-role-add --user a582b6832ff245c0b54a81268f8094db --role ea878347211945a68304fa3954e8a153 --tenant_id 61bafc18ba26451f853d6dc85292e09c##添加環境變量##
# vi /root/keystone_adminexport OS_USERNAME=adminexport OS_TENANT_NAME=adminexport OS_PASSWORD=openstackexport OS_AUTH_URL=http:// 20.0.0.58:35357/v2.0/export PS1='[\u@\h \W(keystone_admin)]\$ '##Create a Member role### source /root/keystone_admin# keystone role-create --name Member+----------+----------------------------------+| Property | Value |+----------+----------------------------------+| id | 24285daca47a470db91414c6dd9dc8fe || name | Member |+----------+----------------------------------+##Create a new tenant as "TenantEagles", and a new user "eagle1" as role " Member " in "TenantEagles"### keystone user-create --name eagle1 --pass openstack-------------------------------------------+| Property | Value |+----------+-------------------------------------------------------------------------------------------------------------------------+| email | None || enabled | True || id | 101abe97dc7f4af49a860449d826e0c9 || name | eagle1 || password | $6$rounds=40000$0D75R/1xEs2E7na9$COeU0zsxd0Id.7gpLto12mKyiJ3SmMLlfHxDRmqcpBpfF2nJKJSwxptyOYMfU78U69EygMNohRKPgl26CMz6B/ || tenantId | None |+----------+-------------------------------------------------------------------------------------------------------------------------+# keystone tenant-create --name TenantEagles+-------------+----------------------------------+| Property | Value |+-------------+----------------------------------+| description | None || enabled | True || id | 33f75c8c652548df9bd3e74cbe02d2b0 || name | TenantEagles |+-------------+----------------------------------+##Change Id here### keystone user-role-add --user 101abe97dc7f4af49a860449d826e0c9 --role 24285daca47a470db91414c6dd9dc8fe --tenant_id 33f75c8c652548df9bd3e74cbe02d2b0##最后驗證Keystone的安裝### keystone user-list# keystone role-list# keystone tenant-list# keystone service-list# keystone endpoint-list# curl -d '{"auth": {"tenantName": "admin", "passwordCredentials":{"username": "admin", "password": "openstack"}}}' -H "Content-type: application/json" http://localhost:35357/v2.0/tokens | python -mjson.tool - Install Glance
- Install glance
# apt-get install glance
- Create Glance database
mysql -u root -popenstack mysql> CREATE DATABASE glance; mysql> GRANT ALL ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance'; mysql> GRANT ALL ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance'; mysql> exit ##Verify it by below command## mysql -u glance -pglance
- Create Glance service in keystone
# source /root/keystone_admin
# keystone service-create --name glance --type image --description "Glance Image Service" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Glance Image Service | | id | eb80d944a8fa4c24b3c26e3b792b488a | | name | glance | | type | image | +-------------+----------------------------------+
##Change Id and IP@ here## # keystone endpoint-create --service-id eb80d944a8fa4c24b3c26e3b792b488a --publicurl "http://20.0.0.58:9292" --adminurl "http://20.0.0.58:9292" --internalurl "http://20.0.0.58:9292" --region shanghai +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | adminurl | http://20.0.0.58:9292 | | id | 6f6e4f782304433fb7af154271ca216f | | internalurl | http://20.0.0.58:9292 | | publicurl | http://20.0.0.58:9292 | | region | shanghai | | service_id | eb80d944a8fa4c24b3c26e3b792b488a | +-------------+----------------------------------+ - 修改文件屬性
chown -R glance:glance /etc/glance chown -R glance:glance /var/lib/glance chown -R glance:glance /var/log/glance
- 修改"/etc/glance/glance-api.conf", "/etc/glance/glance-registry.conf" (Here mysql and keystone are installed on 20.0.0.58)
[DEFAULT]
#.................... sql_connection = mysql://glance:glance@20.0.0.58/glance [paste_deploy] flavor=keystone [keystone_authtoken] auth_host = 20.0.0.58 auth_port = 35357 auth_protocol = http admin_tenant_name = admin admin_user = admin admin_password = openstack - Sync data to database "glance"
rm /etc/glance/glance.sqlite rm /var/lib/glance/glance.sqlite
glance-manage db_sync
mysql -u glance -pglance mysql> use glance mysql> show tables; mysql> exit - Restart glance services
service glance-registry restart service glance-api restart
- Verify Glance service
# wget -b https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img ##If you have set proxy, please get it as below## # https_proxy=http://localhost:3128 wget -b https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img ## Wait for complete by run## tail -f wget-log
# kvm-img info cirros-0.3.0-x86_64-disk.imgimage: cirros-0.3.0-x86_64-disk.imgfile format: qcow2virtual size: 39M (41126400 bytes)disk size: 9.3Mcluster_size: 65536##Import an existing image to Glance### source /root/keystone_admin# glance image-create --name "cirros-0.3.0-x86_64" --disk-format qcow2 --container-format bare --is-public true --file cirros-0.3.0-x86_64-disk.img+------------------+--------------------------------------+| Property | Value |+------------------+--------------------------------------+| checksum | 50bdc35edb03a38d91b1b071afb20a3c || container_format | bare || created_at | 2013-10-31T11:15:10 || deleted | False || deleted_at | None || disk_format | qcow2 || id | f3aea503-3ffe-48a0-8fb9-a18c68ca7d7e || is_public | True || min_disk | 0 || min_ram | 0 || name | cirros-0.3.0-x86_64 || owner | 61bafc18ba26451f853d6dc85292e09c || protected | False || size | 9761280 || status | active || updated_at | 2013-10-31T11:15:10 |+------------------+--------------------------------------+# glance indexID Name Disk Format Container Format Size------------------------------------ ------------------------------ -------------------- -------------------- --------------f3aea503-3ffe-48a0-8fb9-a18c68ca7d7e cirros-0.3.0-x86_64 qcow2 bare 9761280
- Install glance
- Install Nova
-
Install below component on controllers
# apt-get install nova-novncproxy novnc nova-api nova-ajax-console-proxy nova-cert nova-conductor nova-consoleauth nova-doc nova-scheduler
- Create database "nova" for nova service
mysql -u root -popenstack CREATE DATABASE nova; GRANT ALL ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova'; GRANT ALL ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
- Create nova service in keystone
# source /root/keystone_admin # keystone service-create --name compute --type compute --description "OpenStack Compute Service" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Compute Service | | id | b21f848587614ec99de917beef768b0a | | name | compute | | type | compute | +-------------+----------------------------------+ ##Change id and IP@ here## # keystone endpoint-create --service-id b21f848587614ec99de917beef768b0a --publicurl "http://20.0.0.58:8774/v2/%(tenant_id)s" --adminurl "http://20.0.0.58:8774/v2/%(tenant_id)s" --internalurl "http://20.0.0.58:8774/v2/%(tenant_id)s" --region shanghai +-------------+----------------------------------------+ | Property | Value | +-------------+----------------------------------------+ | adminurl | http://20.0.0.58:8774/v2/%(tenant_id)s | | id | 956df959361d453d9f9e99f55c68652c | | internalurl | http://20.0.0.58:8774/v2/%(tenant_id)s | | publicurl | http://20.0.0.58:8774/v2/%(tenant_id)s | | region | shanghai | | service_id | b21f848587614ec99de917beef768b0a | +-------------+----------------------------------------+
- Edit /etc/nova/nova.conf (vnc server, mysql server and rabbit server are installed on 20.0.0.58 here, please change it as your need)
[DEFAULT]
#................. my_ip=20.0.0.58 novnc_enabled=True novncproxy_base_url = http://20.0.0.58:6080/vnc_auto.html vncserver_listen=0.0.0.0 vncserver_proxyclient_address=20.0.0.58 auth_strategy=keystone rpc_backend = nova.rpc.impl_kombu rabbit_host = 20.0.0.58 [database] connection = mysql://nova:nova@20.0.0.58/nova - Edit /etc/nova/api-paste.ini (keystone is installed on 20.0.0.58, change it as your need)
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory auth_host = 20.0.0.58 auth_port = 35357 auth_protocol = http admin_tenant_name = admin admin_user = admin admin_password = openstack
- Sync data to database "nova"
nova-manage db sync mysql -u nova -pnova mysql > use nova; mysql> show tables;
- Restart nova services
service nova-api restart service nova-cert restart service nova-consoleauth restart service nova-scheduler restart service nova-conductor restart service nova-novncproxy restart
- Verify nova controll services
# apt-get install python-novaclient # glance index ID Name Disk Format Container Format Size ------------------------------------ ------------------------------ -------------------- -------------------- -------------- f3aea503-3ffe-48a0-8fb9-a18c68ca7d7e cirros-0.3.0-x86_64 qcow2 bare 9761280 # nova image-list +--------------------------------------+---------------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+---------------------+--------+--------+ | f3aea503-3ffe-48a0-8fb9-a18c68ca7d7e | cirros-0.3.0-x86_64 | ACTIVE | | +--------------------------------------+---------------------+--------+--------+
-
- Check hostname
- 計算節點(一)Ubuntu58環境配置
- Install nova compute component with kvm support
# apt-get install nova-compute-kvm python-guestfs chmod 0644 /boot/vmlinuz* rm /var/lib/nova/nova.sqlite
- Edit /etc/nova/nova.conf and add below line (here Glance is installed on 20.0.0.58, change it as your need)
[DEFAULT]
#............... glance_host=20.0.0.58 - Restart nova compute service
# service nova-compute restart
- Install nova network component
# apt-get install nova-network
- Edit /etc/nova/nova.conf and add below lines (192.168.22.0/24 is virtual network for VMs, change it as your condition)
[DEFAULT]
#..................... network_manager=nova.network.manager.FlatDHCPManager firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver network_size=256 allow_same_net_traffic=False multi_host=True send_arp_for_ha=True share_dhcp_address=True force_dhcp_release=True flat_network_bridge=br100 flat_interface=eth1 flat_injected=False public_interface=eth0 fixed_range=192.168.22.0/24 rabbit_host=20.0.0.58 #flat_network_dhcp_start=192.168.22.2 - Restart all services on this node(controller and compute components)
service nova-api restart service nova-cert restart service nova-consoleauth restart service nova-compute restart service nova-network restart service nova-scheduler restart service nova-conductor restart service nova-novncproxy restart service libvirt-bin restart service rabbitmq-server restart
- Verify Nova services(control and compute) on this node
# nova-manage service list Binary Host Zone Status State Updated_At nova-cert ubuntu58 internal enabled :-) 2013-10-31 19:29:42 nova-scheduler ubuntu58 internal enabled :-) 2013-10-31 19:29:42 nova-conductor ubuntu58 internal enabled :-) 2013-10-31 19:29:42 nova-consoleauth ubuntu58 internal enabled :-) 2013-10-31 19:29:42 nova-compute ubuntu58 nova enabled :-) 2013-10-31 19:29:41 nova-network ubuntu58 internal enabled :-) 2013-10-31 19:29:46 #nova list
- Create a private network for VMs corresponding to above network configuration in "/etc/nova/nova.conf"
# nova-manage network list ##Create a new private network## # nova-manage network create private --multi_host=T --fixed_range_v4=192.168.22.0/24 --bridge_interface=br100 --num_networks=1 --network_size=256 # nova-manage network list id IPv4 IPv6 start address DNS1 DNS2 VlanID project uuid 2 192.168.22.0/24 None 192.168.22.2 8.8.4.4 None None None ee7c97fe-39f8-483a-a799-419e91f90d8a
- Install nova compute component with kvm support
- 計算節點(二)Ubuntu59環境配置
- 檢查hostname
# cat /etc/hosts 127.0.0.1 localhost ubuntu59
- edit interfaces as
# cat /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 20.0.0.59 netmask 255.255.255.0 network 20.0.0.0 broadcast 20.0.0.255 gateway 20.0.0.1 auto eth1 iface eth1 inet manual up ifconfig eth1 up # /etc/init.d/networking restart
- Add openstack software version Havana repository
# apt-get install python-software-properties # apt-get install ubuntu-cloud-keyring # add-apt-repository cloud-archive:havana
- Install nova-compute and nova network component
# apt-get install nova-compute-kvm python-guestfs # chmod 0644 /boot/vmlinuz* # rm /var/lib/nova/nova.sqlite # apt-get install python-novaclient # apt-get install nova-network
- Set environment for admin user
# cat /root/keystone_admin export OS_USERNAME=admin export OS_TENANT_NAME=admin export OS_PASSWORD=openstack export OS_AUTH_URL=http://20.0.0.58:35357/v2.0/ export PS1='[\u@\h \W(keystone_admin)]\$ '
- 修改文件屬性
chown -R nova:nova /var/lib/nova/ chown -R nova:nova /var/log/nova/
- Edit file "/etc/nova/nova.conf" and add below lines (vnc server, glance,keystone, rabbit server, mysql are all on 20.0.0.58, please change it as your condition)
[DEFAULT] .............. my_ip=20.0.0.59 novnc_enabled=True novncproxy_base_url = http://20.0.0.58:6080/vnc_auto.html vncserver_listen=0.0.0.0 vncserver_proxyclient_address=20.0.0.59 auth_strategy=keystone glance_host=20.0.0.58 network_manager=nova.network.manager.FlatDHCPManager firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver network_size=256 allow_same_net_traffic=False multi_host=True send_arp_for_ha=True share_dhcp_address=True force_dhcp_release=True flat_network_bridge=br100 flat_interface=eth1 flat_injected=False public_interface=eth0 fixed_range=192.168.22.0/24 rabbit_host=20.0.0.58 #flat_network_dhcp_start=192.168.22.2 [database] connection = mysql://nova:nova@20.0.0.58/nova
- Edit "/etc/nova/api-paste.ini" and change below lines
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory auth_host = 20.0.0.58 auth_port = 35357 auth_protocol = http admin_tenant_name = admin admin_user = admin admin_password = openstack
- Restart nova compute and network service
source /root/keystone_admin service nova-compute restart service nova-network restart service libvirt-bin restart
- Verify nova compute and network service
# source /root/keystone_admin #nova-manage service list Binary Host Zone Status State Updated_At nova-cert ubuntu58 internal enabled :-) 2013-11-01 22:53:31 nova-scheduler ubuntu58 internal enabled :-) 2013-11-01 22:53:35 nova-conductor ubuntu58 internal enabled :-) 2013-11-01 22:53:31 nova-consoleauth ubuntu58 internal enabled :-) 2013-11-01 22:53:32 nova-compute ubuntu58 nova enabled :-) 2013-11-01 22:53:31 nova-network ubuntu58 internal enabled :-) 2013-11-01 22:53:31 nova-compute ubuntu59 nova enabled :-) 2013-11-01 22:53:30 nova-network ubuntu59 internal enabled :-) 2013-11-01 22:53:34 #nova list #nova image-list # nova service-list +------------------+----------+----------+---------+-------+----------------------------+-----------------+ | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | +------------------+----------+----------+---------+-------+----------------------------+-----------------+ | nova-cert | ubuntu58 | internal | enabled | up | 2013-11-01T22:54:21.000000 | None | | nova-scheduler | ubuntu58 | internal | enabled | up | 2013-11-01T22:54:25.000000 | None | | nova-conductor | ubuntu58 | internal | enabled | up | 2013-11-01T22:54:21.000000 | None | | nova-consoleauth | ubuntu58 | internal | enabled | up | 2013-11-01T22:54:22.000000 | None | | nova-compute | ubuntu58 | nova | enabled | up | 2013-11-01T22:54:21.000000 | None | | nova-network | ubuntu58 | internal | enabled | up | 2013-11-01T22:54:21.000000 | None | | nova-compute | ubuntu59 | nova | enabled | up | 2013-11-01T22:54:30.000000 | None | | nova-network | ubuntu59 | internal | enabled | up | 2013-11-01T22:54:24.000000 | None | +------------------+----------+----------+---------+-------+----------------------------+-----------------+
- 檢查hostname
- 更多計算節點的安裝部署
- 請參考本文章第6步
- 安裝Dashboard到控制節點
- Install dashboard softwares
# apt-get install memcached libapache2-mod-wsgi openstack-dashboard # apt-get remove --purge openstack-dashboard-ubuntu-theme
- Edit /etc/memcached.conf and delete below line
-l 127.0.0.1
- Edit /etc/openstack-dashboard/local_settings.py (memcached and keystone are installed on 20.0.0.58, chagne it as your need)
##注釋下面幾行## #CACHES = { # 'default': { # 'BACKEND' : 'django.core.cache.backends.locmem.LocMemCache' # } #} ##修改下面幾行## DEBUG = True TEMPLATE_DEBUG = True OPENSTACK_HOST = "20.0.0.58" ##添加下面幾行## PROD = True USE_SSL = False SITE_BRANDING = 'Openstack Dashboard' ENBLE_JUJU_PANEL = True CACHE_BACKEND = 'memcached://20.0.0.58:11211/'
- Restart http server for dashboard
service apache2 restart service memcached restart
- Verify Dashboard to access http://20.0.0.58/horizon (Change 20.0.0.58 as your need)
admin/openstack (admin user in project/tenant "admin") eagle1/openstack (one of user in project/tenant "TenantEagles")
- Install dashboard softwares
- 測試(TBD)