在我使用openstacksdk更改密码后,无法检索我的Project和Admin面板的资源,但可以检索Identity资源:
conn.identity.update_user(user_id, password=new_password) # after this step, the Project and Admin resources can not be retrieved.
现在无法检索我的项目和管理员资源:
但Identity资源可以检索:
请注意,当我登录openstack仪表板时,我仍然使用old_password,无法使用new_password登录openstack仪表板。
而且,如果我使用conn.identity.update_user
方法更改为old_password,那么问题就会消失,这将会变得正常。
编辑-1
我使用命令:
openstack role assignment list --names
检查角色分配列表:
[root@controller ~]# openstack role assignment list --names
+-------+-------------------+-------+-----------------+--------+-----------+
| Role | User | Group | Project | Domain | Inherited |
+-------+-------------------+-------+-----------------+--------+-----------+
| user | demo@Default | | demo@Default | | False |
| admin | nova@Default | | service@Default | | False |
| admin | cinder@Default | | service@Default | | False |
| admin | glance@Default | | service@Default | | False |
| admin | placement@Default | | service@Default | | False |
| admin | neutron@Default | | service@Default | | False |
| admin | admin@Default | | admin@Default | | False |
+-------+-------------------+-------+-----------------+--------+-----------+
答案 0 :(得分:0)
此声音就像一个角色问题。我会使用其中一个OpenStack CLI来检查角色:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body ng-app="MyApp">
<div ng-controller="MyCtrl">
<ul ng-repeat="user in users">
<li>{{user}}</li>
</ul>
<div class="nested" ng-controller="AnotherCtrl">
First user: {{firstUser}}
</div>
</div>
</body>
假设最新版本的OpenStack,就像那样。我对Horizon的了解不足以了解查看这些页面所需的角色。