菜鳥幫你跳過openstack配置過程中的坑
一:前言
對於一個以前做java全棧工程師而言,而且沒學過Linux,很少用虛擬機(還是在大學的時候簡單的用過),去配置openstack我想我入的坑肯定比有基礎的一定要多,躺在每個坑中徘徊思索的時間一定比老鳥們久。所以現在總結一下openstack在配置過程中的幾大坑點,讓各位在配置過程中不再問天問大地,靈魂一片片雕落。
1. 如果是新手一定要學會用快照,一定要多用快照,從鏡像安裝完成開始,最好每一個章節模塊配置完成後都用上一個快照,人生苦短,快照幫你性感。
2.一定要仔細看配種配置以及環境要求,比如控制節點: 1 處理器, 4 GB 內存, 及5 GB 存儲,環境沒達到只能當練手。
3.一定要選擇自己要配置的版本,openstack目前版本不定更新,所以如果不固定版本,只從官方文檔打開,將給配置帶來很多問題。
二:入坑指南
1.坑一SQL數據庫
在為數據庫的root設置適當密碼時一定要註意,一步錯誤後面將直接無法賦予權限,那麽應該怎麽設置嘞?看下面。
建議直接運行命令# echo -e "\nY\n123456\n123456\nY\nn\nY\nY\n" | mysql_secure_installation
2.坑二配置Linuxbridge代理
這兩個地方在compute和controller中將配置什麽嘞?
直接揭曉答案吧,physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME在controller和compute中都配置第二個網盤的名字。
local_ip = OVERLAY_INTERFACE_IP_ADDRESS看名字local_ip本地ip嘛,所以在controller和compute中分別配置各自的靜態ip。
3.坑三Networking 服務neutron agent-list中不顯示compute
這個可能原因有很多,但從我的錯誤來看,,你關閉了防火墻嗎??你關閉了SELinux嗎?? SELinux怎麽關閉??
查看SELinux狀態:
1、/usr/sbin/sestatus -v ##如果SELinux status參數為enabled即為開啟狀態
SELinux status: enabled
2、getenforce ##也可以用這個命令檢查
關閉SELinux:
1、臨時關閉(不用重啟機器):
setenforce 0 ##設置SELinux 成為permissive模式
##setenforce 1 設置SELinux 成為enforcing模式
2、修改配置文件需要重啟機器:
修改/etc/selinux/config 文件
將SELINUX=enforcing改為SELINUX=disabled
重啟機器即可
4.坑點四openstack中dashboard頁面RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.
環境是centos7,直接跑在服務器上。
按照官網一步步安裝openstack,到驗證dashborad時出錯。
登錄http://192.168.1.73/dashboard ,輸入域名,用戶名,密碼,出現錯誤,無法進入界面
tail -40 /etc/httpd/logs/error_log 查看打印
發現
[Sat Aug 12 19:42:16.701521 2017] [:error] [pid 10885] Could not process panel theme_preview: Dashboard with slug "developer" is not registered. [Sat Aug 12 19:44:41.533207 2017] [:error] [pid 10885] Login successful for user "admin". [Sat Aug 12 19:45:52.537140 2017] [:error] [pid 10885] Internal Server Error: /dashboard/auth/login/ [Sat Aug 12 19:45:52.556116 2017] [:error] [pid 10885] Traceback (most recent call last): [Sat Aug 12 19:45:52.556129 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 223, in get_response [Sat Aug 12 19:45:52.556135 2017] [:error] [pid 10885] response = middleware_method(request, response) [Sat Aug 12 19:45:52.556140 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/contrib/sessions/middleware.py", line 50, in process_response [Sat Aug 12 19:45:52.556145 2017] [:error] [pid 10885] request.session.save() [Sat Aug 12 19:45:52.556148 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/contrib/sessions/backends/cache.py", line 53, in save [Sat Aug 12 19:45:52.556153 2017] [:error] [pid 10885] return self.create() [Sat Aug 12 19:45:52.556157 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/contrib/sessions/backends/cache.py", line 48, in create [Sat Aug 12 19:45:52.556180 2017] [:error] [pid 10885] "Unable to create a new session key. " [Sat Aug 12 19:45:52.556185 2017] [:error] [pid 10885] RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable. [Sat Aug 12 20:15:27.128247 2017] [:error] [pid 10885] Login successful for user "admin". [Sat Aug 12 20:15:33.377599 2017] [:error] [pid 10885] Internal Server Error: /dashboard/auth/login/ [Sat Aug 12 20:15:33.377660 2017] [:error] [pid 10885] Traceback (most recent call last): [Sat Aug 12 20:15:33.377665 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response [Sat Aug 12 20:15:33.377668 2017] [:error] [pid 10885] response = wrapped_callback(request, *callback_args, **callback_kwargs) [Sat Aug 12 20:15:33.377671 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/views/decorators/debug.py", line 76, in sensitive_post_parameters_wrapper [Sat Aug 12 20:15:33.377674 2017] [:error] [pid 10885] return view(request, *args, **kwargs) [Sat Aug 12 20:15:33.377677 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 110, in _wrapped_view [Sat Aug 12 20:15:33.377680 2017] [:error] [pid 10885] response = view_func(request, *args, **kwargs) [Sat Aug 12 20:15:33.377682 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func [Sat Aug 12 20:15:33.377685 2017] [:error] [pid 10885] response = view_func(request, *args, **kwargs) [Sat Aug 12 20:15:33.377688 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/openstack_auth/views.py", line 103, in login [Sat Aug 12 20:15:33.377691 2017] [:error] [pid 10885] **kwargs) [Sat Aug 12 20:15:33.377694 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/views/decorators/debug.py", line 76, in sensitive_post_parameters_wrapper [Sat Aug 12 20:15:33.377697 2017] [:error] [pid 10885] return view(request, *args, **kwargs) [Sat Aug 12 20:15:33.377699 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 110, in _wrapped_view [Sat Aug 12 20:15:33.377702 2017] [:error] [pid 10885] response = view_func(request, *args, **kwargs) [Sat Aug 12 20:15:33.377704 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func [Sat Aug 12 20:15:33.377707 2017] [:error] [pid 10885] response = view_func(request, *args, **kwargs) [Sat Aug 12 20:15:33.377709 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/contrib/auth/views.py", line 51, in login [Sat Aug 12 20:15:33.377712 2017] [:error] [pid 10885] auth_login(request, form.get_user()) [Sat Aug 12 20:15:33.377714 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 110, in login [Sat Aug 12 20:15:33.377717 2017] [:error] [pid 10885] request.session.cycle_key() [Sat Aug 12 20:15:33.377720 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 285, in cycle_key [Sat Aug 12 20:15:33.377723 2017] [:error] [pid 10885] self.create() [Sat Aug 12 20:15:33.377725 2017] [:error] [pid 10885] File "/usr/lib/python2.7/site-packages/django/contrib/sessions/backends/cache.py", line 48, in create [Sat Aug 12 20:15:33.377728 2017] [:error] [pid 10885] "Unable to create a new session key. " [Sat Aug 12 20:15:33.377730 2017] [:error] [pid 10885] RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.
意思大概是:
因為它周期性連接到非本地緩存有問題。官網寫的有bug。
把/etc/openstack-dashboard/local_settings 中 SESSION_ENGINE = ‘django.contrib.sessions.backends.cache‘ 應改為
SESSION_ENGINE = ‘django.contrib.sessions.backends.file‘
重啟服務,然後重新登錄成功。
三: 提問榜
以上是我在部署openstack過程中遇到的幾個疑問點,可能“亂拳打死老師傅”一般避開了各位的疑難點,各位可在留言中向我提問,願意向各位討教!----yh
菜鳥幫你跳過openstack配置過程中的坑