[英]install openstack identity service found “cliff.app not found(HTTP 404)”
[英]Manual Openstack Install: WARNING: … No Policy rules for service 'identity'
手動安裝 Openstack Train 版本。
當以非管理員角色登錄 Horizon 儀表板並單擊儀表板時,右上角會彈出錯誤。
具體來說,在 Compute > Images 下會出現兩個錯誤:
查看 httpd 的 error_log 會一遍又一遍地顯示這些錯誤:
WARNING openstack_auth.policy No policy rules for service 'network' in /usr/share/openstack-dashboard/openstack_dashboard/conf/neutron_policy.json
WARNING openstack_auth.policy No policy rules for service 'identity' in /usr/share/openstack-dashboard/openstack_dashboard/conf/keystone_policy.json
嘗試將 go 到/usr/share/openstack-dashboard/openstack_dashboard/
並查看 keystone_policy.json 或 neutron_policy.Z466DEEC76ECDF5FCA6D38571F63245 目錄時缺少文件。
Openstack 聲明每個服務都有自己的 policy.json 文件(或 yaml,如果使用較新版本)。 Openstack 文檔但是,當我將 go 轉到服務文件時,它們是空的。 我的問題是是否可以簡單地創建這些 policy.json 文件? Openstack 文檔指出不建議更改 policy.json 文件,這讓我認為這是一個錯誤。 其他人是否遇到過類似的問題?
更新
我已經在/usr/share/openstack-dashboard/openstack_dashboard
下創建了conf
目錄。 然后,我使用 oslo 生成器使用以下命令為每個服務創建新的策略文件: oslopolicy-policy-generator --namespace keystone --output-file keystone_policy.json
我重新啟動了 apache 並以管理員身份登錄到 Horizon,發現我的管理員用戶無法創建項目、用戶或角色。
目前被困在這個問題上大約一個星期。
有人有類似的問題嗎?
我自己經歷了這個問題的一部分。
例如,在glance
部分,所有策略都在 glncs-api/registry hosts /etc/glance/policy.json
中定義,並且相同的文件存在於我的儀表板集群中的路徑/etc/openstack-dashboard
下。 在local_settings
查找POLICY_FILES =
部分並將其注釋掉,這樣role = user
就不會遇到錯誤。
至於政策下的identity
POLICY_FILES = {
'identity': 'keystone_policy.json',
}
您必須確保keystone_policy.json
存在於 openstack-dashboard 路徑下。
作為用戶角色,您將看到您擁有/成員的項目沒有錯誤。
我已經進行了這些更改,現在在測試環境中運行,然后再投入生產,以確保所有更改都不會造成損害。
所以看起來 yaml 文件在 Train 版本中可能無法正常工作。
oslopolicy-policy-generator --namespace keystone --output-file keystone_policy.json
命令生成一個以.json 結尾的文件,但實際上看起來像 Z6EEDC03A68A69933C763ZE674F2D7C42F。
當放置在/usr/share/openstack-dashboard/openstack_dashboard/conf
文件夾中時,策略文件未正確應用。
以下命令最終解決了我與策略文件有關的所有問題:
oslopolicy-policy-upgrade \
--config-file /etc/keystone/keystone.conf \
--format json \
--namespace keystone \
--output-file keystone_policy_2.json \
--policy keystone_policy.json
檢查/var/log/keystone/keystone.log
時,注意到以下消息:
Deprecated policy rules found. Use oslopolicy-policy-generator and oslopolicy-policy-upgrade to detect and resolve deprecated policies in your configuration.
這就是促使使用oslopolicy-policy-upgrade -h
的原因
還要確保/openstack_dashboard/defaults.py
說以下內容:
POLICY_FILES = {
'identity': 'keystone_policy.json',
'compute': 'nova_policy.json',
'volume': 'cinder_policy.json',
'image': 'glance_policy.json',
'network': 'neutron_policy.json',
}
我想指出,這兩個不同的命令輸出了兩個不同的 keystone_policy.json 文件。 第一個命令有很多關於 system_scope:all 的提及,第二個命令有更簡單的規則,例如:“identity:list_users_in_group”:“rule:admin_required”。 所以也許這與使用 IdentityV3 和 V2 有關?
我不確定。 但我很高興權限被正確應用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.